SpyBara
Go Premium

memory.md 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

This page contains 189 additions and 60 deletions.

2026
Thu 10 23:00 Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Wed 23 23:57

Как Claude запоминает ваш проект

Дайте Claude постоянные инструкции с помощью файлов CLAUDE.md или AGENTS.md и позвольте Claude автоматически накапливать знания с помощью auto memory.

Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:

  • Файлы CLAUDE.md: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст. Claude также может читать файлы AGENTS.md репозитория отдельно или вместе с CLAUDE.md
  • Auto memory: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений

На этой странице рассматривается, как:

CLAUDE.md и auto memory

Claude Code имеет две дополняющие друг друга системы памяти. Обе загружаются в начале каждого разговора. Claude рассматривает их как контекст, а не как принудительную конфигурацию. Чтобы заблокировать действие независимо от того, что решит Claude, используйте PreToolUse hook вместо этого. Чем более конкретны и лаконичны ваши инструкции, тем последовательнее Claude их соблюдает.

Файлы CLAUDE.md Auto memory
Кто это пишет Вы Claude
Что это содержит Инструкции и правила Знания и закономерности
Область действия Проект, пользователь или организация Отдельно для каждого репозитория, общая для всех его worktrees
Загружается в Каждый сеанс Каждый сеанс (первые 200 строк или 25KB)
Используется для Стандарты кодирования, рабочие процессы, архитектура проекта Ваши предпочтения, исправления, которые вы даёте Claude, контекст проекта, который Claude не может вывести из кода

Используйте файлы CLAUDE.md, когда вы хотите направить поведение Claude. Auto memory позволяет Claude учиться на ваших исправлениях без ручных усилий.

Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе конфигурация subagent.

Файлы CLAUDE.md

Файлы CLAUDE.md — это файлы markdown, которые предоставляют Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в простом текстовом формате; Claude читает их в начале каждой сессии. Если ваш репозиторий использует AGENTS.md вместо этого, см. AGENTS.md.

Когда добавлять в CLAUDE.md

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

  • Claude делает одну и ту же ошибку во второй раз
  • Проверка кода выявляет что-то, что Claude должен был знать об этой кодовой базе
  • Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии
  • Новому члену команды потребуется тот же контекст для продуктивной работы

Ограничивайте это фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в skill или path-scoped rule вместо этого. Обзор расширений охватывает, когда использовать каждый механизм.

Выберите, где разместить файлы 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/CLAUDE.md Личные предпочтения для всех проектов Предпочтения стиля кода, личные ярлыки инструментов Только вы (все проекты)
Инструкции проекта ./CLAUDE.md или ./.claude/CLAUDE.md. См. AGENTS.md для информации о том, когда ./AGENTS.md загружается вместо них или вместе с ними Инструкции, общие для команды по проекту Архитектура проекта, стандарты кодирования, общие рабочие процессы Члены команды через управление версиями
Локальные инструкции ./CLAUDE.local.md Личные предпочтения, специфичные для проекта; добавьте в .gitignore Ваши URL-адреса песочницы, предпочитаемые тестовые данные Только вы (текущий проект)

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

Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя project rules. Правила позволяют вам ограничить инструкции определёнными типами файлов или подкаталогами.

Установите проект CLAUDE.md

Проект CLAUDE.md может быть сохранён либо в ./CLAUDE.md, либо в ./.claude/CLAUDE.md. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через управление версиями, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях. Чтобы подтвердить загрузку файла, запустите /context в сессии и проверьте список в разделе Memory files.

Напишите эффективные инструкции

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

Размер: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Если ваши инструкции растут, используйте path-scoped rules, чтобы инструкции загружались только когда Claude работает с совпадающими файлами. Вы также можете разделить содержимое на imports для организации, хотя импортированные файлы всё ещё загружаются и входят в контекстное окно при запуске.

Структура: используйте заголовки markdown и маркеры для группировки связанных инструкций. Claude сканирует структуру так же, как читатели: организованные разделы легче следовать, чем плотные абзацы.

Специфичность: напишите инструкции, которые достаточно конкретны для проверки. Например:

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

Согласованность: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и .claude/rules/ для удаления устаревших или конфликтующих инструкций. В монорепозиториях используйте claudeMdExcludes для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.

Импортируйте дополнительные файлы

Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис @path/to/import. Импортированные файлы развёртываются и загружаются в контекст при запуске вместе с CLAUDE.md, который их ссылает.

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

Анализ импорта пропускает диапазоны кода Markdown и блоки кода с ограждением. Чтобы упомянуть путь в вашем CLAUDE.md без импорта, оберните его в обратные кавычки: написание `@README` сохраняет текст буквальным, в то время как @README вне обратных кавычек импортирует файл.

Чтобы включить README, package.json и руководство по рабочему процессу, ссылайтесь на них с синтаксисом @ в любом месте вашего CLAUDE.md:

See @README for project overview and @package.json for available npm commands for this project.

# Additional Instructions
- git workflow @docs/git-instructions.md

Для личных предпочтений для каждого проекта, которые не должны быть зафиксированы в управлении версиями, создайте CLAUDE.local.md в корне проекта. Он загружается вместе с CLAUDE.md и обрабатывается так же. Добавьте CLAUDE.local.md в ваш .gitignore, чтобы он не был зафиксирован. С установленным CLAUDE_CODE_NEW_INIT=1, запуск /init и выбор личного варианта делает это за вас.

Если вы работаете в нескольких git worktrees одного и того же репозитория, gitignored CLAUDE.local.md существует только в worktree, где вы его создали. Чтобы поделиться личными инструкциями между worktrees, импортируйте файл из вашего домашнего каталога вместо этого:

# Individual Preferences
- @~/.claude/my-project-instructions.md

Как загружаются файлы CLAUDE.md

Claude Code загружает CLAUDE.md и CLAUDE.local.md из вашего текущего рабочего каталога и каждого каталога выше него. Запустите Claude Code в foo/bar/ и он загружает инструкции из foo/bar/CLAUDE.md, foo/CLAUDE.md и любых файлов CLAUDE.local.md рядом с ними.

Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга. По дереву каталогов содержимое упорядочено от корня файловой системы вниз к вашему рабочему каталогу. Для примера foo/bar/, foo/CLAUDE.md появляется в контексте перед foo/bar/CLAUDE.md, поэтому инструкции ближе к месту, где вы запустили Claude, читаются последними. В каждом каталоге CLAUDE.local.md добавляется после CLAUDE.md, поэтому ваши личные заметки — это последнее, что Claude читает на этом уровне.

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

Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте claudeMdExcludes для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. Монорепозитории и большие репозитории.

Комментарии HTML на уровне блока (<!-- maintainer notes -->) в файлах CLAUDE.md удаляются перед внедрением содержимого в контекст Claude. Используйте их для оставления заметок для человеческих сопровождающих без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md непосредственно с помощью инструмента Read, комментарии остаются видимыми.

Загрузка из дополнительных каталогов

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

Чтобы также загружать файлы памяти из дополнительных каталогов, установите переменную окружения CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD:

CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

Это загружает CLAUDE.md, .claude/CLAUDE.md, .claude/rules/*.md и CLAUDE.local.md из дополнительного каталога. CLAUDE.local.md пропускается, если вы исключите local из --setting-sources.

Организуйте правила с помощью `.claude/rules/`

Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог .claude/rules/. Это сохраняет инструкции модульными и облегчает их обслуживание командами. Правила также могут быть ограничены определёнными путями файлов, поэтому они загружаются в контекст только когда Claude работает с совпадающими файлами, снижая шум и экономя пространство контекста.

Установите правила

Поместите файлы markdown в каталог .claude/rules/ вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например testing.md или api-design.md. Все файлы .md обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как frontend/ или backend/:

your-project/
├── .claude/
│   ├── CLAUDE.md           # Main project instructions
│   └── rules/
│       ├── code-style.md   # Code style guidelines
│       ├── testing.md      # Testing conventions
│       └── security.md     # Security requirements

Правила без frontmatter paths загружаются при запуске с тем же приоритетом, что и .claude/CLAUDE.md.

Правила проекта пропускаются, если вы исключите project из --setting-sources. До v2.1.211 правила, которые загружаются по требованию, включая path-scoped правила и правила в вложенных каталогах .claude/rules/, загружались даже когда project был исключён.

Path-specific правила

Правила могут быть ограничены определёнными файлами, используя YAML frontmatter с полем paths. Эти условные правила применяются только когда Claude работает с файлами, совпадающими с указанными шаблонами.

---
paths:
  - "src/api/**/*.ts"
---

# API Development Rules

- All API endpoints must include input validation
- Use the standard error response format
- Include OpenAPI documentation comments

Правила без поля paths загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Начиная с v2.1.198, сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном checkout.

Используйте glob шаблоны в поле paths для сопоставления файлов по расширению, каталогу или любой комбинации:

Шаблон Совпадает
**/*.ts Все файлы TypeScript в любом каталоге
src/**/* Все файлы в каталоге src/
*.md Файлы Markdown в корне проекта
src/components/*.tsx React компоненты в определённом каталоге

Вы можете указать несколько шаблонов и использовать расширение скобок для сопоставления нескольких расширений в одном шаблоне:

---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---

Каждая группа скобок умножает количество развёрнутых шаблонов: src/*.{ts,tsx} развёртывается в два шаблона, а {a,b}/{c,d}/*.{ts,tsx} в восемь. Чтобы сохранить расширение ограниченным, весь список paths правила имеет один бюджет из 1000 развёрнутых шаблонов и 4 МиБ, и шаблоны без скобок не учитываются в нём.

Claude Code использует любой шаблон, который превысит бюджет неразвёрнутым, и его буквальные скобки не совпадают ни с какими файлами. До v2.1.217 значение paths со многими группами скобок зависало или вызывало сбой CLI при запуске.

Синтаксис Glob рассматривает [ как начало выражения скобок, такого как [abc]. Шаблон с [, который не может быть прочитан как выражение скобок, такой как photos [2024/**, является недействительным: он не совпадает ни с какими файлами, и другие шаблоны правила продолжают работать. Чтобы совпадать с буквальным [ в имени файла, экранируйте его как photos \[2024/**. До v2.1.207 один недействительный шаблон заставлял инструмент Read не работать для каждого файла, для которого оценивалось правило, вместо того чтобы не совпадать ни с чем.

Каталог .claude/rules/ поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.

Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как внешний импорт. Связанные правила не загружаются, пока вы не одобрите внешние импорты для проекта, и после этого загружаются только те, которые не имеют поля paths. Claude Code просит это одобрение только когда файл памяти проекта импортирует файл вне рабочего каталога с @path, а не для самих символических ссылок. Чтобы загружать общие правила без этого одобрения, держите их в ~/.claude/rules/, где они применяются к каждому проекту на вашей машине.

Этот пример связывает как общий каталог, так и отдельный файл:

ln -s ~/shared-claude-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md

Правила уровня пользователя

Личные правила в ~/.claude/rules/ применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не являются специфичными для проекта:

~/.claude/rules/
├── preferences.md    # Your personal coding preferences
└── workflows.md      # Your preferred workflows

Правила уровня пользователя загружаются перед правилами проекта, давая правилам проекта более высокий приоритет.

Управляйте CLAUDE.md для больших команд

Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.

Развёртывание CLAUDE.md на уровне организации

Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.

1

Create the file at the managed policy location

  • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
  • Linux и WSL: /etc/claude-code/CLAUDE.md
  • Windows: C:\Program Files\ClaudeCode\CLAUDE.md
2

Deploy with your configuration management system

Используйте MDM, Group Policy, Ansible или аналогичные инструменты для распределения файла на машины разработчиков. См. управляемые настройки для других параметров конфигурации на уровне организации.

Ключ claudeMd позволяет вам поместить управляемое содержимое CLAUDE.md непосредственно внутри managed-settings.json вместо развёртывания отдельного файла.

Область действия: каждая сессия Claude Code на машине, в каждом репозитории. Для руководства, специфичного для репозитория, зафиксируйте проект CLAUDE.md вместо этого.

Приоритет: то же самое, что и управляемый файл CLAUDE.md. Загружается перед пользователем и проектом CLAUDE.md.

Где это соблюдается: только управляемые и политические настройки. Установка claudeMd в пользовательские, проектные или локальные настройки не имеет эффекта.

Пример ниже добавляет инструкции поведения непосредственно в файл управляемых настроек:

{
  "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."
}

Управляемый CLAUDE.md и управляемые настройки служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для руководства поведением:

Проблема Настроить в
Блокировать определённые инструменты, команды или пути файлов Управляемые настройки: permissions.deny
Принудительная изоляция песочницы Управляемые настройки: sandbox.enabled
Переменные окружения и маршрутизация поставщика API Управляемые настройки: env
Метод входа и ограничения организации Управляемые настройки: forceLoginMethod, forceLoginOrgUUID
Рекомендации по стилю кода и качеству Управляемый CLAUDE.md
Напоминания об обработке данных и соответствии Управляемый CLAUDE.md
Инструкции поведения для Claude Управляемый CLAUDE.md

Правила настроек принудительно применяются клиентом независимо от того, что Claude решит делать. Инструкции CLAUDE.md формируют поведение Claude, но не являются жёстким слоем принуждения.

Исключите определённые файлы CLAUDE.md

В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр claudeMdExcludes позволяет вам пропустить определённые файлы по пути или glob шаблону.

Этот пример исключает файл CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в .claude/settings.local.json, чтобы исключение оставалось локальным для вашей машины:

{
  "claudeMdExcludes": [
    "**/monorepo/CLAUDE.md",
    "/home/user/monorepo/other-team/.claude/rules/**"
  ]
}

Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить claudeMdExcludes на любом слое настроек: пользователь, проект, локальный или управляемая политика. Массивы объединяются по слоям.

Чтобы исключить файл правила, который вы достигаете через символическую ссылку, будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в .claude/rules/ или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.

Управляемые политические файлы CLAUDE.md не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.

AGENTS.md

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

Your repository has Claude reads
An AGENTS.md, and no CLAUDE.md or CLAUDE.local.md in your working directory or above it Your AGENTS.md
An AGENTS.md and a CLAUDE.md or CLAUDE.local.md in your working directory or above it Your CLAUDE.md files only
A CLAUDE.md that already imports AGENTS.md Your CLAUDE.md, with AGENTS.md included through the import

Чтобы изменить значение по умолчанию, например чтобы Claude всегда читал оба файла, читал только CLAUDE.md или читал только управляемые организацией инструкции, измените параметр Project instructions.

When Claude Code reads AGENTS.md

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

  • Учитываются, поэтому Claude читает их вместо AGENTS.md: CLAUDE.md, .claude/CLAUDE.md или CLAUDE.local.md в вашем рабочем каталоге или в любом каталоге выше него
  • Не учитываются и продолжают загружаться вместе с AGENTS.md: ваш ~/.claude/CLAUDE.md, управляемый организацией CLAUDE.md и файлы .claude/rules/

Когда ничего не учитывается, вот что Claude читает и как вы можете это определить:

  • При запуске сеанса: каждый AGENTS.md и .claude/AGENTS.md в вашем рабочем каталоге и в каталогах выше него. В интерактивном сеансе вы видите строку, например no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md в разговоре
  • Когда Claude работает в подкаталогах: AGENTS.md подкаталога, когда Claude открывает файл там с помощью инструмента Read и в этом подкаталоге нет ни одного из трёх файлов CLAUDE.md
  • Внутри каждого AGENTS.md: импорты @path расширяются, применяются паттерны claudeMdExcludes и подагенты, которые пропускают инструкции проекта, пропускают эти файлы тоже
  • Не читаются: AGENTS.local.md, AGENTS.override.md или что-либо в каталоге .agents/

Choose which instruction files load

Чтобы изменить, какие файлы читает Claude, введите /config в сеансе Claude Code, чтобы открыть панель параметров, затем установите Project instructions на одно из этих значений:

Value What Claude reads
claude-md-or-agents-md Ваши файлы CLAUDE.md или ваши файлы AGENTS.md, когда у вас нет CLAUDE.md или CLAUDE.local.md в вашем рабочем каталоге или выше него. Это значение по умолчанию
claude-md-and-agents-md Ваши файлы CLAUDE.md и AGENTS.md вместе, каждый CLAUDE.md каталога первым и его AGENTS.md после них. Claude Code пропускает AGENTS.md, который он уже загрузил, поэтому тот, который ваш CLAUDE.md импортирует или создаёт символическую ссылку на, не читается дважды
claude-md Только ваши файлы CLAUDE.md
managed-only Только управляемый организацией CLAUDE.md и auto memory при запуске. Ваши проектные, локальные и пользовательские файлы CLAUDE.md, ваши файлы .claude/rules/ и каждый AGENTS.md исключены. CLAUDE.md и файлы .claude/rules/ подкаталога, и path-scoped rules, всё ещё загружаются, когда Claude читает файл там

Вы также можете установить значение в файле параметров вместо /config. Добавьте его под ID встроенного плагина agents-md в pluginConfigs, в ~/.claude/settings.json, файл --settings или managed settings. Claude Code игнорирует его в файлах параметров проекта и локальных параметрах. Этот пример заставляет Claude читать оба файла:

{
  "pluginConfigs": {
    "agents-md@builtin": {
      "options": { "instructionFiles": "claude-md-and-agents-md" }
    }
  }
}

Ваше изменение применяется со следующего сообщения, которое вы отправляете, и в каждом новом сеансе.

When AGENTS.md support is unavailable

В этих сеансах Claude читает только файлы CLAUDE.md, и Project instructions не появляется в панели параметров /config:

Чтобы дать Claude ваш AGENTS.md в этих сеансах, импортируйте его из CLAUDE.md.

Where AGENTS.md differs from CLAUDE.md

AGENTS.md, который Claude читает через параметр Project instructions, отличается от CLAUDE.md в этих местах:

CLAUDE.md AGENTS.md read through the setting
/memory and the Memory files list in /context Listed Not listed. To confirm Claude read it, look for the AGENTS.md loaded line under the default value, or ask Claude what its project instructions say
InstructionsLoaded hooks Fire Don't fire. They fire as usual for an AGENTS.md that a CLAUDE.md imports or symlinks to
Directories you add with --add-dir while CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD is set Their CLAUDE.md loads Their AGENTS.md doesn't load
An @path import of a file outside your working directory Claude Code asks you to approve external imports Loads only if you already approved external imports for this project, with no prompt

Remove an earlier AGENTS.md workaround

Если вы настроили Claude Code на чтение AGENTS.md до того, как он это делал самостоятельно, вот что делать с каждой распространённой установкой:

  • CLAUDE.md, содержащий @AGENTS.md: вы можете оставить его. Сохранение импорта никогда не заставляет Claude читать AGENTS.md дважды, какое бы значение Project instructions вы ни использовали. Удалите CLAUDE.md, если он больше ничего не содержит, или сохраните его, если некоторые из ваших сеансов не могут загрузить AGENTS.md напрямую.
  • CLAUDE.md, который говорит Claude словами читать AGENTS.md: Claude видит AGENTS.md только если решит открыть файл. Удалите CLAUDE.md, чтобы Claude читал AGENTS.md напрямую, или замените предложение на импорт @AGENTS.md.
  • CLAUDE.md, символически связанный с AGENTS.md: ничего или удалите символическую ссылку. В любом случае Claude читает содержимое один раз.
  • Hook SessionStart, который выводит AGENTS.md: удалите его. После того как Claude начнёт читать AGENTS.md напрямую, hook добавит вторую копию в контекст.

Share one file with other coding tools

Когда Claude не читает ваш AGENTS.md напрямую, вы всё ещё можете сохранить его как один файл, который разделяют все инструменты, поместив импорт @AGENTS.md в CLAUDE.md рядом с ним. Делайте это, когда ваш проект также имеет CLAUDE.md, когда вы установили Project instructions на claude-md, или в сеансах, которые не могут загрузить AGENTS.md. Добавьте любые инструкции, специфичные для Claude, ниже импорта, и Claude читает импортированный файл первым, затем остальное:

@AGENTS.md

## Claude Code

Use plan mode for changes under `src/billing/`.

Если вам не нужно содержимое, специфичное для Claude, символическая ссылка также работает:

ln -s AGENTS.md CLAUDE.md

Команда не выводит ничего при успехе. Перед тем как выбрать символическую ссылку вместо импорта, проверьте эти ограничения:

  • Editing: Claude читает CLAUDE.md через ссылку, но инструменты Edit и Write отказываются писать через символическую ссылку, и отказ направляет Claude на редактирование целевой ссылки, AGENTS.md, вместо этого
  • Windows: если вы или кто-либо, кто клонирует репозиторий, работает на Windows, используйте импорт @AGENTS.md вместо этого. Создание символической ссылки там требует привилегий администратора или режима разработчика, и Git проверяет зафиксированную символическую ссылку как простой текстовый файл, если core.symlinks не включен, что оставляет этот клон с однострочным CLAUDE.md вместо ваших инструкций

С любым подходом запустите /context в вашем следующем сеансе и подтвердите, что CLAUDE.md появляется под Memory files.

Migrate instructions from other tools

Запуск /init читает файлы инструкций других инструментов и включает соответствующие части в сгенерированный CLAUDE.md:

  • Cursor rules в .cursor/rules/ или .cursorrules
  • Copilot rules в .github/copilot-instructions.md
  • С установленным CLAUDE_CODE_NEW_INIT=1: AGENTS.md, .devin/rules/, .windsurf/rules/ или .windsurfrules, и .clinerules

Вы также можете запустить /import, чтобы привести конфигурацию поддерживаемого AI-агента кодирования в Claude Code, который добавляет одноразовую копию файлов инструкций, таких как AGENTS.md, в соответствующий CLAUDE.md и переносит MCP servers, commands, subagents и skills. Требует Claude Code v2.1.213 или более поздней версии.

Auto memory

Auto memory позволяет Claude накапливать знания между сеансами без вашего участия. По мере работы Claude сохраняет четыре вида заметок для себя. Claude записывает вид как поле type в frontmatter файла памяти:

  • user: ваша роль, опыт и предпочтения в работе
  • feedback: исправления, которые вы даёте Claude, и подходы, которые вы подтверждаете
  • project: текущая работа, сроки и решения, которые Claude не может вывести из кода или истории git
  • reference: где найти информацию вне проекта, например трекер проблем или панель управления

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

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

Включите или отключите auto memory

Auto memory включена по умолчанию. Чтобы переключить её, откройте /memory в сеансе и используйте переключатель auto memory, который сохраняет autoMemoryEnabled в ваши пользовательские настройки в ~/.claude/settings.json. Чтобы отключить её для одного проекта, установите autoMemoryEnabled в настройках этого проекта:

{
  "autoMemoryEnabled": false
}

Чтобы отключить auto memory через переменную окружения, установите CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.

Местоположение хранилища

Каждый проект получает свой собственный каталог памяти в ~/.claude/projects/<project>/memory/. Путь <project> получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта.

Если вы установите CLAUDE_CODE_PROJECT_DIR_NAME рядом с CLAUDE_CONFIG_DIR, Claude Code использует это имя как каталог <project> под <config dir>/projects/ независимо от того, в каком репозитории вы его запустите, поэтому проекты, запущенные с этим каталогом конфигурации, используют один каталог auto memory. Требуется Claude Code v2.1.234 или позже.

Чтобы сохранить auto memory в другом местоположении, установите autoMemoryDirectory в вашем settings.json. Он читается из любой области настроек: пользователя, проекта, локальной, политики или --settings.

{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}

Значение должно быть абсолютным путём или начинаться с ~/.

Когда вы установите его в .claude/settings.json или .claude/settings.local.json проекта, Claude Code соблюдает его в соответствии с тем же правилом доверия рабочей области, что и hooks в файлах настроек. Пока permissions.blockReadsOutsideWorkingDirectories включена, Claude Code не загружает auto memory из каталога, который выбирает файл настроек, поставляемый репозиторием, и не сохраняет в него, где бы этот каталог ни находился.

Каталог содержит индекс MEMORY.md и один файл по теме на память:

~/.claude/projects/<project>/memory/
├── MEMORY.md           # Индекс, одна строка на память, загружается в каждый сеанс
├── user_role.md        # Одна память
├── feedback_testing.md # Одна память
└── ...                 # Любые другие файлы по темам, которые создаёт Claude

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

Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.

Claude Code удаляет старые стенограммы сеансов после периода хранения cleanupPeriodDays, но исключает файлы памяти в каталоге памяти из этого периода хранения. MEMORY.md и файлы по темам остаются до тех пор, пока вы или Claude не отредактируете или не удалите их.

Как это работает

Первые 200 строк MEMORY.md, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит MEMORY.md лаконичным, перемещая подробные заметки в отдельные файлы по темам.

После того как Claude пишет в MEMORY.md, Claude Code измеряет файл в соответствии с ограничениями чтения в 200 строк и 25KB. Если файл близок к ограничению, Claude Code напоминает Claude сократить его: оставить одну строку на запись, переместить детали в файлы по темам и объединить или удалить устаревшие записи. Если файл превышает ограничение, запись всё ещё успешна, но Claude Code возвращает ошибку, указывающую Claude переписать индекс, потому что всё после ограничения отбрасывается при следующей загрузке.

Это ограничение применяется только к MEMORY.md. Claude Code загружает файл CLAUDE.md размером до 4 MiB полностью и пропускает больший файл. Более короткие файлы дают лучшее соблюдение.

Claude Code не загружает файлы по темам, такие как user_role.md или feedback_testing.md, при запуске. Claude читает их по требованию, используя свои стандартные инструменты файлов, когда ему нужна информация.

Память auto memory основного разговора не загружается в подагентов; исключением является fork, который наследует родительский разговор и системный prompt. Собственная auto memory подагента, включённая с полем memory подагента, — это отдельный каталог.

Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите сообщения вроде "Saved 2 memories" или "Recalled 2 memories" в интерфейсе Claude Code, Claude активно обновляет или читает из ~/.claude/projects/<project>/memory/.

Когда Claude пишет файл памяти, который начинается с YAML frontmatter, Claude Code записывает время записи в поле modified frontmatter как временную метку ISO 8601. Временная метка показывает, насколько актуален факт, как для вас, так и для Claude, когда он читает память обратно. Любой файл, который имеет frontmatter, получает это поле при следующей записи Claude, включая файлы, созданные в более ранних версиях; Claude Code никогда не добавляет frontmatter к файлу, который его не имеет. Поле modified требует Claude Code v2.1.214 или позже.

Проверьте и отредактируйте вашу память

Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите /memory для просмотра и открытия файлов памяти из сеанса.

Просмотр и редактирование с помощью `/memory`

Команда /memory перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в разных областях пользователя и проекта, включая записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Она также позволяет переключать auto memory включена или отключена и предоставляет опцию для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его. Чтобы проверить, какие файлы CLAUDE.md и файлы правил загружены в текущий сеанс, запустите /context.

Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сеанс, пока он открыт. До версии 2.1.216 /memory ждал, пока вы закроете файл, прежде чем ответить. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.

Когда вы просите Claude что-то запомнить, например "всегда используйте pnpm, а не npm" или "помните, что тесты API требуют локального экземпляра Redis", Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например "добавьте это в CLAUDE.md", или отредактируйте файл самостоятельно через /memory.

Устранение неполадок с памятью

Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.

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

Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций.

Для отладки:

  • Запустите /context и проверьте список под Memory files, чтобы убедиться, что ваши файлы CLAUDE.md и CLAUDE.local.md загружены. Если файл CLAUDE.md отсутствует там, Claude не может его видеть. Файл AGENTS.md появляется там только когда CLAUDE.md его импортирует, а не когда Claude читает его напрямую. Используйте /memory для открытия и редактирования файлов.
  • Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. Выберите, где разместить файлы CLAUDE.md).
  • Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".
  • Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.

Если инструкция — это что-то, что должно выполняться в определённый момент, например перед каждым коммитом или после каждого редактирования файла, напишите её как hook. Hooks выполняются как команды shell в фиксированных событиях жизненного цикла и применяются независимо от того, что решит сделать Claude.

Для инструкций, которые вы хотите на уровне системного запроса, используйте --append-system-prompt. Вы передаёте это при запуске, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования. О том, как оно ведёт себя при возобновлении разговора, см. System prompt flags in resumed conversations.

Мой AGENTS.md не загружается

Если ваш репозиторий содержит AGENTS.md и Claude, похоже, не знает, что в нём написано, обычной причиной является CLAUDE.md где-то на пути проекта. По умолчанию Claude читает AGENTS.md только когда у вас нет CLAUDE.md или CLAUDE.local.md в вашем рабочем каталоге или выше него. Проверьте их в таком порядке:

  1. Ищите CLAUDE.md, .claude/CLAUDE.md или CLAUDE.local.md в вашем рабочем каталоге или в любом каталоге выше него, кроме вашего ~/.claude/CLAUDE.md. Если вы найдёте один, Claude читает его вместо AGENTS.md, если вы не установите Project instructions на claude-md-and-agents-md.
  2. Запустите claude --version и подтвердите v2.1.277 или более позднюю версию.
  3. Проверьте, является ли ваш сеанс одним из тех, которые не могут загружать AGENTS.md, например сеанс у стороннего поставщика или с отключённой телеметрией.
  4. Введите /config в вашем сеансе, чтобы открыть панель параметров и подтвердить, что Project instructions не установлен на claude-md или managed-only. Если вы вообще не видите этот параметр, ваш сеанс — это один из тех, которые не могут загружать AGENTS.md.

AGENTS.md не появляется в /memory или /context, когда Claude читает его напрямую, поэтому проверьте строку AGENTS.md loaded или спросите Claude, что говорят его инструкции проекта. Если вы хотите сохранить найденный CLAUDE.md или ваш сеанс не может загружать AGENTS.md, добавьте CLAUDE.md рядом с вашим AGENTS.md, который его импортирует.

Я не знаю, что сохранила auto memory

Запустите /memory и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.

Мой CLAUDE.md слишком большой

Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Claude Code пропускает файл размером более 4 MiB. Используйте path-scoped rules для загрузки инструкций только когда Claude работает с соответствующими файлами, или сократите содержимое, которое не требуется в каждом сеансе. Разделение на @path imports помогает организации, но не снижает контекст, так как импортированные файлы загружаются при запуске.

Проверка /doctor предлагает сокращения для проверенного CLAUDE.md: она удаляет содержимое, которое Claude может вывести из кодовой базы, такое как макеты каталогов, списки зависимостей и обзоры архитектуры, и сохраняет подводные камни, обоснование и соглашения, которые отличаются от стандартных инструментов. Проверка сокращения требует Claude Code v2.1.206 или более поздней версии.

Инструкции кажутся потерянными после `/compact`

CLAUDE.md в корне проекта выживает при сжатии: после /compact Claude повторно читает его с диска и повторно вводит его в сеанс. Вложенные файлы CLAUDE.md в подкаталогах и правила с paths: frontmatter перезагружаются по мере того, как Claude читает файлы, к которым они применяются.

Если инструкция исчезла после сжатия, она была дана только в разговоре, находится в вложенном CLAUDE.md, который ещё не перезагрузился, или является правилом с областью действия пути, которое не совпадало с файлом с момента сжатия. Добавьте инструкции только для разговора в CLAUDE.md, чтобы они сохранялись. Полный список см. в разделе What survives compaction.

Подробнее см. в разделе Write effective instructions для рекомендаций по размеру, структуре и конкретности.

  • Отладка вашей конфигурации: диагностируйте, почему CLAUDE.md или настройки не вступают в силу
  • Skills: упакуйте повторяемые рабочие процессы, которые загружаются по требованию
  • Settings: настройте поведение Claude Code с помощью файлов настроек
  • Subagent memory: позвольте subagents поддерживать собственную auto memory