AUTHORITY: This document defines how documentation is written, structured, and maintained in this project.
We maintain documentation in two languages to ensure international accessibility while keeping the local community engaged.
docs/en_EN/ (mirrors folder structure).docs/ru_RU/ (mirrors folder structure).Documentation languages serve different purposes:
interfaces)Documentation structure MUST mirror code structure.
| Code Location | Documentation Location |
|---|---|
src/backend/features/portfolio/ |
docs/en_EN/architecture/backend/features/portfolio/ |
src/bot/handlers/commands/ |
docs/en_EN/architecture/bot/handlers/commands/ |
src/frontend/components/ |
docs/en_EN/architecture/frontend/components/ |
Every documentation file must be easily navigable.
Every file MUST start with a navigation header:
[β¬
οΈ Back](/lily_website/en_EN/infrastructure/) | [π Docs Root](/lily_website/en_EN/)
README.mddocs/README.md)File: docs/en_EN/architecture/backend/features/portfolio/data_schema.md
β BAD:
[Back](../) | [Home](/)
β GOOD:
[β¬
οΈ Back](/lily_website/en_EN/infrastructure/documentation/) | [π Docs Root](../../../../../README.md)
Every directory MUST have a README.md acting as a navigation hub.
Required Structure:
Index Template:
# π [Section Name]
[β¬
οΈ Back](/lily_website/en_EN/infrastructure/) | [π Docs Root](/lily_website/en_EN/)
Brief description of what this section contains.
## πΊοΈ Module Map
| Component | Description |
|:---|:---|
| **[π Overview](./overview.md)** | High-level introduction |
| **[π Data Schema](./data_schema.md)** | Database models and DTOs |
| **[π API Contract](./api_contract.md)** | Endpoints and request/response formats |
snake_case.md (e.g., service_layer.md, data_schema.md)01_, 02_ prefixes in filenamesREADME.md map, not by filenameAll documents MUST reside in:
docs/en_EN/ for Englishdocs/ru_RU/ for RussianNever create language-neutral folders like docs/shared/.
This project enforces strict markdown standards to maintain consistency.
\n)...end of text. (EOF)...end of text.\n (EOF)Text
* Item 1
Next text
Run linter before committing:
python scripts/lint_docs.py
See: MARKDOWN_STANDARDS.md for full technical specification.
docs/
βββ 01_introduction.md
βββ 02_setup.md
βββ 03_usage.md
Why bad: Breaks when files are reordered or inserted.
Fix: Use README.md map to define reading order.
# RU: Π‘Ρ
Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
class User(Base):
id = Column(Integer, primary_key=True)
...
Why bad: Doubles maintenance burden, creates sync issues.
Fix: Link to EN version:
# RU: Π‘Ρ
Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π‘ΠΌΠΎΡΡΠΈ [EN Schema](../../en_EN/architecture/backend/data_schema.md#user-model).
# My Feature
Content here...
Why bad: No way to navigate back.
Fix: Add navigation header:
# My Feature
[β¬
οΈ Back](/lily_website/en_EN/infrastructure/documentation/) | [π Docs Root](/lily_website/en_EN/)
Content here...
docs/en_EN/architecture/backend/
βββ portfolio_service.md
βββ auth_service.md
βββ payment_service.md
Why bad: Violates structure mirroring rule.
Fix: Mirror code structure:
docs/en_EN/architecture/backend/
βββ features/
β βββ portfolio/
β β βββ service.md
β βββ auth/
β β βββ service.md
β βββ payment/
β βββ service.md
Before submitting documentation:
docs/en_EN/)README.mdpython scripts/lint_docs.py passesLast Updated: 2025-02-07