Вайбцех

CLAUDE.md больше 200 строк в 2026: удалить и пересобрать короткий файл

Опубликовано 16 мин чтенияБазовый
Автор показывает переполненный файл CLAUDE.md и короткую новую версию, рядом удивлённый кот.
Что узнаете
  • понятное объяснение назначения CLAUDE.md
  • критерии для удаления и переписывания файла
  • короткий пример CLAUDE.md
  • порядок создания и проверки через /context
  • граница между CLAUDE.md, skills, rules, settings и hooks
Применить за 30 мин
Базовый
7просмотров
Что в инструкции
  1. Что такое CLAUDE.md простыми словами
  2. Зачем Claude Code нужен файл с правилами проекта
  3. Где лежит CLAUDE.md и какой файл видит Claude
  4. Что положить в CLAUDE.md, а что оставить за пределами файла
  5. Когда правило держать в CLAUDE.md, а когда вынести в skills
  6. Удалить старый CLAUDE.md или переписать его с нуля
  7. Как проверить, что Claude действительно видит CLAUDE.md
  8. Как сделать CLAUDE.md для проекта: от пустого файла до первой проверки
  9. Пример короткого CLAUDE.md для первого проекта
  10. Почему Claude нарушает правило, даже если оно написано в файле
  11. Что делать с секретами, опасными командами и обязательными проверками
  12. Чем CLAUDE.md отличается от README.md, AGENTS.md и rules
  13. Короткие ответы на вопросы о CLAUDE.md
  14. Вопросы и ответы

Что такое CLAUDE.md простыми словами

Я проверял: внутри нет специального языка. Подойдут заголовки, списки и короткие фразы. Например:

md
## Commands
Коротко: здесь указаны основные команды для установки, запуска и проверки проекта.

- Start the app: `npm run dev`
- Run tests: `npm test`

## Rules
Коротко: здесь перечислены постоянные правила работы Claude с кодовой базой.

- Read a file before editing it.
- Do not change unrelated files.

Вот ключевая разница между файлами:

ФайлДля когоЧто содержит
README.mdЧеловекОписание проекта, установка, запуск
CLAUDE.mdClaudeКоманды, рабочие правила, частые ошибки

Разница заметна на простом примере. В README можно написать: «Установи зависимости и запусти приложение». В CLAUDE.md лучше указать точные команды, если они нестандартны или их нельзя надёжно вывести из файлов проекта.

Файл может описывать проектный, личный или организационный контекст. В статье речь в основном о проектном файле рядом с кодом.

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

- Claude Code Docs, How Claude remembers your project

Зачем Claude Code нужен файл с правилами проекта

Claude может открыть файлы и изучить кодовую базу. Но одного кода часто недостаточно. В проекте могут быть решения, которые не видны из структуры:

  • запускать проверку нужно нестандартной командой;
  • конкретную папку нельзя редактировать вручную;
  • бизнес-логику держат отдельно от компонентов интерфейса;
  • перед изменением нужно найти уже существующую реализацию;
  • определённый файл нельзя переименовывать без отдельного согласования.

CLAUDE.md передаёт такой контекст заранее. Это уменьшает число повторяющихся объяснений в каждой сессии.

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

Anthropic описывает похожий сценарий так: Claude читает файлы CLAUDE.md, находит подходящие и разбирается в зависимостях незнакомой кодовой базы. Задача файла состоит в том, чтобы быстрее ввести Claude в правила проекта.

Я вывел простое практическое правило: добавляй строку, если без неё Claude уже ошибался или не способен понять важную особенность проекта. Правило должно появляться из конкретной потребности, а не только потому, что звучит разумно.

Где лежит CLAUDE.md и какой файл видит Claude

Кот прикрывает морду у схемы расположения файлов CLAUDE.md по папкам.

На практике встречаются такие уровни:

  • корневой CLAUDE.md в папке проекта;
  • CLAUDE.md в родительской папке;
  • CLAUDE.md в дочерней папке;
  • пользовательский файл ~/.claude/CLAUDE.md;
  • локальный CLAUDE.local.md;
  • проектный файл .claude/CLAUDE.md.

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

Найденные файлы объединяются в общий контекст. Поэтому одно и то же правило в нескольких местах может запутать Claude, а противоречие между уровнями нельзя автоматически считать решённым по простому правилу приоритета.

Для дополнительных материалов есть импорт через @путь/к/файлу:

md
@README.md
@docs/testing.md

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

Что положить в CLAUDE.md, а что оставить за пределами файла

Я проверяю каждую строку через вопрос: без неё Claude с высокой вероятностью ошибётся?

Подходящее содержимое:

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

Не добавляй:

  • полную API-документацию;
  • длинный учебник;
  • changelog;
  • описание каждого файла;
  • очевидные правила вроде «пиши чистый код»;
  • то, что уже понятно из дерева проекта;
  • длинную многошаговую процедуру;
  • правило, которого команда сама не придерживается.

Например, строка «используй существующие зависимости» может быть полезна, если Claude уже добавлял новые пакеты без причины. А строка «соблюдай качество кода» слишком общая: по ней нельзя проверить конкретный результат.

Хорошее правило описывает действие:

md
- Read the file before editing it.
- Search for existing functionality before writing new code.
- Run the smallest relevant test after changes.
- Ask before deleting or significantly restructuring existing code.

Плохое правило оставляет всё на усмотрение модели:

md
- Always write perfect code.
- Follow best practices.
- Make the project maintainable.

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

Команды Bash, которые Claude не может угадать.

- Claude Code Docs, Best practices for Claude Code

Если материал длинный, вынеси его в отдельный Markdown-файл и подключи через @. Не превращай CLAUDE.md в оглавление всей кодовой базы.

Когда правило держать в CLAUDE.md, а когда вынести в skills

CLAUDE.md загружается в каждую сессию. Поэтому он подходит для короткого постоянного контекста:

  • где лежит основной код;
  • какой командой запускать проект;
  • какую проверку выполнять после изменения;
  • какие папки нельзя менять;
  • какое архитектурное решение нельзя нарушать.

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

Разделение можно проверить так:

  1. Правило относится к любой работе в проекте. Оставь его в CLAUDE.md.
  2. Процесс запускается только по конкретному запросу. Вынеси его в skill.
  3. Материал длинный и нужен редко. Вынеси его в skill или отдельный файл.
  4. Процесс требует нескольких последовательных действий. Подходит skill.
  5. После добавления текста каждая сессия стала перегруженной. Убери редкий сценарий из CLAUDE.md.

Документация разделяет эти роли прямо: CLAUDE.md добавляет постоянный контекст, а skills дают повторно используемые знания и вызываемые рабочие процессы.

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

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Удалить старый CLAUDE.md или переписать его с нуля

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

Борис Черни рекомендует при разрастании файла до тысяч токенов удалить его, начать заново и вернуть только инструкции, которые нужны, когда модель сбивается с пути (пересказ, оригинал на английском). Источник: Inside Claude Code with its creator Boris Cherny.

Есть два разных действия:

ДействиеЧто происходитКогда применять
ПереписатьОтредактировать существующий текстФайл в целом адекватен, но есть устаревшие строки
ПересобратьУдалить старый набор и написать короткую версию на основе проверенных ошибокФайл раздут, содержит дубли, устаревшие и бесполезные правила

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

  • ответы на каждую старую ошибку;
  • дублирующиеся формулировки;
  • длинные объяснения;
  • правила, которые больше не нужны;
  • запреты без технической проверки;
  • инструкции, относящиеся только к одной папке или задаче.

Перед удалением сохрани старую версию в истории Git. Затем создай короткий файл и проверь его на небольшой задаче. Не возвращай строку просто потому, что она была в старой версии.

Общий ориентир для короткого файла - до 200 строк. В рекомендациях Бориса Черни фигурирует размер примерно до 2 000 токенов: Токен, единица измерения контекста, накапливается быстро, и каждая лишняя строка отнимает место у полезных инструкций. Это не закон и не гарантия качества. Смысл в другом: каждая строка должна оправдывать постоянное присутствие в контексте.

Как проверить, что Claude действительно видит CLAUDE.md

Порядок проверки:

  1. Открой терминал.
  2. Перейди в корневую папку проекта.
  3. Запусти Claude Code из этой папки.
  4. Выполни команду /context.
  5. Найди в выводе раздел Memory files.
  6. Проверь, что там указан нужный CLAUDE.md.
  7. Если файла нет, проверь имя, путь и текущую папку.

Команда для перехода зависит от расположения проекта:

bash
cd path/to/project
claude

Внутри Claude Code введи:

/context

Проверка через /context важнее ответа «я прочитал файл» (подробнее о том, как Claude Code теряет контекст и чем отличается от Cursor). Модель может неверно описать состояние контекста. /context показывает, какие memory-файлы Claude Code загрузил в сессию.

Если файл найден, это ещё не означает, что каждое правило будет выполнено. Проверка отвечает только на вопрос «файл загружен или нет». Поведение нужно проверять отдельной небольшой задачей.

Как сделать CLAUDE.md для проекта: от пустого файла до первой проверки

Сиба-ину одобряет три шага создания и проверки файла CLAUDE.md.
  1. Открой корень проекта

    Перейди в папку, из которой обычно запускаешь Claude Code. Проверь, что рядом лежит код проекта и файлы зависимостей.

  2. Создай CLAUDE.md

    Имя должно быть именно CLAUDE.md. Не добавляй второе расширение вроде .txt.

    bash
    touch CLAUDE.md
  3. Запиши реальные команды

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

    md
    ## Commands
    Коротко: здесь указаны проверенные команды для установки, запуска, тестирования, линтинга и сборки проекта.
    
    - Install: `npm install`
    - Run locally: `npm run dev`
    - Test: `npm test`
    - Lint: `npm run lint`
    - Build: `npm run build`
  4. Добавь стабильные правила

    Запиши расположение основного кода, порядок перед редактированием и границы изменений. Не добавляй общие пожелания без конкретного действия.

  5. Запусти Claude из корня

    Это нужно для корректного поиска файлов по дереву папок.

    bash
    cd path/to/project
    claude
  6. Проверь файл через `/context`

    Внутри сессии введи команду и найди CLAUDE.md среди Memory files.

    /context
  7. Дай небольшую задачу

    Не начинай с большой переделки. Попроси изменить один понятный элемент и проверить результат.

    prompt
    Найди существующий код, связанный с главной страницей. Сначала прочитай файл, который собираешься менять. Измени только текст кнопки. После изменения выполни подходящую проверку и сообщи, какие файлы изменены.
  8. Проверь результат руками

    Посмотри изменённый файл и результат работы приложения. Убедись, что Claude не изменил несвязанные файлы.

  9. Добавь правило после ошибки

    Если Claude сделал конкретную нежелательную вещь, запиши короткое правило, которое предотвращает именно её. Не добавляй пять новых запретов «на всякий случай».

  10. Повтори маленькую проверку

    Снова запусти задачу с тем же типом изменения и посмотри, помогло ли правило.

Для подключения отдельного файла используй импорт:

md
@docs/testing.md

Так можно не перегружать основной файл длинным, но нужным материалом. Импортируй только то, что действительно нужно рабочему процессу.

Пример короткого CLAUDE.md для первого проекта

Ниже - мой claude md examples: заготовка на 17 строк. Команды показаны для проекта с npm. Замени их на реальные команды своего проекта.

md
# Project instructions

## What this is
Коротко: это небольшое веб-приложение с основным кодом в `src/` и тестами в `tests/`.

- This is a small web application.
- Main code lives in `src/`.
- Tests live in `tests/`.

## Commands
Коротко: эти команды устанавливают зависимости, запускают, проверяют и собирают проект.

- Install: `npm install`
- Run locally: `npm run dev`
- Test: `npm test`
- Lint: `npm run lint`
- Build: `npm run build`

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

- Search for existing code before writing new code.
- Read a file before editing it.
- Do not change unrelated files.
- Ask before making an ambiguous choice.
- Check the result after every change.

Что здесь нужно заменить:

  • описание проекта;
  • src/, если основной код лежит в другой папке;
  • tests/, если тесты лежат иначе;
  • команды npm на команды своего проекта;
  • формулировки правил под реальные ошибки.

Строка «Search for existing code before writing new code» нужна, чтобы Claude не создавал вторую реализацию той же функции. Строка «Read a file before editing it» задаёт порядок работы. Запрет несвязанных изменений ограничивает масштаб задачи. Вопрос при неоднозначности не даёт молча додумывать требования.

Не добавляй в этот шаблон полную структуру проекта, описание каждого компонента и длинные инструкции для редких процессов. Для них подойдут README, отдельные rules-файлы или skills.

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Почему Claude нарушает правило, даже если оно написано в файле

Показательный пример описан в проверке компактного CLAUDE.md со skills и preflight-проверками. Скрипт нашёл 104 нарушения уже записанных правил:

  • хардкод вместо enum;
  • дублирующиеся helper-функции;
  • логика в контроллерах вместо сервисов.

Проверка заняла меньше секунды и не имела зависимостей.

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

- Ben, Why Claude Code Ignores CLAUDE.md

Из этого следует граница файла:

  1. Инструкция подсказывает модели, как работать.
  2. Модель может решить, что правило не относится к текущей задаче.
  3. Модель может неверно применить правило.
  4. Техническая проверка видит результат, а не намерение.
  5. Линтер, тест или hook способен остановить процесс или показать ошибку.

Короткий CLAUDE.md не гарантирует TDD. Он не гарантирует, что Claude не сделает commit. Он не гарантирует отсутствие секретов в изменениях. Он не гарантирует архитектурную дисциплину.

Поэтому правило «после изменения запусти тесты» полезно как напоминание. Для обязательного запуска нужна автоматическая проверка. Если нужно дать Claude доступ к внешним инструментам, разберись с MCP-сервером - он связывает Claude Code с файлами, базами и сервисами. Правило «не коммить ключи» полезно как подсказка. Для защиты нужны permissions и проверка секретов.

Что делать с секретами, опасными командами и обязательными проверками

Мужчина с ладонью на лице смотрит на настройки защиты секретов и красные кресты.

Разделяй задачи по механизму:

  • объяснить Claude команды и правила проекта - CLAUDE.md;
  • запретить чтение .env и secrets/** - permissions.deny в .claude/settings.json;
  • настроить permissions, переменные окружения, плагины и поведение инструментов - settings.json;
  • запускать действие каждый раз - hook в .claude/settings.json;
  • описать редкий рабочий процесс - skill.

Пример запрета доступа оформляется настройками, текстом в Markdown его не заменить:

json
{
  "permissions": {
    "deny": [
      "Read(.env)",
      "Read(secrets/**)"
    ]
  }
}

Не считай этот фрагмент готовой конфигурацией для любого проекта. Проверь синтаксис и действующие правила Claude Code для своей версии.

Проблема текстового запрета подтверждена issue Claude Code: автор описал случай, когда правило не коммитить API-ключи было в CLAUDE.md, но реальные credentials всё равно попали в конфигурационные файлы и публичный репозиторий. GitGuardian обнаружил три секрета. Ключи пришлось отозвать и выпустить заново.

Ассистент Claude Code систематически не соблюдает явные инструкции по безопасности в файлах CLAUDE.md.

- Автор issue, Claude Code issue #2142

CLAUDE.md можно оставить с пояснением:

md
## Safety
Коротко: эти правила напоминают не читать и не коммитить секреты, а также спрашивать перед изменением схемы базы данных.

- Never read `.env` files.
- Never commit secrets.
- Ask before changing database schema.

Но эти строки не должны быть единственной защитой. Для доступа используй settings. Для действий, которые должны происходить всегда, используй hooks. Для проверки кода используй тесты, линтер или другую автоматическую проверку.

Чем CLAUDE.md отличается от README.md, AGENTS.md и rules

ЗадачаФайл или механизм
Объяснить человеку назначение проекта и запускREADME.md
Передать Claude команды, ограничения и рабочие правилаCLAUDE.md
Дать общие правила нескольким AI-инструментамAGENTS.md
Ограничить правило конкретной папкой или путём.claude/rules/*.md
Запретить чтение .env и secrets.claude/settings.json
Запускать проверку после каждого измененияhook в .claude/settings.json

README.md обычно содержит установку, запуск и обзор проекта. Весь README в CLAUDE.md дублировать не нужно. При необходимости подключи его ссылкой:

md
@README.md

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

Если используется только Claude Code, одного CLAUDE.md достаточно как прямого файла инструкций для этого инструмента.

.claude/rules/*.md подходит для path-scoped правил. Например, правило может относиться только к src/api/**, а не ко всему проекту. Точное сравнение старого .clauderules с современными rules здесь не приводится: в фактуре нет актуального подтверждённого источника для такого сравнения.

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

Вопросы и ответы

Вопросы и ответы

Что означает файл CLAUDE.md?

Это обычный Markdown-файл с постоянными инструкциями для Claude. Claude Code читает его в начале сессии и использует как контекст проекта.

Где найти CLAUDE.md на GitHub?

Ищи файл в корне репозитория, в папке .claude или в одной из родительских и дочерних папок проекта. Claude Code ищет такие файлы по дереву директорий от текущей рабочей папки.

Как создать CLAUDE.md?

Открой корень проекта и создай файл с точным именем CLAUDE.md. Запиши реальные команды и стабильные правила, затем запусти Claude Code из этой папки и проверь загрузку через /context.

Как управлять содержимым CLAUDE.md?

Claude md management сводится к простому правилу: добавляй строку после конкретной ошибки Claude или при наличии важного правила, которое нельзя надёжно вывести из кода. Удаляй дубли и всё, что стало очевидно из проекта.

Как связать CLAUDE.md со skills?

Постоянный контекст оставь в CLAUDE.md. Редкие сценарии, справочные материалы и многошаговые рабочие процессы вынеси в skills.

Что использовать рядом с main в репозитории?

Файл CLAUDE.md обычно лежит в корне проекта рядом с основными файлами репозитория и веткой main. Для общих инструкций нескольких AI-инструментов используй AGENTS.md.

Как настроить CLAUDE.md?

Настрой его через короткие разделы с командами, расположением кода, правилами редактирования и проверкой результата. Запреты доступа и hooks настраиваются через .claude/settings.json, без текстовых формулировок в Markdown.

Можно ли описать behavior и skills в CLAUDE.md?

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

Как сделать `CLAUDE.md` для разработки tg bot?

Сначала определи реальные команды, структуру и проверки конкретного Telegram-бота. В фактуре нет подтверждённого примера со стеком, командами и правилами именно для Telegram-бота, поэтому универсальный шаблон без этих данных будет выдумкой.

Можно ли сделать отдельный вариант CLAUDE.md для Telegram-бота?

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

Источники

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Материал был полезен?
Сергей Мазур
Автор
Сергей Мазур
Основатель Вайбцеха

Собираю продукты с ИИ-агентами и рассказываю, как это делать без программиста.

Читайте также

Claude Code: короткая команда из 5 частей без потери рабочих правил

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

12 мин

Вайб-кодинг с нуля: 6 частей запроса, который собирает рабочий сайт

Вайб-кодинг позволяет описывать проект обычными словами, а детали реализации передавать ИИ. Ниже - маршрут от пустой папки до первой рабочей страницы.

19 мин

Claude Code теряет контекст на третьем часу: 4 причины и как починить

Он не сломался и ты не «неправильно попросил»: посреди длинной сессии переписка сжимается в пересказ, и половина договорённостей исчезает. Разбираем, что съедает память и как удержать проект в файле, а не в чате.

20 мин

AGENTS.md в 2026: 3 раздела правил для Claude Code и Codex

AGENTS.md хранит постоянные правила проекта для coding agent. Здесь показано, как подключить один файл к Codex и Claude Code.

10 мин

Термины из инструкции