- 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
2.7 KiB
2.7 KiB
Git workflow
Ветки
main стабильная ветка, всегда deployable
dev текущая разработка (merge из feature-веток)
feat/<name> новый функционал
fix/<name> исправление бага
refactor/<name> рефакторинг без изменения поведения
chore/<name> инфраструктура, зависимости, CI
docs/<name> документация
Правила
mainзащищён — прямые коммиты запрещены- Все изменения через Pull Request из feature-ветки в
dev - Merge
dev→mainпри готовности к релизу - Feature-ветка живёт не дольше 3-5 дней
Conventional commits
Формат: type: description
| Тип | Когда |
|---|---|
feat |
Новый функционал |
fix |
Исправление бага |
refactor |
Рефакторинг без изменения поведения |
chore |
Зависимости, CI, конфигурация |
docs |
Документация |
test |
Добавление/изменение тестов |
style |
Форматирование (без изменения логики) |
Примеры:
feat: add LLM question generation endpoint
fix: correct test score calculation for multiple-choice
chore: update drizzle-orm to 0.35
docs: add LLM module description
refactor: extract subscription middleware
test: add auth service unit tests
Husky + lint-staged
npm install -D husky lint-staged
npx husky init
// package.json
{
"lint-staged": {
"*.{ts,js}": ["eslint --fix", "prettier --write"],
"*.{json,md}": ["prettier --write"]
}
}
# .husky/pre-commit
npx lint-staged
Commitlint
npm install -D @commitlint/cli @commitlint/config-conventional
// commitlint.config.ts
export default {
extends: ['@commitlint/config-conventional'],
}
# .husky/commit-msg
npx --no -- commitlint --edit $1
Pull Request
Чеклист перед PR
- Линтер проходит без ошибок
- Тесты проходят
- Нет
console.log(только logger) - Нет
anyбез обоснования - Коммиты соответствуют conventional commits
Описание PR
## Что сделано
<краткое описание изменений>
## Как тестировать
<шаги для проверки>
## Связанные задачи
<ссылки на issues если есть>