docs(project): sync docs with code and bump to 3.0.0

Prepare the 3.0.0 release:
- Bump the version in openapi.yaml and frontend/package.json to 3.0.0.
- Document the existing GET /health endpoint in openapi.yaml (served at the
  root, outside /api/v1) and refine the auth note.
- Add docs/REQUIREMENTS.md (product requirements, in English) and
  docs/ARCHITECTURE.md (system overview); remove the old Russian
  docs/Описание.md.
- Rewrite GO_PROJECT_STRUCTURE.md and FRONTEND_STRUCTURE.md to match the
  current code (dedup CLI, imagehash, real components/stores, Tailwind v4).
- Fix stale counts and references in CLAUDE.md and link the new docs from
  README.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 08:35:16 +03:00
parent 4883820f25
commit 28f5b5d150
9 changed files with 740 additions and 626 deletions
+34 -3
View File
@@ -5,8 +5,9 @@ info:
REST API for Tanabata File Manager — a multi-user, tag-based web file manager.
## Authentication
All endpoints except `POST /auth/login` require a Bearer JWT token
in the `Authorization` header.
All endpoints require a Bearer JWT token in the `Authorization` header,
except `POST /auth/login`, `POST /auth/refresh` (which carry their own
credentials) and `GET /health`.
## Pagination
- **Files**: cursor-based (`cursor` parameter, returned in `next_cursor`).
@@ -32,7 +33,7 @@ info:
Example: `{t=uuid1,&,!,t=uuid2}` → has tag1 AND NOT tag2.
Example: `{r=1,&,m~image%}` → needs review AND is an image.
version: 1.0.0
version: 3.0.0
license:
name: Proprietary
@@ -59,12 +60,42 @@ tags:
description: User management (admin)
- name: Audit
description: Audit log (admin)
- name: System
description: Service health and liveness
# ===========================================================================
# Paths
# ===========================================================================
paths:
# -------------------------------------------------------------------------
# System
# -------------------------------------------------------------------------
/health:
# Served at the server root, outside the /api/v1 prefix — override the
# global server so the documented path is /health, not /api/v1/health.
servers:
- url: /
get:
tags: [System]
summary: Health check
description: |
Liveness probe. Requires no authentication and is used by the container
HEALTHCHECK. Always returns 200 while the process is serving.
security: []
responses:
'200':
description: Service is healthy.
content:
application/json:
schema:
type: object
required: [status]
properties:
status:
type: string
example: ok
# -------------------------------------------------------------------------
# Auth
# -------------------------------------------------------------------------