Как Claude Code загружает CLAUDE.md
Claude Code собирает инструкции из нескольких мест. Все найденные файлы попадают в контекст, более конкретные дополняют общие. Актуальная схема описана в документации Claude Code.
| Где лежит | Для кого | Что туда писать |
|---|---|---|
| Системный файл, который раскатывает ИТ | Все разработчики компании | Корпоративные правила: безопасность, запрещённые действия |
./CLAUDE.md или ./.claude/CLAUDE.md | Команда проекта, в git | Команды, структура, договорённости проекта |
~/.claude/CLAUDE.md | Один разработчик, все проекты | Личные предпочтения: язык ответов, стиль коммитов |
CLAUDE.md в подкаталоге | Команда, в git | Правила модуля. Загружается, когда агент читает файлы этого каталога |
Файлы в подкаталогах экономят контекст: правила фронтенда не попадают в сессию, где агент правит миграции. Это тот же принцип, что у вложенных AGENTS.md.
CLAUDE.md и AGENTS.md в одном репозитории
Claude Code читает CLAUDE.md. Codex, Cursor, Copilot, Gemini CLI и большинство других агентов читают AGENTS.md. Если в команде пользуются разными агентами, дублировать правила в двух файлах опасно: через месяц они разойдутся.
Рабочая схема — общие правила в AGENTS.md, в CLAUDE.md импорт и только то, что специфично для Claude Code:
# CLAUDE.md
@AGENTS.md
## Только для Claude Code
- Для поиска по коду запускай субагента Explore, основной контекст береги для решения.
- Длинный вывод тестов не читай целиком: запускай scripts/test-summary.sh.
Строка @AGENTS.md подставляет содержимое файла в контекст. Импорты работают и для других документов: @docs/architecture.md. Путь считается от файла, в котором стоит импорт. Импорты внутри блоков кода не срабатывают.
Импорт загружает документ целиком в каждую сессию. Для длинных документов лучше обычная ссылка с пояснением, когда их читать: агент откроет файл сам, когда задача его коснётся.
Правила по путям: .claude/rules
В каталоге .claude/rules/ правила раскладывают по темам: один файл на тему. Файл с полем paths во frontmatter загружается только при работе с подходящими файлами:
---
paths:
- "services/billing/**"
- "packages/money/**"
---
# Деньги
- Суммы только в Decimal, никаких float.
- Округление — банковское, функция roundMoney из packages/money.
- Любое изменение расчётов сопровождается тестом на граничные суммы.
Без поля paths файл загружается всегда, как основной CLAUDE.md. Разбивка по темам упрощает ревью правил: изменение в правилах про деньги смотрит владелец биллинга.
Что писать в CLAUDE.md
Состав тот же, что у AGENTS.md: команды, структура, договорённости, границы, процесс сдачи. Несколько правил, которые особенно влияют на качество работы Claude Code:
- Точные команды с флагами. Как запустить один тест, как прогнать линтер только по изменённым файлам. Агент запускает их десятки раз за задачу.
- Как проверить результат. Какие команды должны пройти перед сдачей, как поднять сервис локально и проверить сценарий.
- Чего не делать. Не трогать миграции, не ослаблять тесты, не добавлять зависимости без согласования.
- Где лежат знания. Ссылки на архитектурную карту, ADR, спеки.
Команда /init создаёт черновик CLAUDE.md по содержимому репозитория. Черновик полезен как старт, но в нём много того, что агент и так видит из кода. Его стоит сократить до правил, которые нельзя вывести из файлов.
Что не стоит доверять CLAUDE.md
CLAUDE.md — инструкция для модели. Модель может её пропустить, особенно в длинной сессии. Правила, которые должны соблюдаться всегда, переносят в механизмы, которые срабатывают без участия модели:
| Правило | Где его закрепить |
|---|---|
| Форматирование, порядок импортов | Форматтер и линтер в pre-commit и CI |
| Архитектурные границы между слоями | Архитектурные тесты или правила линтера |
| Запрет команд и доступа к каталогам | Права в настройках Claude Code, хуки |
| Обязательный прогон тестов перед сдачей | Хук на завершение задачи, CI |
| Повторяемые процедуры: релиз, миграция, ревью | Skills и команды Claude Code |
В CLAUDE.md остаётся то, что проверить автоматически нельзя: договорённости, контекст, порядок работы.
Правила Cursor и Copilot
Если часть команды работает в Cursor или с GitHub Copilot, у них свои форматы правил:
- Cursor: файлы
.cursor/rules/*.mdcс frontmatter. ПолеalwaysApply: trueвключает правило всегда,globs— для файлов по маске, поdescriptionагент сам подключает правило, если оно подходит к задаче. Старый файл.cursorrulesв корне считается устаревшим. Cursor также читает AGENTS.md. - GitHub Copilot: общий файл
.github/copilot-instructions.mdи файлы.github/instructions/*.instructions.mdс полемapplyToдля масок путей. Copilot coding agent читает и AGENTS.md.
Схема для смешанной команды: источник правды — AGENTS.md и база знаний. CLAUDE.md, правила Cursor и инструкции Copilot ссылаются на них и добавляют только специфичное для инструмента.
Как вести CLAUDE.md командой
- Файл в git, изменения через PR. Правило, которое влияет на работу агента у всех, проходит ревью как код.
- Владелец. Один-два человека отвечают за то, чтобы правила не противоречили друг другу и не устаревали.
- Правило появляется из случая. Агент ошибся, человек поправил результат руками — разбираем причину и меняем правило или проверку. Правила «на всякий случай» раздувают файл.
- Регулярная чистка. Раз в месяц удалить правила, которые уже закреплены линтером или потеряли смысл.
Правила агентов в программе Праксора
Собираем правила под ваш стек и ваши инструменты: AGENTS.md, CLAUDE.md, правила Cursor, хуки и проверки. Готовим 1–3 сотрудников, которые ведут harness после пилота. Программа
Вопросы
Где должен лежать CLAUDE.md?
Командный — в корне репозитория или в .claude/CLAUDE.md, в git. Личный — в ~/.claude/CLAUDE.md, он действует во всех проектах. Правила модулей — в CLAUDE.md внутри каталога модуля.
Читает ли Claude Code файл AGENTS.md?
Claude Code читает CLAUDE.md. Чтобы использовать общий AGENTS.md, в CLAUDE.md добавляют строку @AGENTS.md, и содержимое подставляется в контекст.
Почему Claude Code не выполняет правило из CLAUDE.md?
Файл слишком длинный, правило сформулировано общими словами или противоречит другому правилу. Правила, которые должны соблюдаться всегда, переносят в линтер, тесты, хуки и права доступа.
Чем CLAUDE.md отличается от правил Cursor?
Назначение одинаковое. CLAUDE.md — markdown для Claude Code, правила Cursor — файлы .mdc с полями alwaysApply, globs и description. Общие правила держат в AGENTS.md, который читают оба инструмента.