- Standalone SQS-service repository - Multi-tenant message queue service, AWS SQS compatible - Based on GoAws, with mutable tenants, auth, WebUI, Redis persistence - Ready for independent development and deployment - See doc/ and README.md for architecture and usage
92 lines
4.5 KiB
Markdown
92 lines
4.5 KiB
Markdown
# Правила работы агента в этом проекте
|
||
|
||
## ГЛАВНОЕ ПРАВИЛО
|
||
|
||
**НЕ "СОВЕРШЕНСТВОВАТЬ" РАБОЧИЙ КОД БЕЗ ЯВНОГО УКАЗАНИЯ.**
|
||
|
||
---
|
||
|
||
## ЗАПРЕТ НА ВЫДУМКИ
|
||
|
||
**КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ придумывать, догадываться или предполагать:**
|
||
- значения параметров, которые не видны в коде или документации
|
||
- допустимые значения 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
|
||
|
||
Коммитить и пушить после каждого завершённого этапа.
|