docs: add full project documentation
- Architecture: overview, 7 ADR, tech stack - Principles: code-style, git-workflow, security - API contracts: auth, profile, tests, admin endpoints - Database schema: tables, relationships, indexes - LLM strategy: prompts, fallback, validation, Qwen 2.5 14B - Onboarding: setup, Docker, .env template - Progress: roadmap, changelog - Agents: context, backend instructions Made-with: Cursor
This commit is contained in:
26
architecture/decisions/001-polyrepo.md
Normal file
26
architecture/decisions/001-polyrepo.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# ADR-001: Polyrepo вместо monorepo
|
||||
|
||||
## Статус
|
||||
|
||||
Принято
|
||||
|
||||
## Контекст
|
||||
|
||||
Нужно выбрать структуру репозиториев для проекта с отдельным backend и frontend.
|
||||
|
||||
## Варианты
|
||||
|
||||
1. **Monorepo** (один репо, npm workspaces / turborepo) — единый CI, общие типы, но сложнее настройка, тяжелее клонирование.
|
||||
2. **Polyrepo** (отдельные репозитории) — изолированные пайплайны, простой CI, независимый деплой.
|
||||
|
||||
## Решение
|
||||
|
||||
Polyrepo: `samreshu-backend`, `samreshu-frontend`, `samreshu-docs`.
|
||||
|
||||
Для команды из 1-2 человек monorepo-тулинг (turborepo, nx) создаёт overhead без ощутимой пользы. Backend и frontend деплоятся независимо, имеют разные зависимости и разные циклы релизов.
|
||||
|
||||
## Последствия
|
||||
|
||||
- Общие TypeScript-типы дублируются в каждом репо (без shared-пакета)
|
||||
- CI/CD настраивается отдельно для каждого репо
|
||||
- Изменения API-контрактов требуют ручной синхронизации между репо
|
||||
Reference in New Issue
Block a user