Мастер Claude · Блок 2. Контекст и память

Урок 14 из 93 · ~10 мин чтения

.claude/rules/ — папка правил

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

Почему это важно именно вам

На тринадцатый день вы узнали, что CLAUDE.md — это постоянный контекст, который Claude читает при каждом запуске. Туда удобно класть то, что актуально всегда: ваш стиль работы, формат отчётов, ключевые термины. Но что делать, когда правила начинают множиться?

Представьте: вы добавили в CLAUDE.md правила для писем — как их форматировать, какой тон, какие фразы не использовать. Потом добавили правила для договоров — как анализировать риски, какие пункты проверять в первую очередь. Потом для отчётов, для аналитических задач, для переписки с подрядчиками. Через месяц CLAUDE.md превращается в документ на 150 строк, половина которых никак не связана с тем, что вы делаете прямо сейчас.

Это не просто эстетическая проблема. Большой CLAUDE.md занимает место в контексте Claude — то самое «окно внимания», которое ограничено. Чем больше неактуальных правил Claude держит в голове, тем меньше места остаётся для реального содержания вашей задачи. Правила для договоров не нужны, когда вы пишете письмо. Правила для писем не нужны, когда анализируете финансовый отчёт. И здесь появляется папка .claude/rules/.

Что это такое

Папка .claude/rules/ — это способ разбить единый CLAUDE.md на тематические файлы-правила, каждый из которых подключается только тогда, когда нужен. Есть и личный уровень: ~/.claude/rules/ действует во всех проектах и загружается раньше проектных правил. Не всегда, не автоматически — а только для конкретных папок или типов файлов, которые вы указали.

Аналогия из бизнеса: у вас в компании, скорее всего, есть разные регламенты. Регламент для работы с клиентами. Регламент по финансовой отчётности. Инструкция по безопасности. Все эти документы существуют одновременно — но бухгалтер не обязан держать в голове инструкцию по пожарной безопасности, когда закрывает квартал. Он читает нужный регламент, когда нужен именно он.

Правила в .claude/rules/ работают так же. Каждый файл — отдельный регламент. Вы указываете в нём: «этот регламент применяется только для папки Письма/» или «только для файлов с расширением .docx». Когда Claude получает задачу, связанную с этой папкой — он загружает правила. Когда работает с другими файлами — игнорирует. Это называется lazy-loading — ленивая загрузка. Правила подтягиваются по требованию, а не лежат в памяти постоянно.

Технически это выглядит так: при получении запроса Claude Code проверяет, какие файлы вовлечены в задачу, сравнивает их пути с паттернами из всех файлов в .claude/rules/, и подгружает только совпадающие. Правило подключается, когда Claude сам открывает подходящий файл своим инструментом чтения. Поэтому путь надо называть в запросе («посмотри Договоры/договор.txt»), а не подавать содержимое через пайп: при < Договоры/договор.txt Claude получает только текст, пути не видит и правило не подключит. Если путь не совпадает ни с одним паттерном — правила остаются на диске, в контекст не попадают.

Важный момент: правила в .claude/rules/ работают вместе с CLAUDE.md, а не вместо него. Когда Claude обрабатывает файл из папки Договоры/, он держит в голове и содержимое CLAUDE.md (общий контекст), и содержимое contracts.md (специфику для договоров). Оба слоя применяются одновременно.

Контекст — это ресурс

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

Как работает на практике

Шаг 1. Создайте папку правил

Если у вас уже есть .claude/ в рабочей папке (она создаётся при первом запуске Claude Code или при создании CLAUDE.md) — просто добавьте подпапку:

mkdir -p .claude/rules

Проверьте структуру:

ваша-рабочая-папка/
├── CLAUDE.md
├── .claude/
│   └── rules/
├── Письма/
├── Договоры/
└── Отчёты/

Шаг 2. Создайте первый файл правил

Правило — это обычный markdown-файл с frontmatter в начале. Frontmatter — это блок между тройными дефисами --- в самом начале файла. Именно в нём вы указываете, для каких путей действуют правила.

Создайте файл .claude/rules/emails.md:

---
description: Правила для работы с деловыми письмами
paths:
  - "Письма/**"
  - "**/*.eml"
  - "**/письмо*.txt"
---

# Правила для деловых писем

## Тон и стиль
- Деловой, без панибратства. Обращение на «вы» если не указано иное.
- Избегать канцелярита: «во избежание», «в целях», «осуществить» — заменять на простые глаголы.
- Письма до 200 слов. Если нужно больше — только с явной просьбой.

## Структура ответного письма
1. Приветствие + имя получателя
2. Суть в первом абзаце (не тянуть с главным)
3. Детали — если нужны
4. Чёткий call to action или следующий шаг
5. Подпись без должности (если не указано)

## Что не делать
- Не начинать с «Надеюсь, вы в порядке»
- Не извиняться за беспокойство — это слабая позиция
- Не задавать несколько вопросов подряд — только один главный

Шаг 3. Создайте правила для договоров

Файл .claude/rules/contracts.md:

---
description: Правила анализа договоров и юридических документов
paths:
  - Договоры/**
  - "**/*договор*.pdf"
  - "**/*договор*.docx"
  - "**/*соглашение*.docx"
---

# Правила анализа договоров

## Приоритеты проверки (в порядке важности)
1. Ответственность сторон — кто несёт убытки при срыве
2. Условия расторжения — как можно выйти из договора
3. Сроки и штрафные санкции — что будет при просрочке
4. Автоматическая пролонгация — есть ли молчаливое продление
5. Юрисдикция — в каком суде будут решаться споры

## Формат анализа
- Сначала: флаги риска (🔴 критично / 🟡 внимание / 🟢 норма)
- Потом: конкретные пункты с цитатами из договора
- В конце: рекомендация — подписывать / требовать правки / отклонить

## Что всегда проверять
- Формулировку «в одностороннем порядке» — очень опасна
- Условия изменения стоимости в процессе исполнения
- Кто является «уполномоченным представителем» для подписания актов

Шаг 4. Проверьте, что правила работают

Запустите Claude из вашей рабочей папки, передав файл из папки Договоры/:

claude -p "проанализируй договор Договоры/договор_подряда.txt"

Claude автоматически загрузит contracts.md, потому что файл попадает под путь Договоры/**. Вы увидите анализ с флагами риска — именно в формате, который вы описали в правиле.

Теперь запустите с письмом:

claude -p "напиши ответ на это письмо" < Письма/входящее.txt

Claude загрузит emails.md — и ответ будет в деловом стиле, по вашей структуре, без лишних извинений в начале.

Paths — это glob-паттерны

** означает «любой путь любой вложенности». Договоры/** — любые файлы внутри папки Договоры, в том числе в подпапках. **/*договор* — любые файлы, в имени которых есть слово «договор», в любой папке. Если хотите ограничить конкретным форматом — добавьте расширение: **/*договор*.docx.

Шаг 5. Добавьте правила для аналитики

Файл .claude/rules/analytics.md:

---
description: Правила для работы с отчётами и аналитическими данными
paths:
  - "Отчёты/**"
  - "Аналитика/**"
  - "**/*.xlsx"
  - "**/*.csv"
---

# Правила аналитических задач

## Формат вывода
- Начинать с executive summary — 3-4 предложения для руководителя
- Потом цифры и детали
- Вывод всегда заканчивать рекомендацией: «что делать»

## Числа
- Всегда указывать единицы измерения
- Сравнивать с предыдущим периодом если есть данные
- Выделять аномалии — значения, которые сильно выбиваются из ряда

## Таблицы
- Если нужна таблица — markdown-формат
- Не более 5-6 колонок без явного запроса на детали
- Сортировать по убыванию значимости

## Чего не делать
- Не интерпретировать данные как «хорошо» или «плохо» без контекста
- Не давать прогнозы без явного запроса
- Не округлять без предупреждения

Итоговая структура

После трёх уроков ваша структура выглядит так:

рабочая-папка/
├── CLAUDE.md              ← постоянный контекст (кто вы, общие правила)
├── .claude/
│   └── rules/
│       ├── emails.md      ← загружается для Письма/**
│       ├── contracts.md   ← загружается для Договоры/**
│       └── analytics.md   ← загружается для Отчёты/**, *.xlsx, *.csv
├── Письма/
├── Договоры/
└── Отчёты/

CLAUDE.md держит то, что нужно всегда. Папка rules/ держит то, что нужно в конкретной ситуации. Ничего лишнего в контексте.

Частые ошибки

Ошибка 1. Frontmatter без paths — правило становится глобальным

Если в файле правил нет поля paths: — Claude загружает его всегда, как обычный CLAUDE.md. Эффект от lazy-loading исчезает, вы просто разбили один большой файл на несколько маленьких, но ничего не выиграли. Всегда явно прописывайте paths: — даже если вам кажется, что правило «очевидно для чего».

# Неправильно — правило загружается всегда
---
description: Правила для писем
---

# Правильно — только для папки Письма
---
description: Правила для писем
paths:
  - "Письма/**"
---

Ошибка 2. Слишком широкие паттерны в paths

**/*.txt означает «все .txt-файлы в любой папке». Если у вас в рабочей папке есть текстовые файлы разного назначения — правила для писем будут применяться и к отчётам, и к договорам, и к заметкам. Сужайте паттерны: сначала по папке, потом по имени файла.

# Слишком широко — все .txt везде
paths:
  - "**/*.txt"

# Точнее — только в конкретной папке
paths:
  - "Письма/**/*.txt"
  - Письма/*.txt

Ошибка 3. Дублирование правил между CLAUDE.md и rules/

Бывает, что человек написал «деловой тон» в CLAUDE.md, а потом добавил то же самое в rules/emails.md. Теперь для писем Claude видит это правило дважды. Прямого вреда нет, но контекст расходуется. Держите общие принципы в CLAUDE.md, а специфику — только в rules/.

Ошибка 4. Забыть, что paths — это относительный путь

Пути в paths: считаются относительно папки, где лежит .claude/. Если ваш .claude/ находится в /Users/вы/Работа/, то путь Договоры/** означает /Users/вы/Работа/Договоры/**. Абсолютные пути здесь не работают. Проверьте, что файлы действительно лежат там, где вы указали в паттерне.

Файлы rules/ не должны попадать под собственные паттерны

Если вы укажете paths: - **/*.md в правиле — оно начнёт применяться, в том числе к самому себе при редактировании. Это не сломает работу, но может привести к неожиданному поведению. Используйте достаточно специфичные паттерны.

Когда нужно / когда нет

Папка .claude/rules/ нужна, когда у вас есть несколько типов задач с разными требованиями к формату, стилю или процессу. Два-три отдельных «режима работы» — письма, договоры, отчёты — уже достаточная причина начать. Если CLAUDE.md перевалил за 80-100 строк, скорее всего, часть этого можно перенести в rules/.

Ещё один признак того, что пора использовать rules/: вы замечаете, что Claude иногда применяет «деловой стиль писем» там, где это не нужно — например, в аналитическом отчёте. Это означает, что правила, которые вы написали для одного контекста, просачиваются в другой. Разделение по папкам решает эту проблему чисто и без дополнительных оговорок в промтах.

Папка не нужна, если вы работаете с одним типом задач. Если Claude Code используете только для анализа отчётов — держите всё в CLAUDE.md, не усложняйте структуру. Lazy-loading выигрывает только тогда, когда правила действительно разные и применяются в разных ситуациях.

Также не стоит создавать отдельный файл правил под каждую мелочь. Если дополнение к правилам — два-три предложения — добавьте их в CLAUDE.md или в существующий файл rules/. Один файл на тему лучше, чем пять файлов с тремя строками каждый.

Сколько файлов правил разумно держать

Практический ориентир: 3-7 файлов в rules/ для большинства задач директора. Если больше — возможно, часть правил слишком специфична и стоит их объединить или упростить.

Связь с другими уроками

Задание на сегодня

Создайте один файл правил для самого частого типа задач, с которым вы работаете в Claude Code.

  1. Создайте папку .claude/rules/ в своей рабочей директории:
mkdir -p .claude/rules
  1. Создайте файл для вашего частого сценария — например .claude/rules/emails.md или .claude/rules/reports.md. Добавьте frontmatter с paths: и 3-5 конкретных правил, которые вы хотите применять только для этого типа задач.

  2. Запустите Claude с файлом из соответствующей папки и убедитесь, что поведение изменилось в соответствии с правилами.

Критерий выполнено: файл .claude/rules/ваша-тема.md существует, содержит frontmatter с paths:, и при запросе с файлом из нужной папки Claude отвечает в соответствии с вашими правилами — а не в стандартном режиме.

Резюме

Следующий урок откроется после отметки.