Вайбцех

Как работать с Claude Code над проектом: 6 шагов до журнала решений

Опубликовано Обновлено 12 мин чтенияБазовый
Автор с приложенного фото показывает журнал решений, рядом удивлённый кот и карточки проекта.
Что узнаете
  • понятное объяснение, чем Claude Code отличается от обычного чата
  • рабочая схема постановки задач агенту через терминал
  • структура DECISIONS.md для решений, запретов и handoff между сессиями
  • список типичных проблем с контекстом, /compact и повторным переписыванием кода
Применить за 20 мин
Базовый
26просмотров
Что в инструкции
  1. Что такое Claude Code?
  2. Зачем вести журнал решений, если Claude Code уже видит проект?
  3. Как Claude Code работает в терминале?
  4. Как работать с Claude Code над проектом?
  5. Как Claude Code работает с GitHub?
  6. Что такое skills и зачем они нужны?
  7. Что делать, если Claude Code забывает решения или снова переписывает рабочий код?
  8. Вопросы и ответы

Что такое Claude Code?

Запрос claude code что это обычно появляется после первого столкновения с разницей между чатом и агентом. В чате ты отправляешь вопрос и получаешь ответ. Дальше сам копируешь код, открываешь файл, запускаешь проверку и решаешь, что делать с ошибкой.

Claude Code может пройти эту цепочку сам. Он ищет нужные файлы, читает их содержимое, вносит правки и запускает команды. Если проверка показывает ошибку, результат команды тоже попадает в контекст следующего действия.

У агента есть ограничения. Он видит доступный контекст и действует по цели, которую ты задал. Если цель широкая, список файлов не обозначен, а критерий готовности не назван, агент может выбрать слишком большой путь. Отсюда и берётся каша вместо маленькой правки.

Anthropic сначала выпустила Claude Code как инструмент командной строки для агентного программирования. В анонсе Anthropic его описывали так:

В анонсе Anthropic Claude Code описан как помощник, который ищет и читает код, редактирует файлы, пишет и запускает тесты, создаёт commit, отправляет код в GitHub и использует инструменты командной строки (источник).

Я бы держал в голове простую границу: Claude Code способен выполнять действия, но не отвечает за границы задачи вместо тебя. Чем точнее ограничение, тем меньше лишних изменений.

Зачем вести журнал решений, если Claude Code уже видит проект?

Я вижу это после первой сессии: вчера агент уже выяснил, где живёт авторизация, почему не подходит второй API-клиент и какой обработчик нельзя трогать. Сегодня открывается новая сессия. Приходится объяснять то же самое заново.

Anthropic пишет о такой причине:

Anthropic объясняет пользу постоянных файлов проекта тем, что без них в начале разговора приходится заново передавать архитектурные решения, требования к тестам и предпочтения к стилю кода (источник).

Для этого и нужен DECISIONS.md: подход к локальной памяти проекта разобран в отдельной инструкции. Файл хранит короткие записи о решениях, причинах и ограничениях. В него не стоит переносить каталог всех файлов или инструкцию на сотни строк.

Записывай туда четыре вещи:

  • какое решение принято;
  • почему выбран именно этот вариант;
  • какой подход отвергнут;
  • что нельзя менять без отдельного подтверждения.

Пример:

md
# Decisions

## Rules

- Не переписывать рабочие модули, если задача этого прямо не требует.
- Не заменять текущий auth-flow.
- Не менять схему базы данных без отдельного подтверждения.
- Не удалять существующие тесты.
- Выбирать самое маленькое изменение, которое закрывает задачу.

## Decisions

- Авторизация остаётся в `src/auth/`.
  Причина: текущий поток уже используется приложением и проверками.

- Используем существующий API-клиент.
  Отвергнутый вариант: добавить второй клиент для новой функции.
  Причина: он дублирует повторы запросов, обработку ошибок и настройки.

## Handoff

- Что изменено:
- Что проверено:
- Какое решение принято:
- Какие подходы отвергнуты:
- Следующий шаг:

Разделяй эти уровни: в CLAUDE.md лежат обзор проекта и общие правила, в DECISIONS.md собрана переносимая память о выборах и неудачных подходах. Процедуры, которые нужны только для конкретного workflow, лучше не добавлять в постоянный контекст.

Короткий файл полезнее энциклопедии. Каждая новая строка должна закрывать реальную повторяющуюся проблему. Если агент ни разу не сталкивался с ограничением, не добавляй его только на всякий случай.

Как Claude Code работает в терминале?

Запрос claude code cli означает тот же сценарий, только с акцентом на способ запуска. CLI - это программа, которой управляют через командную строку. Ты пишешь запрос в терминале, а агент отвечает там же и при необходимости вызывает команды.

Контекст сессии накапливается, а каждый прочитанный файл и вывод команды занимают место в доступном окне. Результат предыдущей команды остаётся частью разговора. Anthropic формулирует механику так:

Anthropic описывает сессию так: прочитанные файлы и вывод команд остаются частью разговора и снова учитываются на следующих ходах до конца сессии (источник).

Из этого следуют две команды.

  • /clear очищает историю и начинает новую задачу. Используй её, когда переходишь к независимой работе.
  • /compact сжимает разговор текущей задачи. История превращается в краткий пересказ, исходный текст при этом не сохраняется дословно.

Разница важна. /clear намеренно отделяет одну задачу от другой. /compact помогает продолжить ту же задачу с меньшим объёмом истории, но часть деталей может исчезнуть. Причина старого запрета или второстепенное предупреждение легко выпадет из краткого пересказа.

Я не считаю историю сессии журналом проекта. Она нужна для текущей работы. Решение, которое должно пережить новую сессию, записывай в файл.

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Как работать с Claude Code над проектом?

Кот смотрит на три карточки с этапами работы Claude Code.

Использование claude code лучше разбирать через короткую цепочку действий вместо большого промпта «собери приложение». На сессию выбери одну задачу. Для неё задай проверяемый этап и понятный критерий готовности.

  1. Ограничь одну задачу.

    Назови конкретный результат: например, изменить текст кнопки на странице или добавить проверку к одному обработчику. Не смешивай в одной сессии дизайн, авторизацию, базу и деплой.

    Сформулируй границу прямо:

    Цель сессии
    Работай только над одной задачей: измени текст кнопки на странице оформления заказа.
    
    Не меняй структуру проекта, стили других страниц, обработку платежей и файлы, которые не нужны для этой правки.
    В конце покажи список изменённых файлов и результат проверки.
  2. Попроси изучить нужные файлы.

    Сначала назови область поиска. Попроси не редактировать код до короткого отчёта о найденных файлах и текущей логике.

    • читать только файлы, связанные с этой задачей;

    • назвать найденный компонент или обработчик;

    • перечислить зависимости, которые могут затронуть правку;

    • не вносить изменения на этом шаге.

      Изучение перед правкой
      Сначала изучи только файлы, связанные с текстом кнопки на странице оформления заказа.
      
      Не редактируй файлы. Сначала сообщи:
      - какие файлы нашёл;
      - где находится нужный текст;
      - какие зависимости затрагивает изменение;
      - какие файлы менять не нужно.
  3. Попроси план изменений.

    План должен быть коротким. В нём нужны файлы, действие и способ проверки. Если агент предлагает переписать большой модуль ради маленькой правки, на этом месте я останавливаюсь и сужаю задачу.

    План изменений
    Составь короткий план только для этой задачи.
    
    Для каждого шага укажи:
    - файл;
    - что именно изменится;
    - как проверить результат.
    
    Не предлагай рефакторинг, замену архитектуры или изменения за пределами задачи.
    Дождись моего подтверждения перед редактированием.
  4. Выполни маленький этап.

    После плана разреши только перечисленные изменения. Не отдавай агенту право расширять задачу по ходу работы без нового согласования.

    Если список файлов изменился, попроси остановиться. Это простая граница, но она ловит большую часть самовольного расширения.

  5. Проверь результат командой.

    Слово «готово» ничего не доказывает. Нужен вывод проверки: теста, линтера, сборки или другой команды, которая относится к задаче. Если проверка не запускалась, так и запиши в журнал.

  6. Обнови журнал решений.

    Перед завершением попроси добавить только новое: принятое решение, причину, отвергнутый вариант и следующий шаг. Не разрешай переписывать весь файл.

    Обновление журнала
    Обнови `DECISIONS.md` только добавлением фактов по текущей задаче.
    
    Запиши:
    - что изменено;
    - какое решение принято;
    - почему выбран этот вариант;
    - какой подход отвергнут и почему;
    - что проверено;
    - что делать следующим шагом.
    
    Не переписывай существующие записи и не удаляй решения.

Правило «одна заметная задача = одна сессия» не означает, что каждый клик требует нового окна. Речь о независимых целях. Когда задача закончена и проверена, новая функция или новый участок проекта лучше получают отдельную сессию.

Постоянные правила проекта храни в репозитории. Тогда файл доступен следующей сессии и остаётся видимым в истории изменений.

После этой сессии открой DECISIONS.md и внеси одну запись по шаблону выше.

Как Claude Code работает с GitHub?

Собака проверяет карточку diff перед commit и отправкой кода.

Когда нужен claude code review, обычно хотят понять, можно ли поручить агенту не только написать правку, но и довести её до репозитория. Да, это можно поручить агенту, но я не отдаю ему commit вслепую. Claude Code работает с GitHub, создаёт commit и делает push.

Я делаю это в таком порядке:

  1. Открой проект в его рабочей папке.
  2. Попроси прочитать правила проекта и DECISIONS.md.
  3. Ограничь список файлов для текущей задачи.
  4. Дождись изменений и результата проверки.
  5. Посмотри diff до правки.
  6. Только после этого попроси создать commit и отправить код.

CLAUDE.md и связанные файлы проекта стоит проверять в Git. Это часть договорённостей проекта. Если файл не попал в репозиторий, следующая сессия или другой участник не получит ту же опору.

Я бы не поручал агенту сразу коммитить широкую правку. Сначала проверка diff. Особенно когда задача звучит как «почини страницу»: за этой фразой агент может затронуть стили, компоненты, тесты и конфигурацию.

Что такое skills и зачем они нужны?

Запрос claude code skills появляется, когда один файл начинает разрастаться. В него складывают правила форматирования, инструкцию релиза, порядок проверки миграций, сценарий ревью и историю решений. Через некоторое время агент получает слишком много постоянного текста.

Здесь полезно разделить два слоя:

  • CLAUDE.md - что это за проект, какие есть общие правила и какие ограничения действуют всегда;
  • skills - что делать в конкретной процедуре, например при ревью или подготовке релиза.

Anthropic описывает границу коротко:

Anthropic рекомендует оставлять в CLAUDE.md постоянные инструкции, а workflow переносить в skills, которые подключаются при необходимости (источник).

DECISIONS.md тоже не стоит превращать в склад процедур. Его задача уже: сохранить выбор и причину. Чеклист действий относится к workflow. Обзор проекта и постоянные правила относятся к CLAUDE.md. История сессии не относится ни к одному из этих файлов целиком.

Я бы держал структуру так:

CLAUDE.md
DECISIONS.md
.claude/
  skills/

В CLAUDE.md достаточно указать, где лежит журнал решений и когда его читать. В самом журнале не нужно дублировать весь обзор проекта. Структура и проверка Skills разобраны в отдельной инструкции, а workflow не нужно загружать в каждую сессию, если текущая задача с ним не связана.

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Что делать, если Claude Code забывает решения или снова переписывает рабочий код?

Мужчина закрывает лицо ладонью рядом с журналом решений и git diff.

Длинная сессия увеличивает объём контекста, стоимость и шум. Старые файлы и вывод команд снова участвуют в следующих ходах. Когда история становится слишком большой, /compact заменяет её кратким пересказом. Это удобнее, чем упереться в предел контекста, но пересказ может потерять второстепенное решение.

Проблема выглядит так: три сессии назад агент предложил вариант, ты его отверг, а сегодня он снова предлагает почти то же самое. История событий может сохраниться частично. Структура рассуждений - почему вариант отвергнут и при каких условиях к нему нельзя возвращаться - уже потеряна.

Запись должна быть конкретной:

md
## Решения

- Авторизация остаётся в `src/auth/`.
  Причина: текущий поток уже используется приложением и проверками.
  Отвергнутый вариант: перенос авторизации в middleware.
  Запрет: не менять auth-flow без отдельного подтверждения.

## Запреты

- Не добавлять второй API-клиент.
  Причина: он дублирует повторы запросов, обработку ошибок и настройки.
  Отвергнутый вариант: отдельный клиент для новой функции.

- Не переписывать рабочий обработчик платежей ради унификации.
  Причина: текущая версия уже покрыта проверками.
  Запрет: сначала показать план и diff.

Если агент снова переписывает рабочий код, останови задачу и проверь границу изменений:

  1. останови текущую задачу;
  2. посмотри git diff;
  3. сравни изменённые файлы со списком из плана;
  4. вернись к последней рабочей версии через обычный Git-сценарий, который принят в проекте;
  5. начни новую сессию с чтения DECISIONS.md;
  6. повтори задачу с меньшим объёмом изменений.

Журнал не является техническим замком. Запись «не менять файл» может направить модель, но не гарантирует соблюдение. В issue #22055 описан отдельный bug report о сценарии, где правила permissions.ask не срабатывали для Edit и Write. Критические файлы нельзя защищать только записью в Markdown.

Минимальное правило на каждую сессию:

md
## Правило работы

- Одна заметная задача = одна сессия.
- Не просить «запомни» без записи в файл.
- Перед завершением задачи обновить `DECISIONS.md`.
- Не переписывать `DECISIONS.md` целиком без явного разрешения.
- Перед commit проверить diff.

Я бы не пытался сохранить в журнал всю переписку. Сохраняй только то, что пригодится следующей сессии: выбранный путь, причину, отказ от альтернативы, запрет и следующий шаг. Всё остальное пусть остаётся историей конкретной работы.

Вопросы и ответы

Как пользоваться Claude Code новичку?

Начни с одной небольшой задачи в существующем проекте. Попроси Claude Code сначала изучить связанные файлы, затем показать план, после этого разреши правку и потребуй вывод проверки. В конце запиши решение и результат в DECISIONS.md. Не начинай с команды «собери всё приложение»: у такой задачи нет узкой границы и простого критерия готовности.

Как начать пользоваться Claude Code с нуля?

Если нужна claude code инструкция с нуля, учитывай: статья предполагает проект с файлами и терминал, из которого запускается Claude Code. Для первой сессии выбери изменение, результат которого легко проверить. Попроси агента назвать файлы, которые он собирается читать и менять, и не разрешай расширять список без нового согласования. Установку, вход и системные требования я здесь не расписываю: подтверждённых шагов для них нет в фактуре статьи.

Как формулировать prompt для Claude Code?

Опиши цель, границы, разрешённые файлы и критерий готовности. Добавь запрет на рефакторинг, если он не нужен для задачи. Хороший prompt просит сначала изучить проект, затем показать план, потом выполнить один этап и вывести результат проверки. Формулировка «сделай красиво» слишком широкая: по ней агент сам выбирает область работы и способ проверки.

Какие базовые commands использовать в Claude Code?

Для управления историей сессии здесь нужны две команды. /clear начинает новую задачу и отделяет её от старой истории. /compact сжимает историю текущей задачи и заменяет её кратким пересказом, поэтому часть деталей может потеряться. Полный список CLI-команд в этой инструкции не приводится: подтверждённые факты здесь есть только для терминала, /clear и /compact.

Какие tasks можно поручать Claude Code?

Поручай задачи с небольшой областью и проверяемым результатом: прочитать связанные файлы, изменить конкретный компонент, запустить проверку, показать diff, записать принятое решение. Большую работу разбивай на этапы. Не отдавай одной командой неопределённую задачу вроде «перепиши проект лучше»: агент может выбрать слишком широкий объём изменений.

Как Claude Code понимает контекст проекта?

Он получает контекст из прочитанных файлов, вывода команд и результатов предыдущих действий. История сессии накапливается, а её содержимое повторно участвует в следующих ходах. После /compact история заменяется пересказом, который может потерять детали. Поэтому решения, запреты и причины, которые нужны между сессиями, стоит хранить в коротком файле проекта.

Что делать с permissions в Claude Code?

Не считай текстовую запись в DECISIONS.md техническим ограничением. В отдельных сценариях правила разрешений для Edit и Write могли не срабатывать. Для критичных файлов проверяй diff, используй принятую в проекте схему Git-контроля и отдельно проверяй, что запрос подтверждения действительно появился. Журнал объясняет агенту намерение, но не заменяет механическую защиту.

Зачем нужен CLAUDE.md в проекте?

CLAUDE.md хранит обзор проекта и общие правила, которые нужны в каждой сессии. В него не стоит складывать всю историю решений и длинные workflow-чеклисты. Решения и отвергнутые подходы вынеси в DECISIONS.md, а процедуры загружай через skills только тогда, когда они нужны для текущей работы. Так постоянный контекст остаётся коротким.

Источники

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Материал был полезен?
Сергей Мазур
Автор
Сергей Мазур
Основатель Вайбцеха

Собираю продукты с ИИ-агентами и рассказываю, как это делать без программиста.

Читайте также

CLAUDE.md больше 200 строк в 2026: удалить и пересобрать короткий файл

CLAUDE.md передаёт Claude постоянные правила проекта. Разберись, что положить в файл, где его искать и когда проще удалить его и собрать заново.

16 мин

Хуки Claude Code: 9 шагов для защиты опасного файла через PreToolUse

Хук Claude Code проверяет действие до изменения файла и может остановить опасный вызов. Показываю настройку защиты одного файла через PreToolUse.

13 мин

Хуки в Claude Code в 2026: как настроить блокировку опасных команд за 5 шагов

Хук Claude Code запускает локальную проверку до или после действия агента. Показываю, как настроить PreToolUse для блокировки опасных команд и где заканчивается его защита.

12 мин

ИИ код: как найти причину, если проект не запускается, за 5 шагов

Проект не запускается, а ИИ предлагает переписать половину файлов? Покажи ему точную команду, полный лог и структуру проекта. Так ты найдёшь первопричину и проверишь исправление без лишних правок.

13 мин

Термины из инструкции