| name | claude-md-bootstrap |
| description | Use when the user wants to create or bootstrap a project-local CLAUDE.md - the auto-loading project context file for the agent. Russian triggers: "сделай/создай проектный CLAUDE.md", "настрой контекст проекта для агента", "забутстрапь CLAUDE.md", "CLAUDE.md для проекта". English triggers: "bootstrap project CLAUDE.md", "set up project agent context". Generates an opinionated CLAUDE.md adapted to project type (code/ops/agent/content): iron rules and gotchas as IF-THEN with primacy+recency placement, a work protocol including a keep-docs-live rule, and progressive-disclosure pointers to docs/ and project memory. Extends an existing CLAUDE.md instead of overwriting. Do NOT use for editing arbitrary files, the generic codebase summary that built-in /init produces, or non-CLAUDE.md docs.
|
claude-md-bootstrap
Создаёт проектный CLAUDE.md в корне проекта - авто-загружаемый каждую сессию контекст для агента:
железные правила-грабли, протокол работы, указатели на доки и память. Цель - чтобы агент был
эффективен в проекте сразу, без переоткрытия граблей, и чтобы документация поддерживалась ПО ХОДУ
работы, а не постфактум.
Методика заимствована из opencode-скила project-bootstrap
(https://github.com/dimkurilo/opencode-skills/tree/main/skills/project-bootstrap) и адаптирована под
Claude Code: CLAUDE.md вместо AGENTS.md, память проекта (~/.claude/projects/<proj>/memory/)
вместо .agents/, без модельных профилей (DeepSeek/GLM) и без GRACE-якорей. Что заимствовано
дословно: Variant E (правила в primacy + recency против "Lost in the Middle"), классификация проекта,
режим расширения, contradiction check, progressive disclosure, лимит "не больше 2 вопросов".
Когда этот скил, а когда встроенный /init
/init - дженерик: сводка кодовой базы в CLAUDE.md. Используй, если нужен просто обзор кода.
- Этот скил - опинионейтед агент-контекст: правила-грабли как IF-THEN, протокол, primacy/recency,
"док как часть работы". Используй, когда проект сложный и нужен надёжный контекст для агента.
- Можно комбинировать: сначала
/init для черновой архитектуры, затем этот скил для структуры и правил.
Workflow
Фаза 0: Классификация + режим
-
Тип проекта (определи по файлам, НЕ спрашивай):
| Тип | Сигналы |
|---|
code | исходники (py/ts/js/go/...), тесты, CI |
ops | Docker, SSH, .env, nginx, продакшен-риски |
agent | скиллы, промпты, агенты, модели |
content | статьи, briefs, Excel, документы |
Приоритет гибридов: ops > code > agent > content.
-
Режим: ls CLAUDE.md в корне. Если есть -> РЕЖИМ РАСШИРЕНИЯ (дополнять, не перезатирать;
сохранить ручные правки пользователя, добавить недостающие секции).
-
Загрузи контекст (Read/Glob/Grep, без вопросов):
README*, docs/**, корневые конфиги.
git log --oneline -30 и багфиксы - источник граблей.
- Память проекта:
~/.claude/projects/<кодированный-путь>/memory/MEMORY.md (если есть).
- Глобальный
~/.claude/CLAUDE.md и ~/.claude/rules/* - чтобы НЕ дублировать и не конфликтовать.
Фаза 1: Сбор (НЕ больше 2 вопросов)
Собери из контекста, спроси только то, что не выводится:
- Overview - 1 строка + 1 абзац (из README/кода).
- Грабли (gotchas) - из памяти, git-истории, троблшутинга в docs. Если неочевидно - ОДИН вопрос:
"Какие грабли/правила в проекте обязательно знать, чтобы не наступить?".
- Протокол - команды запуска/тестов (из README/scripts/CI); правило "при изменении X обнови Y".
- Чего не знаешь - НЕ выдумывай, ставь
<!-- TODO: уточнить -->.
Фаза 2: Генерация CLAUDE.md
Собери файл по шаблону ниже. Принципы:
- Железные правила - дважды: в преамбуле (primacy) и в конце (recency). Кратко, IF-THEN.
- Progressive disclosure: CLAUDE.md - ИНДЕКС. Не копируй сюда содержимое docs/ - давай указатели.
- Грабли конкретны: симптом -> причина -> фикс/правило.
- В режиме расширения - вставляй только недостающее, существующее не трогай.
Фаза 3: Contradiction check (обязательно)
Сверь сгенерированный CLAUDE.md с глобальным ~/.claude/CLAUDE.md, ~/.claude/rules/* и памятью:
- нет правила, противоречащего глобальному;
- нет дублирования того, что уже в глобальных правилах (ссылайся, не копируй);
- одно значение параметра во всех местах;
- ФОРМАТ соблюдён по глобальным правилам (
~/.claude/rules/text-formatting.md, ~/.claude/CLAUDE.md):
напр. без ё (заменить на е), без длинных тире (- вместо —/–). Проверка: grep -nE 'ё|—|–' CLAUDE.md.
Конфликты (MAJOR) - исправь. Запиши решения в память проекта, если она есть.
Фаза 4: Сводка
Что создано/дополнено, какие правила вынесены, что осталось как TODO, на что обратить внимание.
Предложи: держать CLAUDE.md живым (обновлять по протоколу), при росте >200 строк - выносить детали в docs/.
Шаблон CLAUDE.md
# ${PROJECT} - ${ONE_LINER}
> Проектный контекст для агента. Это ИНДЕКС: детали - в docs/ и памяти проекта (см. "Где что искать").
> Не дублировать сюда содержимое docs/.
## Железные правила (всегда)
- IF ${условие или действие} THEN ${правило} # грабля/риск 1
- IF ${...} THEN ${...} # грабля/риск 2
- ${ещё критичные инварианты проекта}
## Протокол работы
- Запуск: `${команда запуска}`
- Тесты: `${команда тестов}`
- Док как часть работы: изменил ${модуль} -> обнови ${docs/...}; добавил скрипт -> строку в README;
новое решение/грабля -> память проекта. (НЕ копить документацию в долг.)
- ${command-first / прочие конвенции}
## Архитектура (кратко)
${2-3 фразы про устройство}. Подробно - ${docs/архитектура}.
| Модуль | Файл | Ответственность |
|--------|------|----------------|
| ${...} | ${path} | ${за что отвечает} |
## Где что искать (progressive disclosure)
- docs/ - ${что в каком документе}
- Память проекта - ${путь к memory/MEMORY.md}: решения, грабли, состояние
- Траблшутинг/грабли - ${docs/operations или ниже}
## Известные грабли (топ)
- ${симптом} -> ${причина} -> ${фикс/правило}
---
КРИТИЧНЫЕ ПРАВИЛА (повтор для recency):
- ${те же железные правила, одной строкой каждое}
Что НЕ делать
- НЕ перезатирать существующий CLAUDE.md - режим расширения.
- НЕ задавать больше 2 вопросов - выводи из проекта.
- НЕ дублировать в CLAUDE.md то, что уже в глобальном
~/.claude/CLAUDE.md или ~/.claude/rules/ - ссылайся.
- НЕ копировать содержимое docs/ в CLAUDE.md - только указатели (progressive disclosure).
- НЕ выдумывать факты/грабли -
<!-- TODO --> если не знаешь.
- НЕ раздувать: CLAUDE.md - индекс правил и указателей, не место для длинных описаний.
- НЕ добавлять GRACE-якоря/
<!-- @rule --> - Claude Code их не парсит, правила работают через primacy/recency.
Референс
Первоисточник методики (для opencode, не для прямой установки в Claude Code):
https://github.com/dimkurilo/opencode-skills/tree/main/skills/project-bootstrap
(README.ru.md - разбор на русском; references/variant-e-structure.md - структура Variant E).