docs: refine backend conventions and routing
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 2m12s
Conventional commits / commits (pull_request) Successful in 25s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 2m3s
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 2m12s
Conventional commits / commits (pull_request) Successful in 25s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 2m3s
This commit is contained in:
@@ -1,30 +1,27 @@
|
||||
# Backend
|
||||
# Backend router
|
||||
|
||||
NestJS API; общие правила работы — в root `AGENTS.md`.
|
||||
До backend-решения прочитай [router](.ai/CONVENTIONS.md) и
|
||||
[sources](.ai/SOURCES.md), затем только применимые документы/разделы.
|
||||
Общие инструкции — [workspace AGENTS](../AGENTS.md). Объединяй triggers задачи,
|
||||
путей и обнаруженных boundaries; читай только нужные темы до решения.
|
||||
[Sources](.ai/SOURCES.md) выбирает факты/spec/ADR по возникшему вопросу.
|
||||
|
||||
## Проверка
|
||||
| Решение / сигнал | Читать |
|
||||
| --- | --- |
|
||||
| Первое знакомство, data flow, общая архитектура | [Mental model](.ai/architecture.md) |
|
||||
| Module/layer/public API/DI/suffix, owner, перенос responsibility | [Modules/application](.ai/conventions/backend-architecture.md) |
|
||||
| TS vocabulary, domain literals, magic values | [Types/values](.ai/conventions/backend-architecture.md#domain-literals-and-magic-values) |
|
||||
| Controller/DTO/validation, route/status/response, OpenAPI | [HTTP API](.ai/conventions/backend-http-api.md) |
|
||||
| Application/domain/HTTP error, exception, code | [Errors](.ai/conventions/backend-error-handling.md) |
|
||||
| Repository/Prisma/query, transaction, migration, atomic write | [Data](.ai/conventions/backend-data.md) |
|
||||
| Tests или behavior с regression risk | [Testing](.ai/conventions/backend-testing.md) |
|
||||
| JWT/cookie/session/guard/access, encryption, secrets | [Security](.ai/conventions/security-auth.md) |
|
||||
| External client/gateway/SDK/proto, retry/rate limit/cache | [Integrations](.ai/conventions/backend-integrations.md) |
|
||||
| Logging/context/levels, sensitive logs | [Observability](.ai/conventions/backend-observability.md); sensitive data также Security |
|
||||
| Изменение публичного wire contract / Swagger metadata | HTTP API + [HTTP contract source](../docs/architecture/http-api.md#источник-контракта) |
|
||||
| Helper/dependency/новый pattern, refactor/scope | [Code health](../.ai/conventions/code-health.md), для пакета — [Dependencies](../.ai/conventions/dependencies.md) |
|
||||
| Выбор gate, tooling, завершение | [Guardrails](../.ai/conventions/guardrails.md) |
|
||||
|
||||
Перед Node-командами: `nvm use --silent` по `.nvmrc`.
|
||||
После lockfile install `npm ci` полный gate — `npm run verify`:
|
||||
zero-warning ESLint, application/test TypeScript, Jest и build.
|
||||
`lint:fix`/`format` пишут файлы и запускаются отдельно от доказательства проверки.
|
||||
`test:cov` — диагностика без общего threshold; scripts принадлежат `package.json`.
|
||||
|
||||
HTTP contract changes сохраняют [направление контракта](../docs/architecture/http-api.md#источник-контракта)
|
||||
и проходят contract check. Общий e2e запускается на отдельных временных DB;
|
||||
применимость и маршрут проверки
|
||||
описаны в [backend testing](.ai/conventions/backend-testing.md).
|
||||
Generated Prisma client не редактируется вручную. Credentials, авторизация
|
||||
доступа к счетам и внешние интеграции остаются server-side.
|
||||
|
||||
ESLint/TypeScript не доказывают правильность domain boundaries, security или
|
||||
денежных вычислений: для них нужны semantic review и risk-based tests.
|
||||
|
||||
## Ветки и релизы
|
||||
|
||||
Работа — в отдельной ветке от `develop`, затем PR в `develop`; в `main` напрямую
|
||||
не пушить. Release/hotfix и синхронизация веток — по [root README](../README.md#релизы-и-ветки).
|
||||
Commits и заголовки PR — Conventional Commits; для спецификаций допустим `spec:`.
|
||||
Перед подготовкой релиза прочитай root README; версии вручную не повышать.
|
||||
Новый endpoint обычно требует HTTP API + Testing; Data/Security добавляются
|
||||
по persistence/access trigger. Auth refresh активирует Security + Data + Testing.
|
||||
Повтори routing по итоговому diff, включая новые файлы. Migration backlog
|
||||
читается только при соответствующем finding через
|
||||
[plan](../.ai/migrations/conventions-v1/plan.md).
|
||||
|
||||
Reference in New Issue
Block a user