GPTSubs/Блог/CLAUDE.md и память Claude Code: как научить его помнить проект

CLAUDE.md и память Claude Code: как научить его помнить проект

Каждая сессия Claude Code начинается «с чистой головы»: вчерашний разговор он не помнит. Чтобы не объяснять проект заново, есть файл CLAUDE.md и автоматическая память. Разбираем, как ими пользоваться.

Обновлено 28 октября 20267 мин чтения
Коротко
  • CLAUDE.md — обычный текстовый файл с правилами проекта. Claude Code читает его в начале каждой сессии.
  • Быстрее всего создать его командой /init: Claude сам изучит проект и запишет команды сборки, тестов и правила.
  • Кроме CLAUDE.md есть автопамять: Claude сам записывает заметки о ваших предпочтениях и поправках. Посмотреть и выключить — командой /memory.

Зачем нужен CLAUDE.md

Представьте нового сотрудника, которому каждое утро приходится заново рассказывать: тесты запускаются вот так, файлы лежат вот здесь, в эту папку не лезть. Claude Code без CLAUDE.md — именно такой сотрудник. Файл решает это один раз: вы записываете то, что иначе объясняли бы в чате, и Claude читает это в начале каждой сессии.

Anthropic советует дописывать в CLAUDE.md, когда:

  • Claude второй раз повторяет одну и ту же ошибку;
  • вы пишете в чат ту же поправку, что и в прошлый раз;
  • новому человеку в команде понадобилось бы то же самое объяснение.

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

Где лежит CLAUDE.md

ГдеПутьДля чего
Личный, для всех проектов~/.claude/CLAUDE.mdВаши привычки: стиль кода, любимые инструменты
Проект./CLAUDE.md или ./.claude/CLAUDE.mdПравила проекта для всей команды — хранится в git
Личный, для одного проекта./CLAUDE.local.mdВаши тестовые адреса и настройки — добавьте файл в .gitignore
Правила по темам.claude/rules/*.mdОтдельные файлы для тестов, API, безопасности — можно привязать к папкам

Файлы не заменяют друг друга, а складываются. Claude Code читает CLAUDE.md в папке, где вы его запустили, и во всех папках выше. Файлы из вложенных папок подгружаются, когда Claude начинает работать с файлами в этих папках. Проверить, что загрузилось, можно командой /context — в списке «Memory files».

Как создать CLAUDE.md за минуту

  1. Запустите /initОткройте Claude Code в папке проекта и введите /init. Claude изучит код и создаст файл с командами сборки, тестов и найденными правилами. Если файл уже есть, он предложит улучшения, а не перезапишет его.
  2. Допишите то, чего нет в кодеClaude не догадается о договорённостях команды: «не меняй публичный API без согласования», «деплой только через CI». Это и стоит добавить.
  3. Пишите конкретноНе «оформляй код аккуратно», а «отступ — 2 пробела». Не «тестируй изменения», а «перед коммитом запускай npm test». Конкретные правила Claude выполняет надёжнее.
  4. Держите файл короткимОриентир — до 200 строк. Длинный файл занимает место в контексте каждой сессии и хуже соблюдается. Редкие сценарии выносите в скиллы или правила для отдельных папок.

Пример простого CLAUDE.md:

# Проект: интернет-магазин
## Команды
- Запуск: npm run dev
- Тесты: npm test (запускать перед каждым коммитом)
## Правила
- Отступ — 2 пробела, кавычки одинарные
- API-обработчики лежат в src/api/handlers/
- Папку legacy/ не трогать

Чтобы подключить другой файл, напишите в CLAUDE.md @путь/к/файлу, например @README.md. Импорты могут быть вложенными — до четырёх уровней. Но помните: импортированный файл тоже целиком попадает в контекст.

Автопамять: что Claude запоминает сам

Кроме CLAUDE.md, который пишете вы, у Claude Code есть автопамять — заметки, которые он ведёт сам. Туда попадают ваши предпочтения, поправки («используй pnpm, а не npm») и контекст, который нельзя понять из кода. То, что и так видно в проекте или уже есть в CLAUDE.md, Claude туда не пишет.

  • Автопамять включена по умолчанию и хранится на вашем компьютере, в папке ~/.claude/projects/<проект>/memory/. На другие устройства она не переносится.
  • В начале сессии загружаются первые 200 строк (или 25 КБ) оглавления памяти — файла MEMORY.md.
  • Команда /memory показывает все файлы памяти, открывает их для правки и позволяет выключить автопамять.

Если хотите, чтобы правило точно попало в CLAUDE.md, а не в автопамять, так и скажите: «добавь это в CLAUDE.md». Подробности — в документации Claude Code.

CLAUDE.md, AGENTS.md и /compact

AGENTS.md. Многие проекты уже содержат файл AGENTS.md для других ИИ-помощников. Свежие версии Claude Code читают его сами, если CLAUDE.md в проекте нет. Если есть оба, по умолчанию читается только CLAUDE.md — чтобы не вести два файла, добавьте в CLAUDE.md строку @AGENTS.md.

Сжатие истории. CLAUDE.md в корне проекта переживает команду /compact: после сжатия Claude перечитывает его с диска. А вот правила, которые вы давали только в чате, после сжатия могут потеряться — ещё одна причина записывать важное в файл. О том, как сжатие помогает беречь лимит, — в статье «Лимиты Claude».

Что нужно для Claude Code

CLAUDE.md и автопамять работают в Claude Code, а он доступен только на платных тарифах Claude — Pro и Max. Из России для работы нужен VPN для всего компьютера. Подписку мы оформляем на ваш аккаунт с оплатой по СБП, картой РФ или в USDT — пароль не нужен.

Claude Pro для Claude Code2 170 ₽ за месяц — на ваш аккаунт, оплата СБП или картой РФ

Частые вопросы

Обязательно ли создавать CLAUDE.md?

Нет, Claude Code работает и без него. Но с файлом не придётся каждый раз объяснять команды и правила проекта, а Claude будет реже ошибаться.

Чем CLAUDE.md отличается от автопамяти?

CLAUDE.md пишете вы — это правила и инструкции. Автопамять ведёт сам Claude — это его заметки о ваших предпочтениях и поправках.

Можно ли писать CLAUDE.md на русском?

Да, это обычный текстовый файл в формате Markdown. Главное — короткие и конкретные правила.

Почему Claude не выполняет правило из CLAUDE.md?

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

Не утечёт ли CLAUDE.local.md в git?

Добавьте его в .gitignore — тогда файл останется только у вас.

Ещё по теме