Делаем "память" проекта в Claude Code самостоятельно

Делаем "память" проекта в Claude Code самостоятельно

Когда люди начинают работать с Claude Code, первое ощущение обычно очень приятное: агент помнит контекст, понимает задачу с полуслова, может держать в голове структуру проекта, предыдущие шаги и текущую цель. На этом фоне легко возникает иллюзия, что достаточно просто “хорошо поговорить” с моделью — и дальше она сама удержит все важное.

На короткой дистанции это действительно работает. Но как только проект становится чуть сложнее, а работа выходит за пределы одной-двух сессий, выясняется неприятная вещь: контекст чата — плохое место для долговременной памяти. Его приходится чистить, ужимать, пересобирать. А вместе с лишними деталями очень легко потерять и полезное состояние проекта: что уже сделано, какие решения приняты, где остановились и что нужно делать дальше.

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

В этой статье покажу минимальный сетап для такой работы: как организовать CLAUDE.md, зачем нужен README.md, как устроить папку .planning и почему связка TODO.md + NEXT.md часто оказывается полезнее, чем попытка удержать все в бесконечном чате.

В корневом каталоге проекта запустите команду /init — она создаст и частично заполнит файл CLAUDE.md.

Если вы только начинаете проект, можно просто создать пустой CLAUDE.md и заполнять его по мере работы.

Добавьте в корень проекта файл README.md. Это простой способ не потерять ответ на вопрос: что это за проект, зачем он нужен и в каком состоянии находится.

Создайте папку .planning. Для начала достаточно трех файлов:

  • TODO.md
  • NEXT.md
  • README.md

Это минимальный набор. Позже структуру можно расширить: добавить PLAN.md, DESIGNNOTES.md, ARCHITECTURE.md, а также архив завершенных этапов. Не бойтесь экспериментировать, но начинайте с простого.

Откройте терминал, перейдите в папку проекта командой

cd "Project/folder/path"

и при необходимости обновите клиент командой терминала

claude update

После этого можно запускать Claude Code в подходящем для вас режиме. Например, опытные пользователи иногда используют

claude --permission-mode "bypassPermissions"

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

Дальше важно объяснить агенту, что именно вы хотите получить и в каком контексте он работает.

Проектная память.planning

.planning — это минимальный слой проектной памяти. Он нужен для того, чтобы между сессиями не приходилось заново восстанавливать состояние работы.

Минимальная структура может быть такой:

  • TODO.md — долговременный список задач. Удобно хранить в нем текущее, следующее, отложенное и завершенное.
  • NEXT.md — короткая передача хода работы между сессиями: что нужно сделать следующим конкретным шагом.
  • README.md — описание правил этой папки и принятого рабочего процесса.

При необходимости структуру можно расширять: добавлять PLAN.md, DESIGNNOTES.md, ARCHITECTURE.md, каталог current/ для активных материалов и _archive/ для завершенных итераций или релизов.

Зачем это нужно? Даже если у агента большой контекст, держать в нем все подряд невыгодно. Практически полезнее выносить устойчивые знания о проекте в файлы, а рабочий контекст сессии регулярно очищать, например через /clear. Это делает работу агента более собранной, а часто — еще и быстрее и дешевле.

Именно поэтому удобно разделять:

  • память проекта — в файлах;
  • состояние задач — в TODO.md;
  • передачу следующего шага — в NEXT.md.

На этой основе можно строить уже более сложные процессы: планы, дизайн-заметки, архитектурные решения, архивы релизов и другие элементы дисциплинированной разработки. По тем же принципам, например, устроены и более развитые workflow-подходы вроде библиотеки скиллов Get Shit Done.

Команды /compact и /clear помогают разгрузить контекст сессии, но вместе с второстепенными деталями могут унести и важные рабочие данные. Агент не всегда способен надежно отличить информационный шум от действительно значимого состояния проекта: что уже сделано, на чем остановились, какой шаг должен быть следующим.

Поэтому перед очисткой контекста полезно сначала зафиксировать текущее состояние работы во внешней проектной памяти. Следующий шаг и краткий handoff стоит записывать в NEXT.md, а выполненные, изменившиеся и новые задачи — отражать в TODO.md.

Именно поэтому в начале работы важно объяснить Claude Code, как устроен ваш сетап и по каким правилам в нем нужно работать. Например, можно дать ему такую инструкцию:

После выполнения любой задачи из `TODO.md` и/или `NEXT.md` всегда синхронизируй текущее состояние сессии с `.planning`. Обязательно: - обнови `NEXT.md`, указав: - на чем остановилась работа; - какой следующий конкретный шаг; - какие есть блокеры, риски и допущения; - обнови `TODO.md`, отразив: - что уже выполнено; - что находится в работе; - какие новые задачи были выявлены; - какие изменения произошли в приоритетах или объеме работ. Не считай контекст чата долговременной памятью проекта. Контекст сессии временный; `TODO.md` и `NEXT.md` — это постоянный слой передачи состояния между сессиями.

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

Окно проекта в VS Code 
Окно проекта в VS Code 

Для визуализации проекта традиционно использую VS Code — чистая вкусовщина.

Команда Anthropic последовательно и итеративно работает в направлении улучшения "памяти" агента — об этом можно почитать в документации (https://code.claude.com/docs/ru/memory), но это можно реализовать и в любом другом ИИ-агенте, поддерживающем хуки или автоматизированное чтение и запись файлов. А такая несложная логика поможет вам оптимизировать работу над действительно большими проектами, особенно требующими многократной или многоступенчатой доработки или сложного проектного подхода.

Материал написан по мотивам собственных изысканий.