Курс

Паспорт проекта и память

БЛОК 1: БАЗОВАЯ БАЗА • Урок 3 из 19

image.png

Начнём с [ CLAUDE.md ] – это файл в корне проекта, который Claude читает при каждом запуске. Паспорт, проще говоря. Мы уже обсуждали его создание в прошлом курсе, но есть некоторые детали, которые лучше повторить.

Что должно быть внутри него:

1. Описание проекта — что это, для кого, цель. 2-3 предложения.

2. Как запускать — команды для запуска, тестов, сборки.

3. Структура — основные папки и что в них.

4. Твой стиль — сначала план или сразу делать? Подробно или кратко?

5. Правила — что нельзя, что всегда надо. Конкретные детали.

Создаётся по промпту:

Создай CLAUDE.md для этого проекта. Опиши что это за проект, структуру папок, как запускать, и добавь секцию для ошибок.

Или если файл уже есть но слабый:

Посмотри CLAUDE.md и сделай его глубокий разбор. Давай обсудим какие детали могут мешать работе, а какие ещё необходимо добавить.

Секция для ошибок :/

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

Когда увидишь, что проблема повторилась, напиши:

Добавь в CLAUDE.md правило: ...

Зафиксируй в CLAUDE.md: что если случается такая проблема ... надо решать её вот так ...

🦜 Не будь попугаем: если можно не повторять одни и те же вещи много раз, не нужно их повторять!

Какие правила работают

Конкретные, ёпта. Никаких «будь внимательнее» и «не ошибайся». Только по существу, самым коротким способом.

Если файл становится большим

То приходится учиться расставлять приоритеты. Потому что главный файл проекта должен быть компактным: 60-100 строк идеально, больше 300 — чуть же, 500+ уже не совсем ок.

Но если важной информации много, можно распределить её по нескольким файлам, и ссылаться на них в [claude.md]

Выглядит это так:

Стиль кода описан в @docs/code-style.md

PS. Символ @ говорит Claude прочитать этот файл. Вместо 20 правил одна строка.

CLAUDE.md можно хранить в подпапках. Для больших проектов можно сделать отдельный файл в каждой внутренней папке. Claude будет читать и основной файл, и эти, по мере необходимости.

Сжать его легко. Попроси Claude объединить похожие правила и убрать устаревшие. Такая уборка необходима минимум раз в неделю.

Что НЕ класть внутрь:

  • Всю документацию проекта
  • Историю изменений
  • Списки задач
  • Тонны непонятных строк

Подходы к памяти

image.png

Claude Code умеет учиться между сессиями, но... так себе. Всё что он должен знать, записывается в файлы. CLAUDE.md — первый и главный из них. Но не единственный:

Подход

Что делает

CLAUDE.md

Правила и инструкции в корне проекта. Загружаются автоматически при каждом запуске

MEMORY.md

Блокнот агента. Claude сам записывает туда наблюдения между сессиями

Контекстное окно

Текущий разговор. Когда переполняется, агент сжимает его содержимое, и мелкие детали теряются

Handoff-файл

Передача контекста между рабочими днями: что сделали, что на завтра, о чём договорились

Как устроен блокнот агента

В настройках Claude Code есть папка для каждого проекта. Внутри неё лежит файл MEMORY.md — это что-то вроде блокнота, в который агент может записывать заметки.

🗺️ Путь выглядит так:

~/.claude/projects/<имя-проекта>/memory/MEMORY.md

Каждый проект это отдельная папка, отдельный блокнот. Проекты друг о друге ничего не знают.

Что туда попадает

Claude записывает в MEMORY.md технические заметки: какие ошибки встретились и как их решили, какие команды используются для сборки, какая архитектура у проекта. Это не совсем дневник и даже не история разговоров, это скорее, рабочие заметки инженера.

Когда Claude пишет, а когда нет

С февраля 2026 Auto Memory работает активнее, Claude сам записывает заметки, без специальных просьб. Но это не панацея:

[ - ] Пишет не каждую сессию — только когда обнаруживает повторяющийся паттерн или ты его поправляешь несколько раз

[ - ] Качество неконтролируемое — может записать неточность или пропустить важное

[ - ] 62% проблем с памятью возникают из-за того, что MEMORY.md содержит устаревшую инфу, которая потом мешает работе

[ - ] Требует периодической чистки — иначе через несколько месяцев куча записей устаревает

[ - ] 200 строк — всё что длиннее, молча обрезается. Без предупреждения

Можно явно попросить: «запомни что мы всегда используем bun, а не npm» — это сработает надёжнее. Но в целом, бывает так:

[ :) ] В одной сессии Claude решает, что нашёл важный паттерн, и записывает

[ :( ] В другой — ничего не записывает, потому что не встретил ничего «нового»

[ :(( ] В третьей — записывает, но не совсем то, что ты хотел бы

Как он связывает сессии

Первые 200 строк MEMORY.md загружаются в каждую новую сессию автоматически. Claude видит свои прошлые заметки в самом начале разговора и может опираться на них.

Схема простая:

Сессия 1: Claude работает → записывает в MEMORY.md ↓ Сессия 2: MEMORY.md загружается → Claude видит заметки → может дописать ↓ Сессия 3: обновлённый MEMORY.md загружается → и так далее

Ограничения

  • 200 строк — всё что длиннее, обрезается. Claude просто не увидит 201-ю строку. Без предупреждения
  • Только для одного проекта — если откроешь другой проект, там будет свой (пустой) блокнот
  • Может противоречить CLAUDE.md — если в блокноте записано одно, а в паспорте проекта другое, блокнот может перебить правило
  • Можно редактировать вручную — это обычный текстовый файл, ты можешь открыть и дописать или почистить сам


CLAUDE.md

MEMORY.md

Кто пишет

Ты

Claude автоматически (или ты вручную)

Где лежит

В корне проекта

В скрытой папке настроек

Что внутри

Твои правила и инструкции

Технические заметки агента

Надёжность

100% — всегда загружается

Пишет сам, но может записать неточно или пропустить важное

Обслуживание

Обновляй когда меняется проект

Чисти раз в неделю, иначе копится мусор

Размер

60-100 строк идеально

До 200 строк (потом молча обрезается)

Видно в git

Да, часть проекта

Нет, локальный файл

💭 От Тома:
Ну вот, теперь ты знаешь чуть больше, чем ничего!
Погнали дальше. Всё только начинается ;)