Перечитывай этот файл в начале каждой итерации. Эти правила имеют приоритет над желанием закончить быстрее.
- Проверь, есть ли подходящий скилл (в
/mnt/skills/...или тот, что предложил я). Если есть — открой егоSKILL.mdи следуй ему до написания кода. - Если я явно предложил конкретный скилл — используй именно его.
- Прочитай этот
CLAUDE.mdцеликом. - Сформулируй задачу как проверяемую цель: что считается успехом и как это проверить.
- Думай до кода. Явно проговори допущения, покажи trade-offs, предложи более простой путь, если он есть. Реально не уверен — спрашивай, а не угадывай.
- Простота. Пиши минимум кода под задачу. Никаких спекулятивных фич и абстракций. Если 200 строк можно сделать в 50 — перепиши. Тест: назвал бы сеньор это переусложнённым — упрощай.
- Хирургические правки. Трогай только то, что нужно. Не «улучшай» соседний код, комментарии, форматирование. Соблюдай существующий стиль. Удаляй только тот мёртвый код, который породили мои же изменения.
- Цель прежде всего. Задача = цель + критерии приёмки + шаги верификации.
- Ralph loop. Работай циклом. Один проход: перечитать спеку и
CLAUDE.md→ взять следующий пункт чек-листа → сделать → протестировать → отметить → коммит → повтор. Один пункт за итерацию. - TDD. Сначала падающий тест (red) → код, который его чинит (green) → рефактор. Без падающего теста код не пишу.
- User stories. Для каждой задачи сформулируй конкретные user stories: «Как
<роль>, я хочу<действие>, чтобы<ценность>» + критерии приёмки. Покажи их мне до начала реализации. - Corner cases. Пропиши граничные случаи заранее и тестируй их после каждой итерации.
- Разбей весь план разработки на итерации.
- У всего плана — мастер-чек-лист. У каждой итерации — свой чек-лист.
- Начало итерации: перечитай
CLAUDE.mdи чек-лист. - Конец итерации: отметь сделанное, прогони тесты и corner cases, кратко отрапортуй, что изменилось.
- Не переходи к следующей итерации, пока текущий чек-лист не закрыт и тесты не зелёные.
- Все user stories закрыты по своим критериям приёмки.
- Тесты (включая corner cases) зелёные, билд и линт проходят.
- Нет TODO-заглушек, выдуманных API и мёртвого кода, созданного мной.
- Готовность подтверждена запуском/прогоном, а не предположением.
- Придумывать и додумывать факты, API, пути к файлам, поведение. Не уверен — проверь или спроси.
- Лениться и «экономить токены» в ущерб качеству. Полная отдача, 100% ответственность, цель — сделать максимально качественно и проработанно.
- Молча обходить заблокированный шаг — остановись и сообщи.
- Объявлять задачу готовой без верификации.
- Показывай user stories и статус чек-листа в каждой итерации.
- Отчёты держи короткими и по делу — вся тщательность уходит в работу, а не в текст.
- Постоянно перепроверяй себя по чек-листу и этому файлу.
- Веди
PROGRESS.mdрядом со спекой: текущая итерация, закрытые и открытые пункты, известные баги, следующий шаг. - Цикл не помнит контекст — всё нужное состояние держи в спеке и
PROGRESS.md, а не «в голове». - В начале прохода читай
PROGRESS.md, в конце — обновляй его.
- Маленькие атомарные коммиты: один коммит = один закрытый пункт чек-листа / один зелёный тест.
- Понятное сообщение (тип: что и зачем). Не мешай рефактор и фичу в один коммит.
- Никаких
--forceв общие ветки и массовых правок «заодно». - Не коммить сгенерированные артефакты, временные файлы, дампы.
- Никогда не коммить ключи, токены,
.env, креды. Нашёл секрет в коде — остановись и сообщи. - Не расширяй права/скоупы и не меняй настройки доступа без явного запроса.
- Внешний ввод считай недоверенным: валидация и обработка ошибок обязательны.
- Сначала прочитай и пойми существующий код и паттерны (grep/поиск по проекту), потом меняй. Не изобретай параллельный способ делать то, что уже есть.
- Новые зависимости — только с обоснованием; сначала ищи решение в stdlib и в уже подключённом.
- Повторяй конвенции проекта (именование, структура, стиль), а не свои привычки.
- Задача начала разрастаться — остановись и подтверди новый скоуп со мной, не делай молча.
- 2–3 неудачные попытки подряд по одному пункту — стоп: опиши, что пробовал и где затык, спроси. Не долби вслепую.
- Деструктивные/необратимые операции — только после явного подтверждения; перед ними зафиксируй способ отката.