- Что такое правила Claude Code?
- Расположение и область видимости файлов CLAUDE.md
- Что включить в CLAUDE.md
- Правила с областью видимости по пути: .claude/rules/
- settings.json против CLAUDE.md
- Авто-память: заметки Claude
- Лучшие практики для агентного кодирования
- Использование открытых моделей с вашей настройкой правил
- Часто задаваемые вопросы
- Рекомендуемые статьи
Правила Claude Code находятся в файлах CLAUDE.md — файлах Markdown, которые вы размещаете в репозитории проекта, домашнем каталоге или конфигурации организации. Claude читает их в начале каждого сеанса. В сочетании с правилами с привязкой к пути в .claude/rules/, файлом settings.json для разрешений и автоматической памятью для изученных предпочтений, система правил даёт вам точный и постоянный контроль над поведением агента кодирования в любой задаче.
Что такое правила Claude Code?
Каждый сеанс Claude Code начинается с пустого окна контекста. Правила — это способ предварительно загрузить контекст, необходимый Claude, чтобы он не начинал с нуля — и не повторял одни и те же ошибки.
Две взаимодополняющие системы отвечают за это:
Файлы CLAUDE.md — это файлы Markdown, которые вы пишете, а Claude читает их в начале каждого сеанса. Используйте их для инструкций, которые должны применяться всегда: команды сборки, соглашения по коду, архитектурные решения, жёсткие ограничения.
Авто-память — это заметки, которые Claude пишет сам на основе исправлений и предпочтений, которые вы даёте ему во время сеансов. Они накапливаются автоматически; Claude решает, что стоит сохранить, и читает эти заметки в будущих сеансах.
Обе системы загружаются в контекст в начале сеанса, но они не являются обязательной конфигурацией. Это инструкции, которым Claude следует как контексту. Для жёсткого принуждения — блокировки конкретной команды независимо от того, что решит сделать Claude — вам нужен хук PreToolUse или правило deny в settings.json. Это различие важно для автономных запусков, где вы хотите предсказуемого поведения, а не вероятностного соблюдения.
Расположение и область видимости файлов CLAUDE.md
Claude Code загружает файлы CLAUDE.md из нескольких мест, каждое из которых охватывает разную область. Они загружаются в порядке от самой широкой к самой конкретной:
| Расположение | Область видимости | Для чего используется |
|---|---|---|
~/.claude/CLAUDE.md |
Все проекты на вашем компьютере | Личные предпочтения, глобальные привычки рабочего процесса |
./CLAUDE.md (корень репозитория) |
Все сеансы в этом проекте | Соглашения проекта, команды сборки, общие правила команды |
./CLAUDE.local.md (корень репозитория) |
Только ваши локальные сеансы | Индивидуальные предпочтения разработчика; добавьте в .gitignore |
./src/CLAUDE.md (поддиректория) |
Сеансы, затрагивающие файлы в этой директории | Правила, специфичные для модуля, которые не применяются ко всему проекту |
Все найденные файлы объединяются в контекст — они не переопределяют друг друга. В рамках этого объединения содержимое от корня файловой системы до вашей рабочей директории упорядочивается от самого общего к самому конкретному, так что инструкция проекта появляется после инструкции пользователя. Это даёт естественную специфичность: правило проекта побеждает там, где оно конфликтует с правилом пользователя.
Вы можете импортировать дополнительные файлы с помощью ссылок @path внутри любого CLAUDE.md:
@./docs/architecture.md
@./CONTRIBUTING.md
Импортированные файлы загружаются в начале сеанса, так же как и сам CLAUDE.md. Импорты полезны для органиации, но не экономят конекст — содержание импорта учитывается в вашем токенном бюдете.
Для команд: фиксируйте проектный CLAUDE.md в системе контрла версий. Это гарантирует, что каждый сеанс Claude разработчика — и любые запуски агентов на основе CI — начинаются с одного и того же общего контекста. Относитесь к нему как к .eslintrc или pyproject.toml.
Что включить в CLAUDE.md
Самое полезное содержание — это то, что иначе вам пришлось бы объяснять заново каждый сеанс, или то, что новому члену команды нужно было бы знать в первый час.
Хорошие кандидаты:
- Команды сборки и тестирования, которые отличаются от очевидных умолчаний (
./scripts/test.sh --ci, а не простоnpm test) - Соглашения по коду, которые не покрываются линтером (“мы используем именованные экспорты везде; никаких экспортов по умолчанию в общих утилитах”)
- Архитектурные решения, которые не очевидны из чтения кода (“директория
lib/является общей для сервисов — не добавляйте туда логику, специфичную для сервиса”) - Известные “подводные камни” ("файл
config.tsгенерируется на этапе сборки; не едактируйте его вручную) - Ограничения рабочего процесса (“всегда создавайте ветку перед внесением изменений; отправляйте изменения на удалённый репозиторий перед открытем PR”)
Что лучше оставить за рамками:
- Списки директорий и деерья файлов — Claude читает их из репозитория
- Списки зависимостей — доступны из
package.json,pyproject.tomlи аналогичных файлов - Прозаические описания того, что делает существующий код — Claude читает исходный код напрямую
- Последние изменения — Claude использует
git logиgit diff, когда ему нужна истрия
Держите CLAUDE.md сосредоточенным на том, что нельзя вывести из чтения кодовой базы. Файлы длинее 200 строк потребляют больше контекста и снижают надёжность соблюдения. Команда /doctor в Claude Code анализирует закоммиченный CLAUDE.md и предлагает удалить содержание, которое можно вывести из кда — полезный спосб урезать раздутый файл.
Как писать эффективные правила
Конкретность имеет значение. Сравните:
# Размыто — менее последовательно
Следуйте стандартам кодирования проекта.
# Конкретно — более последовательно
- Используйте pnpm, а не npm или yarn
- Запускайте pnpm test перед каждым коммитом; не коммитьте, если тесты не проходят
- Экспортируйте все общие типы из src/types/index.ts — не определяйте типы встроенно в компонентах
- Директория data/ доступна только для чтения в тестах; используйте тестовые фикстуры из tests/fixtures/
Каждое правило должно быть выполнимым без дополнительных объснений. Если вам нужно объснить кому-то логику правила, добавьте её прямо в правло — это поможет Claude правильно применять правло в граничных случах.
Правила с областью видимости по пути: .claude/rules/
Директория .claude/rules/ позволяет прикреплять правила к конкретным шаблонам файлов, не загружая их в каждый сеанс. Claude обнаруживает файлы в .claude/rules/ и загружает их, когда вы работаете с соответствующими файлами.
Типичная структура для монорепозитория TypeScript:
.claude/rules/
api.md # правила для src/api/** — валидация запросов, форматы ошибок
components.md # правила для src/components/** — типы пропсов, стилистические соглашения
tests.md # правила для tests/** — шаблоны фикстур, настройка моков
database.md # правила для migrations/ и models/ — именование миграций, шаблоны запросов
Каждый файл правил использует YAML-шапку с полем paths, чтобы контролировать, когда он загружается:
---
paths:
- "src/api/**/*. ts"
- "src/api/**/*.test.ts"
---
# Правила разработки API
- Все обработчики маршрутов должны валидировать входные данные с помощью zod перед любой бизнес-логикой
- Возвращайте ошибки в виде `{ error: string; code: string }` — никогда не используйте простые строки
- Ограничение частоты запросов применяется на шлюзе; не добавляйте его внутри обработчиков
Правила без поля paths загружаются безусловно в начале сеанса, так же как и содержание в проектном CLAUDE.md. Правила с paths загружаются только тогда, когда Claude открывает файлы, соответствующие этим шаблонам.
Это сохраняет корневой CLAUDE.md проекта кратким и гарантирует, что подробные соглашения для одного слоя стека не заполняют конекст во время сеансов, сосредоточенных на другой области.
settings.json против CLAUDE.md
CLAUDE.md контролирует то, что Claude знает и намерен делать. settings.json контролирует то, что Claude фактически разрешено делать.
| CLAUDE.md | settings.json | |
|---|---|---|
| Назначение | Инструкции и контекст | Разрешения и конфигурация |
| Обязательно? | Нет — Claude действует на основе этого как указание | Да — правила deny блокируют вызовы инструментов безусловно |
| Формат | Свободный Markdown | Струкурированный JSON |
| Расположение | ./CLAUDE.md, ~/.claude/CLAUDE.md |
.claude/settings.json, ~/.claude/settings.json |
Проектный settings.json в .claude/settings.json:
{
"permissions": {
"allow": [
"Bash(pnpm test)",
"Bash(pnpm build)",
"Bash(git status)",
"Bash(git diff *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force*)",
"Bash(git reset --hard*)"
]
}
}
Список allow предварительно одобряет конкретные команды, чтобы Claude мог выполнять их без запроса. Это ускоряет интерактивные сеансы для операций, которым вы доверяете. Список deny блокирует команды безусловно — независимо от того, что решит сделать Claude, независимо от того, что говорит CLAUDE.md. Используйте deny для необратимых операций с продкционными даными или ифраструктурой.
Пользовательские настройки в ~/.claude/settings.json применяются ко всем проектм. Проектные настройки в .claude/settings.json применяются только в этом репозитории. Проектные настройки имею приоритет над пользовательскими там, где они перекрываются.
Если вашей команде также нужна справка по упаковке инструментов MCP, а не только правла для их упраления, сопоставьте эти ограничители с руководством по плагинам Claude Code. В нём объсняется, где плгин MCP вписывается относительно правил, хооков и отдельной конфигурации.
Авто-память: заметки Claude
Авто-память — это аналог CLAUDE.md. В то время как CLAUDE.md — это инструкции, которые пишите вы, авто-память — это заметки, которые Claude пишет сам на основе того, что он узнает во время ваших сеансов.
Когда вы исправляете Claude во время сеанса — “в этом проекте мы используем Viest, а не Jest” — он может сохранить это как заметку в ~/.claude/projects/<repo>/memory/. На следующем сеансе Claude читает эту заметку и применяет исправление без повторного объснения.
Директория памяти содержит:
~/.claude/projects/<repo>/memory/
MEMORY.md # индекс, который Claude испльзует для поиса других файлов; первые 200 строк загружаются в каждом сеансе
debugging.md # шаблоны, обнаруженные Claude при решении проблем в этом репозитории
conventions.md # соглашения, которые Claude у знал из ваших исправлений
Это машино-локально и привязано к репозиторию. Авто-память дополняет CLAUDE.md, а не заменяет его: CLAUDE.md — для общих правил проека, а авто-память — дляличных шаблонов, которые Claude узнл из работы с вами.
Авто-память — это читаемый Markdown, который вы можете редактировать или удалять в любое время. Запустите /memory внутри сеанса, чтобы просматривать и редактировать файлы. Если что-то устарело или неправильно, удалите это — Claude перестанет применть устаревшее правило.
Лучшие практики для агентного кодирования
Запуск Claude Code автономно — через claude -p, SDK агента или конвейеры CI — повышает ставки для настройки правил. Агент может выполнить десятки вызовов инструментов без пауз, и нет интерактивного обмена, чтобы улвить недоразумения в середине работы.
Пишите явные ограничения, а не просто предпочтения. Интерактивный Claude можт попросить вас уточнить.Автономный запуск работает с тем, что находит в контексте. Если “никогда не изменяйте миграционные файлы без предварительного создания снимка базы данных” важно, это должно быть в CLAUDE.md. Не предполагайте, что Claude выведет ограничение из структуры кодовой базы.
Используйте правила deny для всего, что трудно отменить. Предваительное одобрение Bash(pnpm build) ускоряет интерактивные сеансы и маорискованно. Но для автономных запусков список deny — ваша страховочная сетка для операций, которые затрагивают продкционную инфраструктуру, навсегда сохраняются в истории git или удаляют данные.
Держите проектный CLAUDE.md под версионым контролем. Зафиксированный CLAUDE.md в корне репозитория применяется единообразно к интерактивным сеансам, запускам CI и локальным агентам любого члена команды. Это правильное место для правил, которые определяют, что означет “правильно” для вашей кодовой базы.
Используйте .claude/rules/ для доменно-специфичного контента. Если ваш проект имеет различные слои — фронтенд-компоненты, бэкенд API, схема базы данных, скрипты инфраструктуры — поместите правила для каждого слоя в .claude/rules/ с привязкой к пути. Один файл CLAUDE.md на 400 строк со всем содержимым сложне для навигации Claude и стоит больше контекста на сеанс.
Перемещайте справочные маериалы в навыки. Навыки (.claude/skils/) загружаются по требованию, а не в начале сеанса. Длинная документация API, многошаговые процедуры ра зверывания и учебники по устранению неполаок долны быть в навыках, которые вы вызываете с помощью /deploy или /debug — а не в CLAUDE.md, где они потребляют конекст, да же когда нерелевантны.
Периодически пересматривайте авто-память. Авто-память накапливается со временем. Команды сборки меняются, сошшения рефакторируюся, шаблоны тестов сдвигаются. Устаревшая заметка памяи, котоая говорит “испльзуйте клиент v1 API”, когда вы перешли на v2, вызовет незаметные ошики в автономных запусках. Аудируйте ~/.claude/projects/<repo>/memory/, когда вносите существенне изменения в структуру проекта.
Использование открытых моделей с вашей настройкой правил
Контекст CLAUDE.md и .claude/rules/, которые вы создали, работают одинаково независимо от того, какая модель выполняет вывод. Когда ваши правила написаны, переключение бэкендов моделей сохраняет всё это — и открытые модели через LLM API Novita AI являются практичным вариантом для высокообъёмной агентной работы.
Конфигурация — одна переменная окружения:
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<ваш-ключ-api-novita>"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
С ANTHROPIC_BASE_URL, указыающим на Novita AI, Claude Code отправляет все запросы на вывод на совместимую с Anthropic конечную точку Novita вместо api.anthropic.com. Ваши CLAUDE.md, правила с привязкой к пути и settings.json применяются точно так же, как и раньше — уровень правил находится выше выбора модели.
Novita AI хостит модели с открытыми весами, ориентированные на кодирование, включая Qwen3-Coder, GLM-4.7, MiniMax M2.5 и DeepSeek V4. Эти модели оптимизированы для многошагового использования инструментов и вызова функций, что хорошо соответствует шаблонам вызова инструментов, которые Claude Code использует внутри для редактирования файлов, команд оболочки и навигации по репозиторию.
Для команд, запускающих агентные задачи в масштабе — конвейеры проверки кода, автоматический рефакторинг в больших репозиториях, генерация тестов — модели с открытыми весами на Novita обычно стоят значительно меньше за миллион токенов, чем проприетарные альтернативы, при этом всё так же эффективно читают и применяют ваши проектные правила.
Если вы запускаете агентов против производственной кодовой базы и хотите дополнительный уровень безопасности помимо правил deny, рассмотрите возможность объединения LLM API Novita с Agent Sandbox от Novita. Песочница предоставляет агенту полноценную среду Linux для файловых операций и выполнения команд, изолированную от вашей хост-системы. Ваш контекст CLAUDE.md путешествует с задачей; риск выполнения остаётся внутри контейнера.
Часто задаваемые вопросы
Что такое CLAUDE.md в Claude Code?
CLAUDE.md — это файл Markdown, который даёт Claude Code постоянные инструкции в разных сеансах. Он загружается в начале сеанса, так что Claude не нужно каждый раз заново объяснять соглашения вашего проекта. У вас могут быть файлы CLAUDE.md на нескольких уровнях: пользовательский уровень (~/.claude/CLAUDE.md) для личных предпочтений, которые действуют везде; проектный уровень (корень репозитория) для общих правил команды, зафиксированных в системе контроля версий; и уровень поддиректории для правил, специфичных для модуля.
Что следует включать в файлы правил claude?
Пишите то, что иначе вам пришлось бы объяснять заново каждый сеанс: команды сборки и тестирования, соглашения по коду, отличающиеся от настроек фреймворка по умолчанию, архитектурные ограничения и известные «подводные камни» кодовой базы. Оставьте за рамками то, что Claude может вывести из самой кодовой базы — файловые деревья, списки зависимостей и описания того, что делает существующий код. Держите файлы объёмом до 200 строк для стабильного соблюдения правил.
В чём разница между CLAUDE.md и settings.json в Claude Code?
CLAUDE.md — это инструкции, которым Claude следует как указаниям. settings.json — это конфигурация, которую Claude Code применяет на системном уровне. Правило в CLAUDE.md формирует то, что Claude намерен сделать; запись deny в settings.json безусловно блокирует вызов инструмента. Для всего, что ни в коем случае не должно произойти, независимо от решения Claude — необратимые удаления, принудительные пуши, операции в производственной среде — используйте settings.json, а не CLAUDE.md.
Что такое директория .claude/rules/?
.claude/rules/ содержит файлы правил с привязкой к пути, которые загружаются только тогда, когда Claude работает с файлами, соответствующими области действия правила. Это позволяет писать подробные, доменно-специфичные правила без их загрузки в каждый сеанс. Правила — это файлы Markdown с опциональной YAML-шапкой, содержащей поле paths с шаблонами glob. Правила без шапки paths загружаются безусловно в начале сеанса, как дополнительное содержимое CLAUDE.md.
Работает ли CLAUDE.md в CI и автоматизированных задачах claude code?
Да. Любой вызов claude -p, вызов SDK агента или конвейер CI, запущенный в каталоге репозитория, загружает проектный CLAUDE.md. Это делает CLAUDE.md эффективным для обеспечения единообразного поведения как в интерактивном, так и в автоматизированном контексте. Фиксация его в системе контроля версий гарантирует, что каждый запуск — локальный и CI — начинается с одного и того же общего контекста.
Как работает контекст claude code и как им управлять?
Контекст — это токенный бюджет текущего сеанса. Файлы CLAUDE.md, импортируемые ссылки, автопамять и истоия разовора — все вносит в нео. Управляйте им, держа CLAUDE.md кратким, используя .claude/rules/ для загруки доменного контента только тогда, когда он актуален, и используя /compact для суммирования длинных сеансов без потери непрерывности. После /compact Claude повторно читает проектный CLAUDE.md с диска и автоматически внедряет его обратно в сеанс.
Как использовать лучшие практики clode code для агентного кодирования в команде?
Зафиксируйте проектный CLAUDE.md в вашем репозитории, чтобы все члены команды и агенты CI использовали одни и те же правила. Используйте .claude/rules/ с привязкой к пути для доменно-специфичного контента. Добавьте правила deny в .claude/settings.json для операций, которые никогда не должны выполняться в автоматизированном контексте. Держите авто-память вне CI — она привязана к машине и разработчику; зафиксированный CLAUDE.md является источником истины для общего поведения.
Novita AI — это облачная платформа ИИ, которая предлагает разработчикам простой способ развёртывания моделей ИИ с помощью нашего простого API, а также предоставляет доступные и надёжные GPU-облака для создания и масштабирования.
Рекомендуемые статьи
- Как использовать агентов Claude Code: установка, инструменты, разрешения и рабочий процесс с песочницей
- Плагины Claude Code: как инструменты MCP расширяют Claude Code внешними возможностями
- Документация CLI Claude Code: установка, слеш-команды и интеграция с LLM API
- SDK Claude Code: создание автономных агентов с Python и TypeScript
- Создание агента кодирования с Agent Sandbox от Novita
Источники проверены 21 июля 2026 г.: Документация по памяти Claude Code, Обзор возможностей Claude Code, LLM API Novita AI
