В чём фокус
Каждая новая сессия Claude Code начинается с чистого контекстного окна. Он не помнит вчерашний разговор и не знает, что у тебя за проект, пока не прочитает его заново (дока, memory). Чтобы знание переживало сессии, в Claude Code есть две системы памяти, и обе загружаются в начале каждого разговора.
Первая — CLAUDE.md: файл, который пишешь ты, с инструкциями и правилами. Вторая — авто-память: заметки, которые Claude ведёт сам, опираясь на твои правки и предпочтения (там же). CLAUDE.md — когда ты осознанно направляешь поведение Claude; авто-память — когда он учится на твоих исправлениях без ручной работы.
Важная оговорка, без которой будут разочарования: оба файла Claude воспринимает как контекст, а не как железный закон. Чем конкретнее и короче инструкция, тем стабильнее он ей следует; а если действие нужно жёстко запретить — это делается не в CLAUDE.md, а хуком (PreToolUse).
Этот гайд — про первый механизм, по-настоящему вглубь. Если нужен общий каркас проекта целиком (папки + файл + цикл работы) — он в соседнем разборе: Каркас вайбкодинг-проекта →.
Шаг 0: что нужно до старта
Нужен Claude Code — Claude, встроенный в редактор VS Code. CLAUDE.md он подхватывает сам, никаких расширений ставить не надо. Если Claude Code ещё не стоит:
- Установка с нуля и оплата российской картой — Claude Code из России за вечер →
- Без подписки, на бесплатных моделях — Claude Code бесплатно →
Где живёт CLAUDE.md
Файл может лежать в нескольких местах, и у каждого свой охват. В официальной доке их перечисляют в порядке загрузки — от самого широкого к самому узкому, так что более конкретная инструкция попадает в контекст после общей (дока, memory).
- Организация — общий файл, который ставит IT/DevOps на всю компанию (на Windows это
C:\Program Files\ClaudeCode\CLAUDE.md). - Ты —
~/.claude/CLAUDE.md: личные предпочтения во всех твоих проектах. - Проект —
./CLAUDE.mdили./.claude/CLAUDE.md: командные правила, едут в репозитории через git. - Локально —
./CLAUDE.local.md: личные правки под конкретный проект; добавляют в.gitignore.
Для соло-работы тебе важны два: проектный ./CLAUDE.md — главный, его и коммитишь, — и при желании ./CLAUDE.local.md под себя.

Как он загружается
Claude собирает CLAUDE.md, поднимаясь вверх по дереву папок от той, где ты его запустил, и забирая по дороге каждый CLAUDE.md и CLAUDE.local.md (дока, memory). Запустишь в foo/bar/ — подтянутся foo/bar/CLAUDE.md, foo/CLAUDE.md и локальные файлы рядом с ними.
Все найденные файлы не перетирают друг друга, а склеиваются в контекст: сверху — от корня файловой системы, ниже — ближе к твоей рабочей папке. Поэтому инструкции рядом с местом запуска читаются последними и весомее (там же). Файлы из подпапок подгружаются по требованию, когда Claude лезет в их код.
Отсюда практическое правило: запускай Claude из корня проекта. Тогда он видит корневой файл сразу, а вложенные подтянет сам, когда дойдёт до них.
Что писать — и чего не писать
Простое правило, что вообще класть в CLAUDE.md: то, что ты иначе будешь объяснять заново. Официальный гайд советует добавлять запись, когда (дока, memory):
- Claude второй раз делает одну и ту же ошибку;
- ревью поймало то, что он должен был знать про этот проект;
- ты снова печатаешь в чат ту же поправку, что и в прошлой сессии;
- новому человеку в команде понадобился бы тот же контекст.
Сюда — факты, которые Claude должен держать в каждой сессии: команды сборки, соглашения, структура проекта, правила «всегда делай X». А вот если запись — это многошаговая процедура или касается только одной части кода, её место не здесь: процедуру выноси в отдельный навык (skill), а узкое правило — в path-scoped rule (.claude/rules/), чтобы оно подгружалось только под нужные файлы (там же).
Как писать, чтобы Claude слушался
CLAUDE.md грузится в контекст в начале каждой сессии и тратит токены наравне с разговором — поэтому то, как ты пишешь, прямо влияет на то, насколько надёжно Claude следует правилам (дока, memory). Решают три вещи.
Конкретика. Пиши так, чтобы инструкцию можно было проверить. «Используй отступ в 2 пробела» вместо «форматируй код правильно». «Запускай npm test перед коммитом» вместо «тестируй изменения». «Обработчики API лежат в src/api/handlers/» вместо «держи файлы в порядке» (там же).
Размер. Цель — меньше 200 строк на файл. Длинные файлы съедают больше контекста и снижают следование правилам. Если разрастается — выноси куски в path-scoped rules, чтобы они подгружались только под нужные файлы (там же).
Без противоречий. Если два правила спорят, Claude выберет одно наугад. Периодически перечитывай свой CLAUDE.md и вложенные файлы и убирай устаревшее и конфликтующее (там же).

Память настроил. А что на ней можно собрать?
CLAUDE.md — это фундамент, на котором Claude слушается. Дальше тот же приём — правила плюс готовые промпты — масштабируется до целого контент-завода: тренды, карусели и рилсы, воронки, лид-магниты и оплаты. Всю цепочку собираем на практикуме, по шагам.
Что за практикум →Не писать с нуля: /init
Файл не обязательно сочинять руками. Команда /init анализирует твой проект и сама создаёт стартовый CLAUDE.md — с командами сборки, тестами и соглашениями, которые нашла в коде (дока, memory). Если файл уже есть, /init не перетирает его, а предлагает улучшения. Дальше дошлифовываешь тем, что Claude сам бы не угадал.
/initПосмотреть и поправить уже существующую память можно командой /memory — она открывает нужный файл в твоём редакторе (там же).
Импорты и личный файл
Чтобы не раздувать один файл, CLAUDE.md умеет подтягивать другие через синтаксис @path/to/import. Импортированные файлы разворачиваются и грузятся в контекст при старте вместе с основным; пути относительные или абсолютные, а сам импорт может быть вложенным — до четырёх уровней в глубину (дока, memory).
См. @README для обзора проекта и @package.json — список команд.
# Дополнительно
- процесс git: @docs/git-instructions.mdЕсли путь надо просто упомянуть, не импортируя, — оберни его в обратные кавычки. Под личные правки, которые не должны попасть в git, заведи в корне CLAUDE.local.md: он грузится рядом с основным и ведёт себя так же, а ты добавляешь его в .gitignore (там же).
Ещё приём: если у тебя уже есть AGENTS.md для других ИИ-инструментов, Claude читает именно CLAUDE.md — поэтому сделай CLAUDE.md, который импортит @AGENTS.md, и оба инструмента будут читать одно и то же, без дублей (там же).
Авто-память: Claude ведёт заметки сам
Второй механизм — авто-память. Это заметки, которые Claude пишет себе сам: заметив твою поправку или предпочтение, он сохраняет вывод, чтобы не наступать на те же грабли дважды. Пишешь её не ты, а он; живёт она по репозиторию и тоже подгружается в каждую сессию — первые 200 строк или 25 КБ (дока, memory).
Грубо так: CLAUDE.md — это правила, которые ты задаёшь осознанно; авто-память — то, что Claude вынес из работы с тобой. Вместе они и складываются в ощущение «он меня помнит».
Чтобы не споткнуться
Три места, где спотыкаются на старте.
Зачем тебе это на самом деле
Без CLAUDE.md ты работаешь с «общим» Claude, которому каждый раз объясняешь одно и то же. С ним — с Claude, который знает именно твой проект: твои команды, твою структуру, твои «никогда так не делай». Один файл превращает универсальный инструмент в твоего, заточенного под твою работу.
И это ровно то место, где у новичков заканчивается терпение: вроде ИИ умный, а каждый чат — заново. Память снимает это насовсем — и дальше работа идёт как разговор с тем, кто тебя уже понимает.
А дальше
CLAUDE.md — это память. Память живёт внутри каркаса проекта: понятная структура папок плюс этот файл плюс рабочий цикл. Если ещё не собирал каркас целиком — Каркас вайбкодинг-проекта →.
А на каркасе уже строится система, которая приносит результат: контент-завод на Claude Code — тренды, карусели и рилсы, воронки на кодовые слова, лид-магниты и оплаты. Эту цепочку собираем на практикуме, по шагам, под твою нишу.
Источники
Факты в этом гайде — из официальной документации Claude Code: