| name | init-project |
| description | TRIGGER when user asks to initialize, set up, or bootstrap a Microbus project. Scaffolds main/main.go, config files, agent files, .gitignore, VS Code launch config, Claude Code permissions, and the token-signing key. |
CRITICAL: Do NOT explore or analyze the project unless explicitly instructed to do so. The instructions in this skill are self-contained.
Workflow
Copy this checklist and track your progress:
Initialize a project to use Microbus:
- [ ] Step 1: Check if a Microbus project
- [ ] Step 2: Download agent rules and skills
- [ ] Step 3: Scaffold the project
- [ ] Step 4: Verify the build
- [ ] Step 5: Offer the tour
Step 1: Check if a Microbus Project
If go.mod does not exist in the project directory, this is not a Go project. Exit this workflow.
If go.mod does not include a reference to github.com/microbus-io/fabric, this is not a Microbus project. Exit this workflow.
Note whether main/main.go already exists. If it does not, this is a new install - remember this for Step 5.
Step 2: Download Agent Rules and Skills
Copy the agent rules and skills from the pinned Microbus version already in the Go module cache. This is version-matched to go.mod and needs no network access. The module cache is read-only, so make the copies writable.
src="$(go list -m -f '{{.Dir}}' github.com/microbus-io/fabric)"
mkdir -p .claude
cp -R "$src/.claude/rules" "$src/.claude/skills" .claude/
chmod -R u+w .claude/rules .claude/skills
Step 3: Scaffold the Project
Run geninit to scaffold the project. It is idempotent: it creates main/main.go, main/env.yaml, CLAUDE.md, config.yaml, config.local.yaml, env.yaml, env.local.yaml, .gitignore, .vscode/launch.json, and .claude/settings.json, and generates a fresh Ed25519 token-signing key for bearer.token.core in config.local.yaml. Existing files are left intact.
go run github.com/microbus-io/fabric/cmd/geninit
.claude/settings.json auto-approves the Bash commands invoked by the housekeeping and regenerate-boilerplate skills, so an agent following them is not prompted for each invocation. The file is project-shared and should be checked into git.
Step 4: Verify the Build
Confirm the scaffolded project compiles.
go vet ./main/...
Step 5: Offer the Tour
If this is a new install (from Step 1), tell the user the project is ready and offer to take the agent-guided tour, which runs the bundled example microservices. If they accept, follow the take-tour skill. If this is not a new install, skip this step.