- Файлы CLAUDE.md: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст
- Auto memory: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений
- Писать и организовывать файлы CLAUDE.md
- Ограничивать правила определёнными типами файлов с помощью
.claude/rules/ - Настраивать auto memory так, чтобы Claude автоматически делал заметки
- Устранять неполадки когда инструкции не соблюдаются
CLAUDE.md и auto memory
Claude Code имеет две дополняющие друг друга системы памяти. Обе загружаются в начале каждого разговора. Claude рассматривает их как контекст, а не как принудительную конфигурацию. Чем более конкретны и лаконичны ваши инструкции, тем последовательнее Claude их соблюдает.| Файлы CLAUDE.md | Auto memory | |
|---|---|---|
| Кто это пишет | Вы | Claude |
| Что это содержит | Инструкции и правила | Знания и закономерности |
| Область действия | Проект, пользователь или организация | Per working tree |
| Загружается в | Каждый сеанс | Каждый сеанс (первые 200 строк) |
| Используется для | Стандарты кодирования, рабочие процессы, архитектура проекта | Команды сборки, инсайты отладки, предпочтения Claude обнаруживает |
Файлы CLAUDE.md
Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждого сеанса.Выберите, где разместить файлы CLAUDE.md
Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Более конкретные местоположения имеют приоритет над более широкими.| Область действия | Местоположение | Назначение | Примеры использования | Общий доступ с |
|---|---|---|---|---|
| Управляемая политика | • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md• Linux и WSL: /etc/claude-code/CLAUDE.md• Windows: C:\Program Files\ClaudeCode\CLAUDE.md | Инструкции на уровне организации, управляемые IT/DevOps | Стандарты кодирования компании, политики безопасности, требования соответствия | Все пользователи в организации |
| Инструкции проекта | ./CLAUDE.md или ./.claude/CLAUDE.md | Инструкции, общие для команды проекта | Архитектура проекта, стандарты кодирования, общие рабочие процессы | Члены команды через систему контроля версий |
| Инструкции пользователя | ~/.claude/CLAUDE.md | Личные предпочтения для всех проектов | Предпочтения стиля кода, личные ярлыки инструментов | Только вы (все проекты) |
Установите CLAUDE.md проекта
CLAUDE.md проекта может быть сохранён либо в./CLAUDE.md, либо в ./.claude/CLAUDE.md. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях.
Пишите эффективные инструкции
Файлы CLAUDE.md загружаются в context window в начале каждого сеанса, потребляя токены наряду с вашим разговором. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их соблюдает. Лучше всего работают конкретные, лаконичные, хорошо структурированные инструкции. Размер: целевой показатель менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соблюдение. Если ваши инструкции становятся большими, разделите их с помощью импортов или файлов.claude/rules/.
Структура: используйте заголовки markdown и маркеры для группировки связанных инструкций. Claude сканирует структуру так же, как читатели: организованные разделы легче следовать, чем плотные абзацы.
Конкретность: пишите инструкции, которые достаточно конкретны для проверки. Например:
- “Используйте отступ из 2 пробелов” вместо “Правильно форматируйте код”
- “Запустите
npm testперед фиксацией” вместо “Протестируйте ваши изменения” - “Обработчики API находятся в
src/api/handlers/” вместо “Держите файлы организованными”
.claude/rules/, чтобы удалить устаревшие или конфликтующие инструкции. В монорепозиториях используйте claudeMdExcludes для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.
Импортируйте дополнительные файлы
Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис@path/to/import. Импортированные файлы расширяются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылается.
Допускаются как относительные, так и абсолютные пути. Относительные пути разрешаются относительно файла, содержащего импорт, а не рабочего каталога. Импортированные файлы могут рекурсивно импортировать другие файлы с максимальной глубиной пять переходов.
Чтобы подтянуть README, package.json и руководство рабочего процесса, ссылайтесь на них с помощью синтаксиса @ в любом месте вашего CLAUDE.md:
.claude/rules/.
AGENTS.md
Claude Code читаетCLAUDE.md, не AGENTS.md. Если ваш репозиторий уже использует AGENTS.md для других кодирующих агентов, создайте CLAUDE.md, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сеанса, затем добавляет остальное:
CLAUDE.md
Как загружаются файлы CLAUDE.md
Claude Code читает файлы CLAUDE.md, проходя вверх по дереву каталогов из вашего текущего рабочего каталога, проверяя каждый каталог на пути. Это означает, что если вы запустите Claude Code вfoo/bar/, он загружает инструкции из foo/bar/CLAUDE.md и foo/CLAUDE.md.
Claude также обнаруживает файлы CLAUDE.md в подкаталогах под вашим текущим рабочим каталогом. Вместо загрузки при запуске они включаются, когда Claude читает файлы в этих подкаталогах.
Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте claudeMdExcludes для их пропуска.
Блочные HTML-комментарии (<!-- maintainer notes -->) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих разработчиков без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md напрямую с помощью инструмента Read, комментарии остаются видимыми.
Загрузка из дополнительных каталогов
Флаг--add-dir дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются.
Чтобы также загружать файлы CLAUDE.md из дополнительных каталогов, включая CLAUDE.md, .claude/CLAUDE.md и .claude/rules/*.md, установите переменную окружения CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD:
Организуйте правила с помощью .claude/rules/
Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог .claude/rules/. Это делает инструкции модульными и облегчает их поддержку командами. Правила также могут быть ограничены определёнными путями файлов, поэтому они загружаются в контекст только когда Claude работает с соответствующими файлами, снижая шум и экономя пространство контекста.
Правила загружаются в контекст каждый сеанс или когда открываются соответствующие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте skills, которые загружаются только при их вызове или когда Claude определяет, что они имеют отношение к вашему запросу.
Установите правила
Поместите файлы markdown в каталог.claude/rules/ вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например testing.md или api-design.md. Все файлы .md обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как frontend/ или backend/:
paths загружаются при запуске с тем же приоритетом, что и .claude/CLAUDE.md.
Правила, специфичные для пути
Правила могут быть ограничены определёнными файлами с помощью YAML frontmatter с полемpaths. Эти условные правила применяются только когда Claude работает с файлами, соответствующими указанным шаблонам.
paths загружаются безусловно и применяются ко всем файлам. Правила с ограничением по пути срабатывают, когда Claude читает файлы, соответствующие шаблону, а не при каждом использовании инструмента.
Используйте glob-шаблоны в поле paths для сопоставления файлов по расширению, каталогу или любой комбинации:
| Шаблон | Соответствует |
|---|---|
**/*.ts | Все файлы TypeScript в любом каталоге |
src/**/* | Все файлы в каталоге src/ |
*.md | Файлы Markdown в корне проекта |
src/components/*.tsx | Компоненты React в определённом каталоге |
Делитесь правилами между проектами с помощью symlinks
Каталог.claude/rules/ поддерживает symlinks, поэтому вы можете поддерживать общий набор правил и связывать их с несколькими проектами. Symlinks разрешаются и загружаются нормально, а циклические symlinks обнаруживаются и обрабатываются корректно.
Этот пример связывает как общий каталог, так и отдельный файл:
Правила на уровне пользователя
Личные правила в~/.claude/rules/ применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не зависят от проекта:
Управляйте CLAUDE.md для больших команд
Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.Развёртывание CLAUDE.md на уровне организации
Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.Создайте файл в местоположении управляемой политики
- macOS:
/Library/Application Support/ClaudeCode/CLAUDE.md - Linux и WSL:
/etc/claude-code/CLAUDE.md - Windows:
C:\Program Files\ClaudeCode\CLAUDE.md
Развёртывание с помощью вашей системы управления конфигурацией
Используйте MDM, Group Policy, Ansible или аналогичные инструменты для распределения файла на машины разработчиков. Подробнее см. в разделе управляемые настройки для других параметров конфигурации на уровне организации.
| Проблема | Настроить в |
|---|---|
| Блокировать определённые инструменты, команды или пути файлов | Управляемые настройки: permissions.deny |
| Принудительная изоляция sandbox | Управляемые настройки: sandbox.enabled |
| Переменные окружения и маршрутизация поставщика API | Управляемые настройки: env |
| Метод аутентификации и блокировка организации | Управляемые настройки: forceLoginMethod, forceLoginOrgUUID |
| Рекомендации по стилю кода и качеству | Управляемый CLAUDE.md |
| Напоминания об обработке данных и соответствии | Управляемый CLAUDE.md |
| Поведенческие инструкции для Claude | Управляемый CLAUDE.md |
Исключите определённые файлы CLAUDE.md
В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. ПараметрclaudeMdExcludes позволяет пропустить определённые файлы по пути или glob-шаблону.
Этот пример исключает CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в .claude/settings.local.json, чтобы исключение оставалось локальным для вашей машины:
claudeMdExcludes на любом уровне настроек: пользователь, проект, локальный или управляемая политика. Массивы объединяются между уровнями.
Файлы CLAUDE.md управляемой политики не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.
Auto memory
Auto memory позволяет Claude накапливать знания между сеансами без вашего участия. Claude сохраняет заметки для себя по мере работы: команды сборки, инсайты отладки, заметки об архитектуре, предпочтения стиля кода и привычки рабочего процесса. Claude не сохраняет что-то каждый сеанс. Он решает, что стоит помнить, на основе того, будет ли информация полезна в будущем разговоре.Auto memory требует Claude Code v2.1.59 или позже. Проверьте вашу версию с помощью
claude --version.Включите или отключите auto memory
Auto memory включена по умолчанию. Чтобы переключить её, откройте/memory в сеансе и используйте переключатель auto memory, или установите autoMemoryEnabled в настройках вашего проекта:
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.
Местоположение хранилища
Каждый проект получает свой собственный каталог памяти в~/.claude/projects/<project>/memory/. Путь <project> получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта.
Чтобы сохранить auto memory в другом местоположении, установите autoMemoryDirectory в ваших пользовательских или локальных настройках:
.claude/settings.json), чтобы предотвратить перенаправление общим проектом записей auto memory в чувствительные местоположения.
Каталог содержит точку входа MEMORY.md и дополнительные файлы по темам:
MEMORY.md служит индексом каталога памяти. Claude читает и пишет файлы в этом каталоге на протяжении вашего сеанса, используя MEMORY.md для отслеживания того, что хранится где.
Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.
Как это работает
Первые 200 строкMEMORY.md загружаются в начале каждого разговора. Содержимое после строки 200 не загружается при запуске сеанса. Claude держит MEMORY.md лаконичным, перемещая подробные заметки в отдельные файлы по темам.
Это ограничение в 200 строк применяется только к MEMORY.md. Файлы CLAUDE.md загружаются полностью независимо от длины, хотя более короткие файлы дают лучшее соблюдение.
Файлы по темам, такие как debugging.md или patterns.md, не загружаются при запуске. Claude читает их по требованию, используя свои стандартные инструменты файлов, когда ему нужна информация.
Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите “Writing memory” или “Recalled memory” в интерфейсе Claude Code, Claude активно обновляет или читает из ~/.claude/projects/<project>/memory/.
Проверьте и отредактируйте вашу память
Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите/memory для просмотра и открытия файлов памяти из сеанса.
Просмотр и редактирование с помощью /memory
Команда /memory перечисляет все файлы CLAUDE.md и правила, загруженные в вашем текущем сеансе, позволяет переключать auto memory включена или отключена, и предоставляет ссылку для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе.
Когда вы просите Claude что-то запомнить, например “всегда используйте pnpm, а не npm” или “помните, что тесты API требуют локального экземпляра Redis”, Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например “добавьте это в CLAUDE.md”, или отредактируйте файл самостоятельно через /memory.
Устранение неполадок с памятью
Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.Claude не следует моему CLAUDE.md
Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций. Для отладки:- Запустите
/memoryдля проверки загрузки ваших файлов CLAUDE.md. Если файл не указан, Claude не может его видеть. - Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. Выберите, где разместить файлы CLAUDE.md).
- Сделайте инструкции более конкретными. “Используйте отступ из 2 пробелов” работает лучше, чем “красиво форматируйте код”.
- Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.
--append-system-prompt. Это должно быть передано при каждом вызове, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования.
Я не знаю, что сохранила auto memory
Запустите/memory и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.
Мой CLAUDE.md слишком большой
Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Переместите подробное содержимое в отдельные файлы, на которые ссылаются импорты@path (см. Импортируйте дополнительные файлы), или разделите ваши инструкции между файлами .claude/rules/.
Инструкции кажутся потерянными после /compact
CLAUDE.md полностью выживает при сжатии. После /compact Claude повторно читает ваш CLAUDE.md с диска и повторно вводит его свежим в сеанс. Если инструкция исчезла после сжатия, она была дана только в разговоре, а не написана в CLAUDE.md. Добавьте её в CLAUDE.md, чтобы она сохранялась между сеансами.
Подробнее см. в разделе Пишите эффективные инструкции для рекомендаций по размеру, структуре и конкретности.
Связанные ресурсы
- Skills: упакуйте повторяемые рабочие процессы, которые загружаются по требованию
- Settings: настройте поведение Claude Code с помощью файлов настроек
- Manage sessions: управляйте контекстом, возобновляйте разговоры и запускайте параллельные сеансы
- Subagent memory: позвольте subagents поддерживать собственную auto memory