Claude Code is powerful out of the box. But on a team, it has no memory of your platform — your services, contracts, conventions, or patterns. Every developer gets a different experience. Every session starts from zero.
claudekit fixes that.
/bootstrap-service
Claude asks one question — where is your platform-docs directory?
Then it runs automatically:
✓ Phase -1 Scaffolding: hooks, settings, context stubs, lessons.md
✓ Phase 0 Branch and working tree check
✓ Phase 0.5 11 agents + 20 base skills deployed into .claude/
✓ Phase 1-2 312 source files scanned · Stack: .NET 8, MassTransit, EF Core, xUnit
✓ Phase 3 Platform-docs read · service entry found: your-service
✓ Phase 4-5 CLAUDE.md populated · context/architecture.md · tech-stack.md
✓ Phase 6 6 live-read skills verified against platform-docs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 7 — Topology Analysis ⏸ WAIT FOR REVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Service type: worker
Recurring patterns found:
Pattern Count Skill Rationale
──────────────────────────────────── ───── ───────────────── ──────────────────────────────
IConsumer<T> — entity consumers 6 /add-consumer OrderCreated, PaymentReceived…
ICommandHandler<T> — CQRS handlers 4 /add-handler CreateOrder, ProcessPayment…
IRepository<T> — EF Core repos 5 /add-repository Consistent base type + DI wiring
Dynamic skills to generate:
/add-consumer · /add-handler · /add-repository
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You review. You approve. Claude generates three slash commands — built from your actual code, not generic templates.
At Phase 7, bootstrap reads your codebase and proposes skills to match. If you have 6 consumers that all follow the same structure, it generates /add-consumer — a skill that knows your exact file paths, your real types, and your test pattern. Not boilerplate. Your pattern.
Skills don't embed your conventions — they read them from platform-docs/ at runtime. Update a coding standard once and it takes effect across every service on the next invocation. No re-bootstrapping.
A @lesson-curator agent captures mistakes made during sessions and writes them to .claude/lessons.md — the highest-priority context loaded into every future session. Claude remembers what it got wrong.
BOOTSTRAP_MANIFEST.json links each service repo to platform-docs permanently. Any engineer who opens the repo gets the same agents, the same skills, the same conventions — automatically.
your-service/
├── CLAUDE.md ← populated with real service facts
├── BOOTSTRAP_MANIFEST.json ← links this repo to platform-docs
└── .claude/
├── agents/ ← 11 specialised subagents
│ ├── code-reviewer.md
│ ├── test-writer.md
│ ├── migration-writer.md
│ ├── lesson-curator.md
│ └── … (7 more)
├── skills/ ← 20+ base skills + dynamic skills
│ ├── dev/
│ ├── implement/
│ ├── fix-bug/
│ ├── review-pr/
│ ├── security-review/
│ ├── log-lesson/
│ ├── add-consumer/ ← dynamic — generated from your patterns
│ ├── add-handler/ ← dynamic
│ └── … (15+ more)
├── context/
│ ├── architecture.md ← service data flow and layer structure
│ ├── tech-stack.md ← full stack table and key commands
│ └── coding-standards.md ← platform + service-specific conventions
├── scripts/
│ ├── session-start.sh ← generates agent-context.md on open
│ └── session-end.sh
├── lessons.md ← grows over time, highest-priority context
└── output-styles/
git clone https://github.com/your-handle/claudekit ~/claudekitMac / Linux:
ROOT=~/claudekit
mkdir -p ~/.claude/commands ~/.claude/rules ~/.claude/skills/bootstrap-service
cp "$ROOT/platform-docs/.claude/commands/"*.md ~/.claude/commands/
cp "$ROOT/service-bootstrap/templates/.claude/rules/"*.md ~/.claude/rules/
cp "$ROOT/service-bootstrap/templates/.claude/skills/bootstrap-service/SKILL.md" \
~/.claude/skills/bootstrap-service/SKILL.mdWindows (PowerShell):
$root = "$HOME\claudekit"
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\commands"
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\rules"
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\bootstrap-service"
Copy-Item "$root\platform-docs\.claude\commands\*" "$env:USERPROFILE\.claude\commands\" -Force
Copy-Item "$root\service-bootstrap\templates\.claude\rules\*" "$env:USERPROFILE\.claude\rules\" -Force
Copy-Item "$root\service-bootstrap\templates\.claude\skills\bootstrap-service\SKILL.md" `
"$env:USERPROFILE\.claude\skills\bootstrap-service\SKILL.md" -Forcecp -r ~/claudekit/platform-docs ~/platform-docsOpen ~/platform-docs in Claude Code and run:
/init-platform-docs
Claude asks 19 questions — one at a time — across 6 sections: platform identity, tech stack, messaging, infrastructure, git workflow, and compliance. Takes ~10 minutes. Anything not answered stays as a placeholder.
Open any service repo in Claude Code and run:
/bootstrap-service
That's it. ~8–12 minutes. Review Phase 7. Approve. Done.
Bootstrap detects your stack from your dependency manifest:
| Language | Detection | Frameworks |
|---|---|---|
| C# / .NET | *.csproj |
ASP.NET Core, Minimal API, Worker Services |
| Node / TypeScript | package.json |
Express, Fastify, NestJS |
| Python | requirements.txt / pyproject.toml |
FastAPI, Django, Flask |
| Go | go.mod |
Gin, Echo, Chi |
| Java / Kotlin | pom.xml / build.gradle |
Spring Boot, Quarkus |
| Ruby | Gemfile |
Rails, Sinatra |
Unknown stack? Bootstrap asks before continuing.
After bootstrap, just open the repo and use:
| Task | Command |
|---|---|
| Start a feature | /dev → implement |
| Fix a bug | /fix-bug |
| Review a PR | /review-pr |
| Security audit | /security-review |
| Add a new entity | /add-{entity} ← your dynamic skill |
| Capture session learnings | /log-lesson |
| Refresh after big refactor | /bootstrap-service |
Agents are dispatched inline — @code-reviewer, @test-writer, @migration-writer, etc.
Claude reads in this order, highest priority first:
1. .claude/lessons.md ← session corrections that stick
2. CLAUDE.md + context/*.md ← service facts from bootstrap
3. platform-docs/ ← live platform standards (read at skill runtime)
4. Agent defaults ← fallback only
| Phase | What happens |
|---|---|
| -1 | First-run scaffolding — hooks, settings, context stubs, lessons.md, BOOTSTRAP_MANIFEST.json |
| 0 | Branch and working tree check |
| 0.5 | Deploys 11 agents, 20+ base skills, output styles |
| 1–2 | Full codebase scan — stack, ORM, test framework, broker, auth |
| 3 | Reads platform-docs — services-catalog, message-contracts, coding-standards |
| 4–5 | Populates CLAUDE.md and context/ with real service facts |
| 6 | Verifies skill alignment with platform-docs path |
| 7 | ⏸ WAIT — topology analysis for your review |
| 8 | Generates dynamic skills from approved patterns |
| 9–11 | Verifies lessons.md, appends session log, final report |
claudekit/
├── platform-docs/ ← copy once per team to a stable path
│ ├── architecture/
│ ├── messaging/
│ ├── patterns/
│ ├── shared-libraries/
│ ├── infrastructure/
│ ├── workflows/
│ └── .claude/commands/ ← 11 platform commands (init, PRD, ADR, audit…)
│
├── service-bootstrap/
│ └── templates/ ← source for everything /bootstrap-service deploys
│ ├── .claude/agents/ ← 11 agent definitions
│ ├── .claude/skills/ ← 20+ skill definitions
│ ├── .claude/rules/ ← coding, git, testing standards
│ ├── .claude/output-styles/
│ ├── context/ ← stub files populated at bootstrap
│ ├── CLAUDE.md ← stub populated at bootstrap
│ └── settings.json
│
└── demo/ ← GIF recording script and instructions
Do I need to re-bootstrap when platform conventions change?
No. Skills read platform-docs/ at execution time. Run /customize-setup in a service repo to regenerate dynamic skills if the platform patterns change significantly.
What if my platform-docs directory moves?
Update platformDocsPath in BOOTSTRAP_MANIFEST.json in each service repo. One field, one file.
Is re-running /bootstrap-service safe?
Yes. Phase -1 scaffolding is skipped on re-runs. lessons.md is never overwritten. Agents and base skills are refreshed to the latest version.
Can I add my own base skills?
Yes — add them to service-bootstrap/templates/.claude/skills/ and they'll be deployed on the next bootstrap.
Contributions most wanted:
- Stack examples — Django, Spring Boot, Rails, Go/Gin service patterns for Phase 7 topology detection
- Base skills — new skills that belong in every service repo
- Agent definitions — specialised agents for domains not covered
- Bug reports — edge cases in bootstrap phase detection, especially for monorepos
See CONTRIBUTING.md for guidelines.
If claudekit is useful to your team, star the repo — it helps others find it and tells us what to prioritise.
Built for engineering teams who want Claude to be a real team member — not a tourist.
⭐ Star this repo · 🐛 Report a bug · 💡 Request a feature · 📖 Contributing
MIT