CoreCodeДокументация

Как выжать максимум из CoreCode

Как писать CLAUDE.md

Обновлено:

CLAUDE.md — это описание проекта, которое Claude Code читает в начале каждой сессии. Если он написан хорошо, Claude перестаёт повторять ошибки; если он длинный и запутанный, он впустую расходует контекст на каждом ходу. Эта страница опирается на официальное руководство Anthropic и объясняет, как это отражается на счёте.

Главное
  • CLAUDE.md — это контекст, а не принудительная конфигурация: Claude учитывает его, но не гарантирует выполнения каждого правила. Всё, что делать нельзя ни при каких условиях, блокируйте хуком.
  • Личные правила кладите в ~/.claude/CLAUDE.md, правила проекта — в ./CLAUDE.md или ./.claude/CLAUDE.md, а свои предпочтения для проекта — в ./CLAUDE.local.md, добавленный в .gitignore.
  • Пишите конкретные, проверяемые правила, держите каждый файл короче 200 строк и структурируйте его заголовками и списками.
  • Правила, которые относятся к части кодовой базы, выносите в .claude/rules/ с ограничением через paths; многошаговые процедуры оформляйте как skills.
  • Файл отправляется на каждом ходу; правка в середине сессии вступает в силу только после /clear, /compact или перезапуска.

Что такое CLAUDE.md

Обычный Markdown-файл, в котором сказано, что Claude должен знать об этом проекте: как собирать и тестировать, соглашения по коду, структура, правила вида «всегда делай X». Claude Code читает его в начале каждой сессии как контекст.

Это не принудительная конфигурация. Чем конкретнее и короче правила, тем стабильнее Claude им следует; для того, чего нельзя допускать никогда, например правки защищённого каталога, используйте хук PreToolUse.

В Claude Code есть и авто-память: исправления, которые вы даёте, сохраняются в ~/.claude/projects/<project>/memory/. В CLAUDE.md лежат правила, которые пишете вы, в авто-памяти — то, чему учится Claude; оба источника загружаются в каждой сессии.

Где его размещать

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

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

С чего начать

Выполните /init в проекте. Claude проанализирует кодовую базу и напишет CLAUDE.md с командами сборки, инструкциями по тестированию и найденными соглашениями; если файл уже есть, он предложит улучшения вместо перезаписи. Затем добавьте то, что Claude не смог узнать сам.

Что в него класть

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

Ограничивайтесь фактами, нужными в каждой сессии. Многошаговые процедуры оформляйте как skills, которые загружаются по необходимости, а правила для одной части кодовой базы помещайте в .claude/rules.

Как писать правила, которые работают

Пишите правила, которые можно проверить, а не общие пожелания:

ВместоПишите
Форматируй код как следуетИспользуй отступ в 2 пробела
Проверяй свои измененияПеред коммитом запускай npm test
Поддерживай порядок в файлахОбработчики API лежат в src/api/handlers/

Короткий пример:

# Project

## Commands
- Install: pnpm install (not npm)
- Test: pnpm test, must pass before committing
- Run locally: pnpm dev, port 3000

## Conventions
- TypeScript strict mode, no any
- API handlers in src/api/handlers/, one route per file
- Schema changes only through prisma migrate

Импорт других файлов

Подключайте другие файлы через @path, например See @README and @docs/git-instructions.md. Относительные пути отсчитываются от CLAUDE.md, в котором они указаны, а импорты можно вкладывать до четырёх уровней. `@README` внутри обратных кавычек не импортируется.

Импорты помогают организовать файл, но не уменьшают его стоимость в контексте: импортированное содержимое тоже загружается каждый раз. Когда проект впервые импортирует файл вне своего каталога, Claude Code просит вас подтвердить это.

Разделение по областям через .claude/rules

В крупном проекте разбейте инструкции на тематические файлы в .claude/rules/, например testing.md или api-design.md. Правило без paths загружается при запуске, как CLAUDE.md; правило с paths загружается только тогда, когда Claude работает с подходящими файлами:

---
paths:
  - "src/api/**/*.ts"
---
# API rules
- Validate every endpoint's input
- Return errors as ApiError

Раздел CLAUDE.md, выросший в многошаговую процедуру, можно превратить в skill, который загружается только при использовании; см. руководство по skills.

Если у вас уже есть AGENTS.md

Начиная с Claude Code v2.1.277, Claude читает AGENTS.md напрямую: без CLAUDE.md он читает AGENTS.md, а при наличии CLAUDE.md читает только его. Чтобы использовать один файл в разных инструментах для программирования, добавьте в CLAUDE.md строку @AGENTS.md.

Стоимость и кэширование

Другие способы сэкономить — в разделе Как тратить на Claude Code меньше.

Как убедиться, что файл загружен

FAQ

Какой длины должен быть CLAUDE.md?

Anthropic рекомендует не более 200 строк на файл. Правила для части кодовой базы переносите в .claude/rules/ с paths, а многошаговые процедуры — в skills.

Почему Claude не следует моему CLAUDE.md?

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

Почему моя правка CLAUDE.md не подействовала?

Работающая сессия не перечитывает файл. Выполните /clear, /compact или перезапустите Claude Code.

Можно ли использовать CLAUDE.md и AGENTS.md вместе?

Если CLAUDE.md есть, по умолчанию читается только он. Добавьте @AGENTS.md в свой CLAUDE.md, чтобы использовать один набор инструкций.