- CLAUDE.md: 97->63 lines, drop dev-commands and Don't duplicates already covered by .claude/rules/* - git-pr.md, deploy.md: replace gh CLI with Forgejo MCP/curl - code-reviewer.md: fix mcp__postgres__ -> mcp__postgres-gendesign__ - tech-analyst.md: sonnet -> haiku - deep-code-reviewer.md: 391->135 lines, phase details split into .claude/agents/deep-review-phases/ (loaded on demand) - qa-tester, code-reviewer, deep-code-reviewer: add memory: project - ui-ux.md: split into ui-tokens/ui-conventions/ui-microcopy - scripts/claude-hooks/check-no-print.py + PostToolUse hook - .gitignore: explicit list (git whitelist limitation)
2 KiB
2 KiB
| paths | |||||
|---|---|---|---|---|---|
|
Deploy conventions
GHA path triggers
backend/**,frontend/**,Caddyfile,docker-compose.prod.yml,data/sql/*.sql→deploy.yml(main stack)docker-compose.obsidian.yml,scripts/setup-couchdb.sh→deploy-obsidian.ymldocs/**alone → НЕ триггерит деплой
После изменения .env на VPS
docker compose up -d --force-recreate --no-deps <service>
docker compose restart НЕ перечитывает env_file.
Caddyfile
Bind-mounted → нужен явный caddy reload после изменения. deploy.yml делает автоматически после compose up -d.
Sentry release tracking
SENTRY_RELEASE=$IMAGE_TAG пишется в backend/.env.runtime на VPS через sed — не полная перезапись файла (там user-managed COUCHDB_PASSWORD и пр.).
VPS git state
deploy.yml делает git reset --hard origin/main → любые ручные правки в /opt/gendesign стираются. .env-файлы выживают (в .gitignore).
DB migrations через deploy
data/sql/NN_*.sql применяются до compose up -d. Если SQL падает → deploy останавливается (exit 1), containers не обновляются.
Diagnose: GHA log "Apply DB migrations". См. .claude/rules/sql.md для migration order.
Запреты
- ❌ Менять
env_fileсекреты вdocker-compose*.yml— секреты через VPS.envфайлы - ❌ Полностью перезаписывать
.env.runtime— толькоsedдля конкретных переменных - ❌
git pullна VPS вручную — deploy.yml уже делаетgit reset --hard - ❌ Hardcode tags / SHA в compose files —
${IMAGE_TAG}через env