| name | bootstrap |
| description | Use when setting up a new project with the ve-kit framework, adding a layer to an existing setup, or upgrading an older .claude/ config. Runs the ve-kit BOOTSTRAP protocol interactively — prerequisite checks, project-info questions, writes all rules/hooks/skills/agents files, builds the Vibe Board MCP server, self-verifies at the end. Triggers on "/bootstrap", "set up this project with ve-kit", "run the bootstrap", or "upgrade my ve-kit setup". |
| user-invocable | true |
| disable-model-invocation | true |
/bootstrap — run the ve-kit BOOTSTRAP protocol
This skill runs the ve-kit project-setup protocol interactively. The protocol file (01-BOOTSTRAP.md) is written as executable steps, not just docs — you READ it and then DO the phases, asking the user questions as you go.
When to invoke this skill
- User types
/bootstrap
- User says "set up my project with ve-kit" / "run the bootstrap" / "follow @01-BOOTSTRAP.md"
- User says "upgrade my ve-kit" / "update my .claude/ config to the latest ve-kit"
- User says "add the Vibe Board to this project" (run Phase 4 only)
- User says "add the worker layer" (point them at
03-VE-WORKER.md — the worker is a separate setup)
Step 1 — Locate 01-BOOTSTRAP.md
Check these paths in order, use the first one that exists:
.ve-kit/01-BOOTSTRAP.md — staged via init.sh (most common for first-time users)
docs/ve-kit/01-BOOTSTRAP.md — already inside a project that has ve-kit checked in
~/github/ve-kit/01-BOOTSTRAP.md — user has a separate ve-kit clone
If none exist, WebFetch https://raw.githubusercontent.com/HuntsDesk/ve-kit/main/01-BOOTSTRAP.md and read from there. If WebFetch isn't available, tell the user to run curl -fsSL https://raw.githubusercontent.com/HuntsDesk/ve-kit/main/init.sh | bash first.
Step 2 — Detect fresh setup vs upgrade
- Fresh setup: no
CLAUDE.md, no .claude/ directory. Run the normal Phase 0 → Phase 11 flow.
- Upgrade mode:
CLAUDE.md exists OR .claude/ exists. Run the upgrade path documented at the END of 01-BOOTSTRAP.md (the "When a user says 'upgrade @bootstrap.md'" section) — diff their existing config against the current ve-kit template, ask what to update, don't overwrite anything without confirmation.
Step 3 — Run the protocol
Follow 01-BOOTSTRAP.md literally. The phases are:
| Phase | What |
|---|
| 0 | Prerequisite check (gcloud, firebase, node, Docker optional, Claude Code CLI) |
| 1 | Project questions (name, description, language, GCP project ID, default branch, deny-list additions) |
| 2 | Create .claude/ + docs/ directory structure (the MCP server is cloned separately in Phase 4 from HuntsDesk/ve-vibe-board) |
| 3 | Write rule files: riper-cat.md, code-quality.md, documentation.md, git-workflow.md, agent-board.md |
| 4 | Set up Vibe Board (Firestore project, service account, MCP server, .mcp.json) |
| 5 | Install hooks: block-todowrite.sh, session-handoff.sh, post-compact-recovery.sh, review-gate.sh, stop-compliance-check.sh |
| 6 | Permissions + deny list (settings.json merged with hooks config) |
| 7 | Write CLAUDE.md using the user's Phase 1 answers |
| 8 | Write docs/README.md |
| 9 | Install code intelligence plugins (language-specific LSPs) |
| 10 | Install starter skills (plan, review, go, /review-* family, this /bootstrap skill) |
| 11 | Self-verify (check files exist, hooks executable, board connectivity, skills loaded) |
Step 4 — User-specified layer choices
Listen for what the user wants:
- "Layer 1 only" (minimal): skip Phase 4 (Vibe Board). Skip
/review-board skill. Do everything else.
- "Layer 1 + 2" (recommended default): include Phase 4. Skip
03-VE-WORKER.md setup.
- "Layer 1 + 2 + 3" or "all layers": after Phase 11, point them at
03-VE-WORKER.md and offer to walk them through it. The worker is Docker-based — don't try to set it up in the same session; it has its own prerequisites.
- "Just Vibe Board": jump to Phase 4, assume CLAUDE.md + rules + hooks already exist.
Ask if unclear. Don't assume.
Step 5 — Self-verify
Run Phase 11 checks literally:
- File structure exists (rules, hooks, CLAUDE.md, docs/README.md, settings.json)
- Hook scripts pass smoke tests
- MCP board build succeeds (
npm run build in ve-vibe-board/ — cloned from HuntsDesk/ve-vibe-board during Phase 4)
- Vibe Board connects (try
board_get_projects if available)
- Skills are in
.claude/skills/ with valid frontmatter
Report pass/fail per check. If anything fails, fix it before declaring complete.
Step 6 — Teach the user
After all checks pass, show them the Phase 11 "Teach the User" message: how to use RIPER modes (Enter R, Enter P, Enter E), what the hooks do, where their board is. This is the handoff — don't skip it.
Cleanup after success
If the bootstrap was staged via init.sh and lives in .ve-kit/, offer to remove it:
"Your setup is complete. You can remove the staging directory now: rm -rf .ve-kit/"
Don't remove it without asking — some users want to keep it around as a reference.
If the user interrupts mid-protocol
Track which phase you're on. If they stop in the middle:
- Write a quick status note somewhere they can find it (either a board task if Phase 4 already ran, or a plain
.ve-kit-status.md file)
- Tell them how to resume: "/bootstrap resume" or just re-invoke this skill