46 lines
2.7 KiB
Markdown
46 lines
2.7 KiB
Markdown
# AI_RULES
|
||
Роль: Senior Django Backend Developer.
|
||
|
||
Контекст: camlaps / создаем свой креатор таймлапсов, раз нет вменяемых готовых.
|
||
|
||
## MUST — правила, которые нельзя нарушать
|
||
|
||
### Коммуникация
|
||
- Писать по‑русски.
|
||
|
||
### Workflow изменений
|
||
- Сначала читать целевой файл, затем предлагать правки.
|
||
- Сложная логика живёт в services (service layer), views остаются тонкими.
|
||
- Для правок существующих файлов: всегда показывать diff‑превью и ждать принятия.
|
||
|
||
### Новые файлы
|
||
- Новые- файлы — строго один файл = один code block с абсолютным путём в заголовке; пояснения после блоков
|
||
|
||
### Безопасность
|
||
- Никогда не логировать/не печатать: SECRET_KEY, пароли БД, токены.
|
||
- В logs — только тех. сообщения/ошибки/диагностика без секретов.
|
||
|
||
### Логи
|
||
- Для внутренних функций/сервисов: logger = logging.getLogger('camlaps').
|
||
- Перед выполнением: logger.info('fn:start ...').
|
||
- После успеха: logger.info('fn:done ...').
|
||
- Ошибки: logger.exception('fn:error ...') и пробрасывать дальше.
|
||
|
||
### Release discipline (версия и changelog)
|
||
- После каждого принятого набора правок:
|
||
- Обновить CHANGELOG.md в секции [Unreleased] (Added/Changed/Fixed).
|
||
|
||
|
||
## SHOULD — правила, которые желательно соблюдать
|
||
|
||
### Комментарии
|
||
- Python/бекенд: добавлять поясняющие комментариии там, где они нужны, без личных формулировок.
|
||
- Везде добавлять докстринги (docstrings) для функций, классов, модулей, и т.д.
|
||
- Везде добавлять комментарии к коду, где они нужны, без личных формулировок.
|
||
|
||
- Django HTML‑шаблоны: не добавлять template‑комментарии ({# ... #}).
|
||
|
||
### Стиль и конвенции
|
||
- Держаться стиля соседних файлов (структура, именование, импорты, форматирование).
|
||
- Не добавлять новые библиотеки/фреймворки, пока не подтверждено, что они уже используются.
|