сайт в бете
нашли баг? напишите
левин. записаться
весь блог

Файл правил проекта для ИИ: что писать в CLAUDE.md и что выбросить

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

Л
Проект Левин
автор

Claude Code читает CLAUDE.md из корня проекта при каждом старте сессии. Всё содержимое падает в контекст ещё до вашего первого сообщения. Файл работает как постоянная памятка для ассистента: чем запускается проект, куда деплоится, что трогать нельзя.

Без него вы объясняете одно и то же в каждой новой сессии. С ним — один раз.

Главное ограничение

Файл висит в контексте всегда, даже когда вы просите поправить одну строчку в CSS. Каждая лишняя строка стоит денег и внимания модели. Мой рабочий ориентир для проектного файла — 30–60 строк. Что не влезло, уезжает в отдельные файлы правил и подгружается по необходимости.

Отсюда главный фильтр при написании: «понадобится ли это в большинстве сессий?». Нет — вычёркиваем.

Шаблон, который я копирую в каждый проект

# [Название проекта]

## Что это
[Одна строка — что делает проект]

## Стек
- [Язык, фреймворк, БД, ...]

## Команды
- Запуск: `[команда]`
- Тесты: `[команда]`
- Деплой: `[команда]`

## Деплой
- Где: [VPS / Vercel / ...]
- Домен: [если есть]
- CI/CD: [GitHub Actions / ручной / ...]

## Структура
[Краткое описание ключевых папок, только если не очевидно]

## Правила
Специфичные для проекта правила — в .claude/rules/

Кладёте в корень как CLAUDE.md, заполняете за десять минут.

Разбор по разделам

Что это. Одна строка. Модель должна понимать, с чем имеет дело: телеграм-бот, лендинг, парсер выдачи. От этого меняется тон предложений и выбор решений.

Стек. Спасает от угадывания. Иначе ассистент честно предложит вам решение под другой фреймворк — просто потому, что нужных файлов в проекте пока не видно.

Команды. Самый полезный раздел. Ассистент постоянно хочет что-то запустить и проверить. Нет записанной команды запуска — он начнёт перебирать варианты из package.json или дёргать вас вопросами. Пишите точные строки, которые сами набираете в терминале.

Деплой. Куда уезжает код, есть ли CI. Хватит трёх строк. Спасает от совета vercel deploy там, где стоит обычный VPS с systemd.

Структура. Только если она неочевидна из названий папок. Стандартный Next.js описывать незачем, ассистент видит его сам.

Правила. Ссылка на модульные файлы. Сам список правил в главный файл не тащим.

Чего в файле быть не должно

  • Пересказ дерева каталогов. Ассистент прочитает его быстрее, чем вы напишете.
  • Токены, пароли, ключи. Файл лежит в git и уедет в репозиторий.
  • Общие пожелания в духе «пиши чистый код» и «следуй best practices». Пустые строки контекста.
  • Документация проекта. Для этого есть README, у него другой читатель — человек.
  • Устаревшие команды. Неверная информация вреднее её отсутствия: ассистент уверенно сделает неправильное.

Два уровня: глобальный и проектный

Когда я приводил в порядок окружение на трёх машинах (комп, ноут, VPS), разделение вышло такое.

Глобальный ~/.claude/CLAUDE.md — оглавление и критические правила, 30–50 строк. Рядом модули: rules/workflow.md с процессом работы через issues, rules/machines.md с описанием инфраструктуры. Туда же хуки: session-start.sh подтягивает задачи в статусе In Progress при старте сессии.

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

Весь набор конфигов лежит в отдельном приватном репозитории claude-config и раскатывается на машины. Один источник правды вместо трёх расходящихся копий.

Модульные правила

Папка .claude/rules/ — место для длинных инструкций: соглашения по коммитам, схема базы, стиль текстов, порядок релиза. Каждая тема — отдельный файл. В CLAUDE.md остаётся строка-указатель.

Выигрыш простой. Главный файл не разрастается. Тяжёлые правила подтягиваются тогда, когда до них дошло дело.

Как понять, что файл рабочий

Проверка первая: откройте новую сессию и дайте типовую задачу. Ассистент спрашивает то, что уже написано в файле, — формулировка нечёткая. Начал искать команду запуска — раздел «Команды» заполнен плохо.

Проверка вторая, регулярная. После каждого «опять пришлось объяснять то же самое» дописывайте одну строку. Файл растёт от реальных сбоев, и в этом его ценность.

С чего начать сегодня

Возьмите шаблон выше, положите в корень активного проекта, заполните «Что это», «Стек» и «Команды». Остальное дописывайте по мере того, как будете спотыкаться. Три заполненных раздела уже дают заметную разницу в первой же сессии.

теги #claude.md#claude code#контекст#правила проекта#ai-ассистент
разберём вашу задачу

Ваш контекст для работы с ИИ

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

подробнее и записаться цена по запросу

один разговор — и поймём, чем я могу помочь.

В эпоху ИИ человеку нужен человек. Сяду рядом и доведу до результата — встреча длится столько, сколько нужно. Без скрипта продаж и пакетов «за 999 000 ₽». Если пойму, что помочь не смогу, — скажу сразу.