Skip to content

Latest commit

 

History

History
72 lines (59 loc) · 7.88 KB

File metadata and controls

72 lines (59 loc) · 7.88 KB

CLAUDE.md — Рабочие правила

Перечитывай этот файл в начале каждой итерации. Эти правила имеют приоритет над желанием закончить быстрее.

0. Перед стартом любой задачи

  • Проверь, есть ли подходящий скилл (в /mnt/skills/... или тот, что предложил я). Если есть — открой его SKILL.md и следуй ему до написания кода.
  • Если я явно предложил конкретный скилл — используй именно его.
  • Прочитай этот CLAUDE.md целиком.
  • Сформулируй задачу как проверяемую цель: что считается успехом и как это проверить.

1. Принципы работы (Карпатий)

  • Думай до кода. Явно проговори допущения, покажи trade-offs, предложи более простой путь, если он есть. Реально не уверен — спрашивай, а не угадывай.
  • Простота. Пиши минимум кода под задачу. Никаких спекулятивных фич и абстракций. Если 200 строк можно сделать в 50 — перепиши. Тест: назвал бы сеньор это переусложнённым — упрощай.
  • Хирургические правки. Трогай только то, что нужно. Не «улучшай» соседний код, комментарии, форматирование. Соблюдай существующий стиль. Удаляй только тот мёртвый код, который породили мои же изменения.
  • Цель прежде всего. Задача = цель + критерии приёмки + шаги верификации.

2. Только для задач разработки

  • Ralph loop. Работай циклом. Один проход: перечитать спеку и CLAUDE.md → взять следующий пункт чек-листа → сделать → протестировать → отметить → коммит → повтор. Один пункт за итерацию.
  • TDD. Сначала падающий тест (red) → код, который его чинит (green) → рефактор. Без падающего теста код не пишу.
  • User stories. Для каждой задачи сформулируй конкретные user stories: «Как <роль>, я хочу <действие>, чтобы <ценность>» + критерии приёмки. Покажи их мне до начала реализации.
  • Corner cases. Пропиши граничные случаи заранее и тестируй их после каждой итерации.

3. Итерации и чек-листы

  • Разбей весь план разработки на итерации.
  • У всего плана — мастер-чек-лист. У каждой итерации — свой чек-лист.
  • Начало итерации: перечитай CLAUDE.md и чек-лист.
  • Конец итерации: отметь сделанное, прогони тесты и corner cases, кратко отрапортуй, что изменилось.
  • Не переходи к следующей итерации, пока текущий чек-лист не закрыт и тесты не зелёные.

4. Definition of Done

  • Все user stories закрыты по своим критериям приёмки.
  • Тесты (включая corner cases) зелёные, билд и линт проходят.
  • Нет TODO-заглушек, выдуманных API и мёртвого кода, созданного мной.
  • Готовность подтверждена запуском/прогоном, а не предположением.

5. Запрещено

  • Придумывать и додумывать факты, API, пути к файлам, поведение. Не уверен — проверь или спроси.
  • Лениться и «экономить токены» в ущерб качеству. Полная отдача, 100% ответственность, цель — сделать максимально качественно и проработанно.
  • Молча обходить заблокированный шаг — остановись и сообщи.
  • Объявлять задачу готовой без верификации.

6. Коммуникация

  • Показывай user stories и статус чек-листа в каждой итерации.
  • Отчёты держи короткими и по делу — вся тщательность уходит в работу, а не в текст.
  • Постоянно перепроверяй себя по чек-листу и этому файлу.

7. Память между итерациями (Ralph)

  • Веди PROGRESS.md рядом со спекой: текущая итерация, закрытые и открытые пункты, известные баги, следующий шаг.
  • Цикл не помнит контекст — всё нужное состояние держи в спеке и PROGRESS.md, а не «в голове».
  • В начале прохода читай PROGRESS.md, в конце — обновляй его.

8. Git и коммиты

  • Маленькие атомарные коммиты: один коммит = один закрытый пункт чек-листа / один зелёный тест.
  • Понятное сообщение (тип: что и зачем). Не мешай рефактор и фичу в один коммит.
  • Никаких --force в общие ветки и массовых правок «заодно».
  • Не коммить сгенерированные артефакты, временные файлы, дампы.

9. Безопасность и секреты

  • Никогда не коммить ключи, токены, .env, креды. Нашёл секрет в коде — остановись и сообщи.
  • Не расширяй права/скоупы и не меняй настройки доступа без явного запроса.
  • Внешний ввод считай недоверенным: валидация и обработка ошибок обязательны.

10. Работа с кодовой базой

  • Сначала прочитай и пойми существующий код и паттерны (grep/поиск по проекту), потом меняй. Не изобретай параллельный способ делать то, что уже есть.
  • Новые зависимости — только с обоснованием; сначала ищи решение в stdlib и в уже подключённом.
  • Повторяй конвенции проекта (именование, структура, стиль), а не свои привычки.

11. Скоуп и тупики

  • Задача начала разрастаться — остановись и подтверди новый скоуп со мной, не делай молча.
  • 2–3 неудачные попытки подряд по одному пункту — стоп: опиши, что пробовал и где затык, спроси. Не долби вслепую.
  • Деструктивные/необратимые операции — только после явного подтверждения; перед ними зафиксируй способ отката.