Installation
1. Install the plugin
In Claude Code:
/plugin marketplace add OAI-Labs/vibe-flow
/plugin install vibe-flow@vibe-flow
Or clone and symlink for dev mode:
git clone https://github.com/OAI-Labs/vibe-flow.git
ln -s "$(pwd)/vibe-flow/plugins/vibe-flow" ~/.claude/plugins/vibe-flow
2. Wire up the vibe-kanban MCP server
vibe-flow depends on the vibe-kanban MCP server.
Add to ~/.claude.json (global) or .claude/settings.json (project):
{
"mcpServers": {
"vibe_kanban": {
"command": "npx",
"args": ["-y", "vibe-kanban@latest", "--mcp"]
}
}
}
For a self-hosted instance, point the MCP binary at your backend with VIBE_BACKEND_URL:
{
"mcpServers": {
"vibe_kanban": {
"command": "npx",
"args": ["-y", "vibe-kanban@latest", "mcp"],
"env": {
"VIBE_BACKEND_URL": "http://your-server:PORT"
}
}
}
}
Verify: run /mcp in Claude Code and confirm vibe_kanban shows as connected.
3. Run vibe-init in your repo
/vibe-flow:vibe-init
This asks you 3–4 quick questions:
- Project — picks from
list_projectson vibe-kanban. No pasting UUIDs. - Concurrency + budget —
max_parallel,cost_budget_usd, wave barrier strategy. Defaults work for most teams. - Notifications (optional) — Slack/Discord webhook for standups.
ready_to_mergecolumn (optional) — if your board has a dedicated approved-but-not-merged column, its name goes instatuses.ready_to_merge.
Outputs:
.vibe-flow.yaml— per-repo config (commit this).vibe-flow/state.json— run state (consider gitignoring)
4. First run
/vibe-flow:vibe-flow "Add a dark mode toggle to the settings page"
This runs the full loop: plan → ship → link → review → merge → standup.
Or invoke sub-skills individually:
/vibe-flow:vibe-plan <spec>— just planning, no dispatch/vibe-flow:vibe-ship— dispatch existing issues/vibe-flow:vibe-status— snapshot of active runs