# Вечерний детектив — правила работы агента ## Структура - `evening_detective_server/` — отдельный Go-репозиторий бэкенда. - `evening_detective_frontend/` — отдельный Vue/TypeScript-репозиторий фронтенда. - `email_server/` — устаревающая инфраструктура собственного почтового сервера. - `.agents/` и `.codex/` — локальная конфигурация среды; не менять без явного запроса. ## Правила 1. Сначала изучай существующий поток и используй текущие паттерны проекта. 2. Делай минимальный целевой diff; не добавляй зависимости и абстракции без необходимости. 3. Не трогай вложенные `.git` и не смешивай историю двух дочерних репозиториев. 4. Коммиты и push выполняет только пользователь. Агент никогда не коммитит и не отправляет изменения. 5. Не добавляй `.env`, ключи, пароли, сертификаты и локальные артефакты в Git. 6. После нетривиальных изменений запускай краткую релевантную проверку и сообщай результат. ## Команды проверки - Бэкенд: `cd evening_detective_server && go test ./...` - Фронтенд: `cd evening_detective_frontend && npm run type-check && npm run lint && npm run lint:css` Для изменений protobuf сначала используй существующую команду `npm run proto:gen` во фронтенде и соответствующую генерацию в бэкенде. ## Работа со списком задач - Команды взаимодействия с агентом описаны в `docs/agent/README.md`. - Единственный источник задач — `docs/agent/TASKS.md`; не создавай task-файлы в дочерних репозиториях. - Используй только две канонические команды из `docs/agent/README.md`: `Новая задача:` и `Выполнить задачу:`. - Неизвестное или неполное сообщение не изменяет файлы и не запускает код: попроси пользователя использовать каноническую команду. - Для `Новая задача:` задай только необходимые вопросы, затем добавь задачу в `TASKS.md` со следующим ID, статусом `TODO`, приоритетом, целью, критериями готовности, проверкой и следующим шагом. Код не меняй. - Для `Выполнить задачу:` реализуй указанную задачу, запусти релевантные проверки и обнови её статус и результат в `TASKS.md`. - После любого действия сообщи ID задачи и результат; коммиты и push не выполняй.