claude-md-bootstrap · git:20260828.e6ca64d · 2026-08-28 · sha256 3ed5d1b49d00b32e

claude-md-bootstrap git:20260828.e6ca64dA

Immutable. This exact content is served forever at /api/v1/blob/3ed5d1b49d00b32e.

---
name: claude-md-bootstrap
description: ">"
---

# 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: Классификация + режим

1. **Тип проекта** (определи по файлам, НЕ спрашивай):

 | Тип | Сигналы |
 |-----|---------|
 | `code` | исходники (py/ts/js/go/...), тесты, CI |
 | `ops` | Docker, SSH, .env, nginx, продакшен-риски |
 | `agent` | скиллы, промпты, агенты, модели |
 | `content` | статьи, briefs, Excel, документы |

 Приоритет гибридов: ops > code > agent > content.

2. **Режим**: `ls CLAUDE.md` в корне. Если есть -> **РЕЖИМ РАСШИРЕНИЯ** (дополнять, не перезатирать;
 сохранить ручные правки пользователя, добавить недостающие секции).

3. **Загрузи контекст** (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 -nP '[\x{451}\x{401}\x{2014}\x{2013}]' CLAUDE.md`.
Конфликты (MAJOR) - исправь. Запиши решения в память проекта, если она есть.

### Фаза 4: Сводка

Что создано/дополнено, какие правила вынесены, что осталось как `TODO`, на что обратить внимание.
Предложи: держать CLAUDE.md живым (обновлять по протоколу), при росте >200 строк - выносить детали в docs/.

## Шаблон CLAUDE.md

```markdown
# ${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).