CLAUDE.md
Рабочие соглашения проекта gntodo (см. docs/TZ.md — источник требований).
Язык
- Общаемся и документируем по-русски; идентификаторы кода — английские.
Стек и конвенции
- Backend: Python 3.12, FastAPI, uv. Линтер ruff (line-length 100), mypy strict. Зависимости через uv (
uv add); gnexus-gauth — git-зависимость.
- Frontend: Vue 3 + TypeScript + Vite. UI только через gnexus-ui-kit (git-зависимость, НЕ форкать и не копировать стили — кит часто обновляется; использовать публичный API). Принцип: используем максимум готовых Vue-компонентов кита (Gn*), сырой HTML — только когда в ките нет подходящего компонента.
- Не редактировать файлы зависимостей в node_modules/.venv.
- Формат ответов API: /api/* префикс. Конфиг — из окружения (pydantic-settings), .env не коммитим.
ТЗ
Требования живут в docs/TZ.md — при расхождении кода с ТЗ ТЗ правится явно (версия в шапке). Открытые вопросы ТЗ не реализуем молча — обсуждаем.
Вехи
M0 каркас → M1 MVP задач → M2 автодетализация (Ollama) → M3 дерево → M4 прогнозы/«3 варианта» → M5 MCP → M6 PWA → M7 Docker.