> ## Content Index
> Fetch the complete content index at: https://matveev.tech/llms.txt
> Use this file to discover other available public pages before exploring further.

# Память Claude Code — auto memory, rules и CLAUDE.md
- URL: https://matveev.tech/claude-code-memory-auto-rules/
- Published: 2026-02-13T09:12:31.000Z
- Updated: 2026-02-13T10:01:17.000Z
- Description: У Claude Code два типа памяти: файлы CLAUDE.md с вашими инструкциями и auto memory, где Claude записывает паттерны проекта сам. Плюс модульные правила и импорты.
- Author: Pavel Matveev
- Tags: Claude Code, Claude, Dev Tools, Гайд

> **TL;DR:** У Claude Code два вида памяти: CLAUDE.md (ты пишешь инструкции) и auto memory (Claude сам записывает полезное). Плюс система правил в `.claude/rules/`, импорты файлов и организационные политики. Всё загружается при старте сессии и помогает Claude понимать проект без повторных объяснений.

Каждый раз, когда ты запускаешь Claude Code, он начинает с чистого листа. Не помнит, что вы обсуждали вчера, не знает, что у тебя тесты запускаются через `pnpm test`, а не `npm test`. Точнее — не знал, пока не появилась нормальная система памяти.

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

## Два типа памяти

Принципиально разных:

**CLAUDE.md** — файлы, которые пишешь ты. Инструкции, правила, описание проекта. Claude читает их как руководство к действию.

**Auto memory** — заметки, которые Claude пишет сам. Паттерны проекта, решения багов, архитектурные наблюдения. Он записывает то, что считает полезным для будущих сессий.

Оба типа загружаются при старте каждой сессии. CLAUDE.md — полностью. Auto memory — первые 200 строк основного файла `MEMORY.md`, остальное Claude подгружает по необходимости.

## Иерархия CLAUDE.md

У CLAUDE.md есть шесть уровней, от самого широкого к самому узкому:

| Уровень        | Где лежит                                                 | Для кого                         |
| -------------- | --------------------------------------------------------- | -------------------------------- |
| Managed policy | /Library/Application Support/ClaudeCode/CLAUDE.md (macOS) | Вся организация. Ставит IT-отдел |
| User memory    | \~/.claude/CLAUDE.md                                      | Ты, во всех проектах             |
| Project memory | ./CLAUDE.md или ./.claude/CLAUDE.md                       | Команда (коммитится в git)       |
| Project rules  | ./.claude/rules/\*.md                                     | Команда, модульные правила       |
| Local memory   | ./CLAUDE.local.md                                         | Только ты, только этот проект    |
| Auto memory    | \~/.claude/projects/<project>/memory/                     | Только ты (Claude пишет сам)     |

Claude загружает всё это при старте. Более специфичные инструкции перекрывают более общие. Если в user memory написано «используй tabs», а в project memory «используй spaces» — победит project.

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

## Auto memory — Claude записывает сам

Это относительно новая фича, и мне она нравится. Claude замечает паттерны в проекте и сохраняет их в отдельную директорию.

Что он может записать: - Команды сборки и тестирования, которые ты используешь - Решения нетривиальных багов — чтобы не отлаживать одно и то же дважды - Архитектурные заметки: какие модули за что отвечают, как связаны - Твои предпочтения: стиль коммуникации, какие инструменты любишь

Всё хранится в `~/.claude/projects/<project>/memory/`:

```
memory/
├── MEMORY.md          # Индекс — загружается при старте (первые 200 строк)
├── debugging.md       # Заметки про отладку
├── api-conventions.md # Решения по API
└── ...

```

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

### Управление auto memory

Можно попросить Claude запомнить что-то конкретное: «запомни, что мы используем pnpm, а не npm» или «сохрани в память, что для API-тестов нужен локальный Redis». Claude запишет это в свои файлы.

Файлы памяти — обычный markdown, их можно редактировать вручную. Команда `/memory` откроет файл в системном редакторе.

Если auto memory не нравится, можно отключить:

```bash
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1  # Отключить
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=0  # Принудительно включить

```

Фича пока раскатывается постепенно — если не видишь auto memory, поставь `CLAUDE_CODE_DISABLE_AUTO_MEMORY=0`.

## Модульные правила в .claude/rules/

Для больших проектов один CLAUDE.md может стать неуправляемым. Директория `.claude/rules/` позволяет разбить инструкции по файлам:

```
.claude/rules/
├── frontend/
│   ├── react.md
│   └── styles.md
├── backend/
│   ├── api.md
│   └── database.md
└── testing.md

```

Все `.md` файлы подхватываются рекурсивно. Каждый файл — одна тема. Это удобнее, чем один гигантский CLAUDE.md.

### Условные правила по путям

Самая интересная часть. Правила можно привязать к конкретным файлам через frontmatter:

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

# Правила API

- Все эндпоинты должны валидировать входные данные
- Использовать стандартный формат ответа с ошибками
- Добавлять OpenAPI-комментарии

```

Эти правила загружаются только когда Claude работает с файлами в `src/api/`. Для остальных файлов они не видны — не засоряют контекст.

Поддерживаются glob-паттерны:

- `**/*.ts` — все TypeScript-файлы
- `src/components/*.tsx` — React-компоненты в конкретной папке
- `src/**/*.{ts,tsx}` — TypeScript и TSX через фигурные скобки

Правила без `paths` загружаются всегда, как обычный CLAUDE.md.

### Пользовательские правила

Можно создать правила для всех проектов в `~/.claude/rules/`:

```
~/.claude/rules/
├── preferences.md    # Личные предпочтения
└── workflows.md      # Любимые рабочие процессы

```

Они загружаются до проектных правил, поэтому проектные имеют приоритет.

## Импорты — ссылки на другие файлы

CLAUDE.md поддерживает импорт файлов через синтаксис `@path/to/file`:

```markdown
Смотри @README для описания проекта и @package.json для npm-команд.

# Дополнительные инструкции
- Git workflow @docs/git-instructions.md

```

Пути могут быть относительными (от файла, содержащего импорт) или абсолютными. Импорты рекурсивные — импортированный файл может импортировать другие, до 5 уровней вложенности.

Полезный паттерн для git worktrees: вместо CLAUDE.local.md (который существует только в одном worktree), можно импортировать файл из домашней директории:

```markdown
# Личные настройки
- @~/.claude/my-project-instructions.md

```

Тогда все worktrees подхватят одни и те же личные инструкции.

При первом обнаружении импортов Claude Code покажет диалог подтверждения. Это одноразовое решение — если отклонишь, импорты останутся отключёнными для этого проекта.

## Быстрый старт с /init

Если у тебя ещё нет CLAUDE.md, самый простой способ начать:

```
> /init

```

Claude Code проанализирует проект и создаст базовый CLAUDE.md с описанием стека, командами и основными правилами. Не идеально, но хорошая отправная точка — дальше допилишь вручную.

## Мои рекомендации по организации памяти

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

**User memory** (`~/.claude/CLAUDE.md`) — минимально. Язык ответов, пара личных предпочтений. 10-15 строк.

**Project CLAUDE.md** — описание проекта, стек, основные команды, критичные конвенции. 50-100 строк. Коммитится в git.

**`.claude/rules/`** — для проектов побольше. Отдельный файл на каждую тему: testing.md, api.md, code-style.md. С path-условиями где уместно.

**CLAUDE.local.md** — личные URL (staging, sandbox), тестовые данные, эксперименты.

**Auto memory** — не трогаю. Пусть Claude пишет свои заметки. Иногда захожу через `/memory` и удаляю устаревшее.

Главное правило: будь конкретным. «Используй 2 пробела для отступов» лучше, чем «форматируй код правильно». Claude интерпретирует инструкции буквально — чем точнее напишешь, тем точнее выполнит.

## Часто задаваемые вопросы

**Auto memory занимает место в контекстном окне?** Да, но только первые 200 строк MEMORY.md. Отдельные файлы (debugging.md, patterns.md) загружаются по запросу. Поэтому Claude старается держать MEMORY.md компактным.

**Можно ли шарить auto memory между разработчиками?** Нет, auto memory хранится локально в `~/.claude/projects/`. Для общих знаний используй CLAUDE.md и `.claude/rules/` — они коммитятся в git.

**Как сбросить auto memory проекта?** Удали директорию `~/.claude/projects/<project>/memory/`. Claude Code пересоздаст её при следующей сессии с нуля.

**Работают ли symlink-и в .claude/rules/?** Да. Можно сделать симлинк на общие правила из другого репозитория или домашней директории. Циклические ссылки обрабатываются корректно.

**Как посмотреть, какие файлы памяти загружены?** Команда `/memory` покажет все загруженные файлы памяти: CLAUDE.md, rules, auto memory.

## Что ещё почитать

- [CLAUDE.md — как писать инструкции для Claude Code](https://matveev.tech/claude-md-instruktsii-claude-code/) — детальный гайд по написанию инструкций
- [Настройка Claude Code — полный гайд по settings.json](https://matveev.tech/claude-code-settings-json/) — общая конфигурация
- [Память AI-агентов — почему хранить всё подряд не работает](https://matveev.tech/pamyat-ai-agentov/) — философия памяти в AI-системах
- [Claude Code для нетехнарей — 50 способов применения](https://matveev.tech/claude-code-bez-koda/) — если используешь Claude Code не только для кода