# Правила работы агента в этом проекте ## ГЛАВНОЕ ПРАВИЛО **НЕ "СОВЕРШЕНСТВОВАТЬ" РАБОЧИЙ КОД БЕЗ ЯВНОГО УКАЗАНИЯ.** --- ## ЗАПРЕТ НА ВЫДУМКИ **КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ придумывать, догадываться или предполагать:** - значения параметров, которые не видны в коде или документации - допустимые значения enum/ролей/типов — если не взяты из реального источника - поведение API, провайдеров, библиотек — если не подтверждено кодом или документацией - любые факты о системе, которые агент "знает" из общих соображений **Если информации нет — спросить у пользователя. Не угадывать.** Если код работает — не трогать. Никаких: - рефакторингов "попутно" - улучшений стиля - добавления комментариев / docstring - переименований переменных - "пока уж заодно поправлю" Делай только то, о чём явно попросили. Ничего лишнего. --- ## Комментарии в коде Комментарии — обязательны: - В начале каждого файла при создании или правке — дата и время изменения - На каждой функции/методе — краткое назначение - На нетривиальной логике — **почему** сделано именно так (не "что делает", а "зачем") Цель: любой агент в новом чате должен понять логику без дополнительных вопросов. --- ## Темп работы Не спешить. Перед каждым шагом — убедиться что предыдущий понят и согласован. --- ## Документация Всё важное фиксировать в `doc/`: - `doc/architecture/` — архитектура, стек, схемы - `doc/api/` — дизайн API - `doc/decisions/` — принятые решения с обоснованием - `doc/infrastructure/` — инфраструктура, кластер, сервисы - `doc/errors/` — ошибки и как решили - `doc/progress.md` — трекер задач Обновлять после каждого значимого изменения. --- ## Именование Имена должны быть **уникальными и осмысленными по всему проекту**: - имена файлов - имена функций/методов - имена переменных/констант - имена ресурсов (Terraform, Kubernetes и т.д.) Цель: чтобы поиск по проекту находил нужные сущности без неоднозначности, а имя сразу отражало назначение. Запрещены безликие и повторяющиеся имена вида `handler.py`, `handle`, `data`, `value`, `temp` без контекста. --- ## Лог мышления (обязательно) Каждый агент в каждом чате **обязан** вести лог своих рассуждений: - Папка: `doc/thinking/` - Файл: `ГГГГ-ММ-ДД.md` (по дате сессии) - В начале файла указать имя агента и модель - Если файл на текущую дату уже существует — дописывать в конец, добавив разделитель `---` и имя агента - Записывать **полный** ход мыслей: что анализирую, какие гипотезы, что нашёл, что отбросил, к чему пришёл, почему - Записывать **до** начала действий (план) и **после** (результат) Цель: пользователь должен видеть весь процесс рассуждений в читаемом виде. --- ## Git Коммитить и пушить после каждого завершённого этапа.