- 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
27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# 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-контрактов требуют ручной синхронизации между репо
|