Claude Code Starter — это готовая управляющая среда для проектов, в которых основной рабочий агент — Claude Code.
Он нужен не для генерации приложения, а для того, чтобы быстро добавить в любой проект:
- понятный
CLAUDE.mdвместо мегадокумента; - модульные
rules,skills,agents,hooks; - устойчивую проектную память через
.claude/SNAPSHOT.md; - единый installer для нового, существующего и legacy-проекта;
- явный контроль над тем, что framework state делает с git-историей.
Новое в v6: автоматическое определение типа проекта (code / content / hybrid). Контентные проекты — книги, курсы, базы знаний, документы, транскрипты — получают свой набор правил, навыков и агентов (writer, editor, content-reviewer). Установка без флагов: bash init-project.sh сам поймёт, где находится, и поставит подходящий слой.
Обычно при работе с агентом проект быстро расползается:
- инструкции живут в одном длинном
CLAUDE.md; - правила смешаны с контекстом проекта;
- старт нового проекта и миграция старого проекта делаются по-разному;
- агентная память теряется между сессиями;
- внутренние framework-файлы случайно попадают в shared/public git history.
Claude Code Starter решает эти проблемы:
- отделяет проектный паспорт от operational logic;
- даёт стандартную структуру
.claude/; - добавляет reusable workflows через
skills; - добавляет background guardrails через
hooks; - поддерживает single-file installation;
- вводит
repo_access, чтобы память агента не утекала туда, где ей не место.
После установки в хост-проекте появляется такая база:
.claude/
rules/
skills/
agents/
hooks/
logs/
SNAPSHOT.md
settings.json
scripts/
framework-state-mode.sh
switch-repo-access.sh
CLAUDE.md
manifest.md
.gitignore
Ключевые файлы:
CLAUDE.md— паспорт проекта;manifest.md—project_nameиrepo_access;.claude/SNAPSHOT.md— текущая память проекта;.claude/rules/— постоянные operational правила;.claude/skills/— стандартные workflows;.claude/agents/— типовые subagent roles;.claude/hooks/— фоновые guardrails;scripts/switch-repo-access.sh— безопасное переключение междуprivate-solo,private-shared,public.
Обязательно:
bashgit- Claude Code с поддержкой:
.claude/rules/.claude/skills/.claude/agents/.claude/hooks/
Рекомендуется:
python3
Опционально:
node/npmpytestsqlite3psqlsupabase
python3 нужен не для bootstrap, а для безопасного merge settings.json в migration flow.
Возьми root installer init-project.sh, положи его в корень целевого проекта и запусти:
chmod +x init-project.sh
./init-project.shНикаких флагов не нужно. Launcher сам определит:
Сценарий установки:
new— новый проект;existing— существующий без framework;legacy— старый framework;upgrade— частично установленный.
Тип проекта (по содержимому файлов и папок):
code— обычный software-проект;content— книги, курсы, KB, документы, транскрипты;hybrid— и код, и контент.
Тип контента для контентных проектов:
book— папкиchapters/,briefs/,bible/;course— папкиmodules/,lessons/;knowledge-base—articles/,INDEX.md;documents—docs/;transcripts—Section-*/,*-Lecture-*;mixed— несколько сразу.
Если установка затрагивает существующий CLAUDE.md, он мержится аддитивно через scripts/lib/merge_claude_md.py — кастомные секции пользователя сохраняются, фреймворк добавляет только недостающее. При жёстком конфликте установка останавливается и в .claude/CLAUDE.md.merge-proposal.md пишется конкретное предложение разрешения.
cd /path/to/your/project
bash /absolute/path/to/claude-code-starter/init-project.shЕсли хочешь, чтобы framework был доступен в любой папке без скачивания каждый раз — поставь его в ~/.claude/:
bash /path/to/claude-code-starter/scripts/install-global.shЭто аддитивно копирует rules / skills / agents в ~/.claude/, не трогая существующие настройки. Делает backup в ~/.claude/.backup-TIMESTAMP/. После этого:
mkdir my-new-project && cd my-new-project
# Открой Claude Code в этой папке и скажи:
# /setup-project — или просто: «новый проект» / «поставь фреймворк»Skill /setup-project сам найдёт checkout, определит тип проекта и поставит framework. Никакой ручной загрузки init-project.sh не требуется.
Откат: bash scripts/install-global.sh --rollback.
./init-project.sh --name "My Project"
./init-project.sh --type content --content-type book
./init-project.sh --mode init
./init-project.sh --mode migrate
./init-project.sh --template /path/to/local/framework
./init-project.sh --rollback
./init-project.sh --apply-proposal
./init-project.sh --forceПоддерживаются:
--name— имя проекта для свежего bootstrap;--type code|content|hybrid|auto— override автодетекта типа проекта;--content-type book|course|knowledge-base|documents|transcripts|mixed— override автодетекта типа контента;--mode init— принудительный bootstrap;--mode migrate— принудительная migration/integration;--template— использовать локальный checkout framework вместо download;--rollback— восстановить файлы из последнего.claude/backup-*/snapshot;--apply-proposal— применить предложение из.claude/CLAUDE.md.merge-proposal.md;--force— перезаписать существующие файлы (для разработчиков фреймворка).
- Заполнить
CLAUDE.mdпод конкретный проект. - Проверить
manifest.md. - Если проект shared/public, переключить режим до первого framework commit:
scripts/switch-repo-access.sh public --commitили
scripts/switch-repo-access.sh private-shared --commit- Открыть проект в Claude Code и запустить
/start.
repo_access задаётся в manifest.md.
Режимы:
private-solo— framework files можно хранить в git;private-shared— framework files должны оставаться локальными;public— framework files должны оставаться локальными.
Практический смысл:
- если репозиторий личный, можно хранить framework state в истории;
- если репозиторий общий или публичный, память агента не должна попадать в branch history.
Если framework state уже успел попасть в remote history, одного .gitignore недостаточно. Для таких случаев и существует scripts/switch-repo-access.sh.
Публичный вход:
- init-project.sh — единственный installer entrypoint
Внутренний payload:
- scripts/init-project.sh — bootstrap payload
- scripts/migrate.sh — migration payload
- scripts/framework-state-mode.sh — логика
repo_access - scripts/switch-repo-access.sh — safe mode switch
Документация:
- CHANGELOG.md — история версий и изменений
- RELEASING.md — как собирать и публиковать релиз
- release-notes/v5.0.0.md — notes для текущего release
- release-notes/GITHUB_RELEASE_v5.0.0.md — готовый body для GitHub Release
Архив:
- archive/V4_ARCHIVE_NOTE.md — что именно сохранено от
v4 - archive/v4-working-tree — архивное дерево
v4
switch-repo-access.shне переписывает git history.migrate.shзависит отpython3, если нужен безопасный merge.claude/settings.json.- Standalone installer лучше всего работает через GitHub Release assets.
- Hooks здесь — это guardrails, а не абсолютный enforcement layer.
- Установить framework: init-project.sh
- Прочитать историю версий: CHANGELOG.md
- Собрать release: RELEASING.md
- Посмотреть notes текущего релиза: release-notes/v5.0.0.md
- Взять текст GitHub Release: release-notes/GITHUB_RELEASE_v5.0.0.md
| Тема | v5 | v6 |
|---|---|---|
| Тип проекта | только code | code / content / hybrid с автодетектом |
| Контентные проекты | нет | книги, курсы, KB, документы, транскрипты |
CLAUDE.md при миграции |
merge только settings.json hooks |
полный аддитивный merge секций через Python helper |
| Конфликты | overwrite или skip | детектятся, останавливают установку, записывают конкретное предложение |
| Backup | нет | автоматический .claude/backup-TIMESTAMP/ перед каждым изменением |
| Откат | manual | init-project.sh --rollback |
| Шаблоны контента | нет | templates/chapter.md, lesson.md, transcript.md, article.md, document.md |
Подробности по эволюции версий смотри в CHANGELOG.md.