gendesign/CLAUDE.md
lekss361 13dbe6e681 chore(claude-config): align with 2026 best practices
- 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)
2026-05-24 11:39:52 +03:00

4.7 KiB
Raw Blame History

GenDesign

Site Finder (AI-подбор инвест-участков) + Generative Design (концепции застройки) для девелоперов РФ. Live: https://gendsgn.ru/ — Свердловская обл. (ЕКБ, ПЗЗ, МСК-66).

Stack

Слой Stack
Backend Python 3.12, FastAPI, SQLAlchemy 2.0, GeoAlchemy2, Pydantic v2, Celery + Redis, httpx, Shapely 2
DB PostgreSQL 16 + PostGIS 3.4 (~50 таблиц, partitioned rosreestr_deals, GIST на geom)
Frontend Next.js 15 app router, React 19, TypeScript 5 strict, Tailwind 4, TanStack Query
Export WeasyPrint (PDF), ezdxf (DXF), openpyxl (Excel)
Tooling uv, ruff, mypy strict (selective), pytest, pre-commit, prettier
Deploy Beget VPS · Forgejo Actions → GHCR → SSH → docker-compose · Caddy
Knowledge Obsidian vault obsidian.gendsgn.ru (CouchDB LiveSync)

Critical rules

  1. Knowledge = Obsidian vault only. mcp__obsidian__* tools. Local mirror: C:\Users\user\Documents\gendesign-memory. Deprecated: memory/memory-gendesign.jsonl — не читай, не пиши.

  2. Branch + PR mandatory. Никаких direct push в main. feat/... / fix/... / refactor/... / docs/... / chore/... → ветка от forgejo/mainmcp__forgejo__create_pull_request → PR URL пользователю. После PR create — сразу Skill loop polling. gh CLI bypassed (2026-05-16). Полные правила: .claude/rules/git-pr.md.

  3. Agent-first workflow. Main session orchestrates ONLY — не пишет код inline. Любая задача >1 файл / >50 строк → subagent. Pre-push: spawn code-reviewer subagent на staged changes. Post-push review — внешнее окно Claude (НЕ дублировать).

  4. psycopg v3 only. import psycopg2 → ModuleNotFoundError. CAST(:x AS type) в SQL — никогда :x::type. Полные правила: .claude/rules/backend.md + sql.md.

  5. No --no-verify / --force / --amend. Pre-commit hooks обязательны. Hook падает → fix root cause.

  6. Vault обновляется вместе с кодом — в той же сессии. Используй /vault-write для новой записи (auto-routes через inbox → vault-overlord → правильная папка). НЕ пиши напрямую в fixes/ / decisions/ / code/modules/. Periodic cleanup: /sort-inbox (раскладка inbox), /retention-pass (архив устаревшего active в old/). Полные правила: meta/02_claude_usage.md + inbox/README.md в vault.

  7. Тестируй каждый mergemcp__playwright__* или curl ДО/сразу после deploy (post-deploy spawn qa-tester). Не доверяй "тесты прошли" без verify.

Subagents (.claude/agents/)

Agent Scope
tech-analyst Нечёткая / cross-domain задача → план
backend-engineer backend/app/** — FastAPI, Celery, scrapers, services
frontend-engineer frontend/src/** — Next.js, React, hooks
database-expert data/sql/**.sql, Alembic, EXPLAIN ANALYZE
devops-engineer docker-compose*.yml, Caddyfile, .github/workflows/**, .forgejo/workflows/**
code-reviewer Pre-push lint (security, correctness, conventions)

Routing: тривиально (typo, 1-line) → main session. Single-domain clear → worker. Cross-domain / нечётко → tech-analyst first. Worker → code-reviewer → main commits → push → PR.

Where to look

  • Path-scoped rules: .claude/rules/ (backend, frontend, sql, git-pr, deploy, ui-tokens, ui-conventions, ui-microcopy) — auto-loaded при работе с соответствующими файлами через paths: frontmatter
  • Personal preferences: ~/.claude/CLAUDE.md (cross-project: no auto-commit, no Co-Authored-By, no @claude)
  • Workflow memory: ~/.claude/projects/<repo>/memory/MEMORY.md index
  • Vault MOCs: meta/, domains/<area>/<area>-MOC.md, decisions/, fixes/, limitations/, code/patterns/
  • DB access: SSH tunnel ssh -N gendesignlocalhost:15432 · Credentials: vault meta/00_credentials.md

Don't (cross-domain — specifics → .claude/rules/)

  • Direct push в main / merge без approval
  • --no-verify / --amend / git push --force
  • Knowledge-файлы вне vault (docs/research/, notes/, wiki/)
  • Hardcode credentials в коде / коммитах