CLI commands
Every vibe command, every option, every default - generated from the commander program tree.
Source: src/cli/index.ts 49 top-level commands
The full vibe CLI is the surface for working with Vibestrate from a terminal. This page is generated from the live commander tree exported by buildVibestrateProgram() in the Vibestrate source - when a command changes, this page changes after the next docs regeneration.
For a guided tour of how the CLI is organised, see CLI overview.
vibe init
Initialize Vibestrate in the current project (.vibestrate/ scaffold).
Options
-f, --force - re-scaffold / overwrite existing config files to repair a broken project (runs are preserved)--yes - non-interactive: use safe detected defaults, never wait for input--interactive - force the guided wizard even when --yes would default to non-interactive--git-init - if the directory isn't a git repo, create one (starter .gitignore; initial commit only when no secret-like files would be swept). Never implied by --yes.
vibe setup
Guided wizard for provider, validation commands, and run defaults.
vibe welcome
Guided, resumable walkthrough: providers -> crew -> flows -> your first run.
Options
--reset - start the walkthrough over, clearing saved progress
vibe provider
Inspect, configure, and test local coding-CLI providers.
Subcommands
vibe provider detect
Scan PATH for known local coding CLIs (claude/codex/opencode/aider/ollama).
vibe provider list
Show providers configured in this project.
vibe provider test
Send a tiny no-op prompt to a configured provider and look for the magic token.
Options
--yes - skip confirmation prompt (non-interactive)
vibe provider set
Assign every default agent to use the given provider.
Options
--yes - skip confirmation prompts when adding a detected provider
vibe provider setup
Guided provider setup wizard.
vibe provider remove
Remove a provider from project.yml (refuses if a role still uses it).
Options
--yes - skip the confirmation prompt (non-interactive)
vibe provider catalog
Show the provider capability catalog (built-in + your .vibestrate/providers-catalog.yml overlay).
vibe provider refresh
Detect each provider's real models/efforts (codex `debug models` JSON, else --help scraping) and write them to the catalog overlay. Refreshes stale built-in lists; local only.
Options
--force - replace existing overlay/built-in entries instead of gap-filling--dry-run - show what would be written without writing--probe-cloud - ALSO ask cloud providers (http-api / localhost-proxy) for their model list over the network, using that provider's configured key. Off by default: this is the only part of a refresh that leaves your machine.
vibe config
Show and edit .vibestrate/project.yml without hand-editing YAML.
Subcommands
vibe config view
Readable, grouped view of the config - each section shows where it's editable.
Options
--json - emit the structured view as JSON
vibe config show
Print the raw config YAML and validate it.
Options
--json - emit parsed JSON instead of YAML
vibe config get
Print a single config value (dot-path, e.g. commands.validate).
vibe config set
Set a config value. Booleans/numbers/strings parsed automatically; arrays/objects via JSON (e.g. 'vibe config set commands.validate "[\"pnpm test\"]"').
vibe config keys
List every settable config key with its type, allowed values, and default (from the schema).
vibe config validate
Validate the project.yml file against the Vibestrate schema.
vibe skills
List, inspect, and assign skills (.vibestrate/skills and .claude/skills).
Subcommands
vibe skills list
Show every discovered skill and which agents use it.
vibe skills show
Print a skill's full SKILL.md body.
vibe skills assign
Attach a skill to an agent (writes to .vibestrate/project.yml).
vibe skills unassign
Remove a skill from an agent.
vibe skills fetch
Fetch a skill markdown from an http(s) URL into .vibestrate/skills/ (guarded + secret-redacted).
Options
--name <name> - skill filename (default: derived from the URL)--assess - read-only AI overview: helpful / already-present / conflicting--overwrite - replace an existing skill of the same name
vibe flows
List and inspect Flow run recipes from built-ins and .vibestrate/flows.
Subcommands
vibe flows list
Show every discovered Flow.
vibe flows show
Print a Flow's seats, ordered steps, and crew seat-coverage.
Options
--json - emit JSON--crew <id> - check coverage against this crew (default: project default)
vibe flows use
Set the default Flow applied to runs without --flow (always shown), or --clear it.
Options
--clear - clear the default flow so the orchestrator selects per task
vibe flows suggest
Suggest a Flow from task risk signals and local Flow outcomes.
Options
--file <path> - known touched file path; repeat for more default: []--risk <level> - task risk level: low, medium, or high--json - emit JSON
vibe flows draft
Turn an English description into an editable Flow draft (supervisor-assisted). Draft only - never writes; adopt it with `flows import`.
Options
--crew <id> - check seat coverage against this crew (default: project default)--yaml - print only the flow YAML, for piping into a file--json - emit JSON
vibe flows derive
Build a Flow around a specific task: a shaping turn decomposes the work, deterministic code compiles the graph. Draft only - never writes; adopt it with `flows import`.
Options
--id <flowId> - id for the derived flow (default: derived)--max-units <n> - refuse a decomposition with more units than this - each unit is a model turn, so unit count is the cost multiplier--crew <id> - check seat coverage against this crew (default: project default)--yaml - print only the flow YAML, for piping into a file--json - emit JSON
vibe flows export
Export a Flow as canonical YAML (for sharing / backup).
Options
--out <file> - write the YAML to a file instead of stdout--json - emit JSON { flowId, source, yaml }
vibe flows import
Import a Flow from a local file path or an http(s) URL into .vibestrate/flows/.
Options
--overwrite - replace an existing project flow with the same id--json - emit JSON
vibe flows export-arbitration
Export a Quality Arbitration run as local JSON evidence for later evaluation.
Options
--out <file> - write the JSON export to a local file
vibe flows hub
Browse + install Flows from the community hub (vibestrate.com/api/hub).
Subcommands
vibe flows hub list
List (or search) Flows in the hub.
Options
--base-url <url> - override the hub base URL--json - emit JSON
vibe flows hub install
Pull + verify + install a hub Flow (by ref) into .vibestrate/flows/.
Options
--base-url <url> - override the hub base URL--overwrite - replace an existing project flow with the same id
vibe flows hub publish
Publish a project flow to the hub (public, immutable).
Options
--version <semver> - the release version, e.g. 1.2.0--name <slug> - hub name (defaults to the flow id)--handle <login> - your GitHub login (must match the token account)--base-url <url> - override the hub base URL--allow-token-to-custom-host - send the token to a non-default origin (local testing)--yes - skip the confirmation prompt--json - emit JSON
vibe supervisor
Supervisor personas (the orchestrator's judgment posture).
Subcommands
vibe supervisor list
List the resolved supervisor personas (built-ins + project).
vibe supervisor archetypes
List the curated supervisor archetypes you can adopt.
vibe supervisor adopt
Adopt a curated archetype into this project's personas.
vibe supervisor default
Set the project's default supervisor (built-in or a project persona).
vibe supervisor remove
Remove a project persona (not a built-in or the active default).
vibe supervisor stop
Stop the supervisor acting. It still answers.
Options
--reason <text> - why, shown in the panel default:
vibe supervisor resume
Let the supervisor act again.
vibe supervisor status
Whether the supervisor may act right now.
vibe profile
Runtime presets (provider + model/power) that Crew roles run on.
Subcommands
vibe profile list
List profiles, grouped by provider, with how many roles use each.
vibe profile add
Create a new profile.
Options
--provider <id> - raw provider id this profile runs on--label <label> - human label--model <model> - provider model id (e.g. sonnet, opus)--power <level> - provider-specific power/effort (e.g. balanced)--max-tokens <n> - hard cap on output tokens per turn--timeout <ms> - per-turn wall-clock timeout (ms)
vibe profile set
Edit an existing profile's fields.
Options
--label <label> - human label--model <model> - provider model id (e.g. sonnet, opus)--power <level> - provider-specific power/effort (e.g. balanced)--max-tokens <n> - hard cap on output tokens per turn--timeout <ms> - per-turn wall-clock timeout (ms)--provider <id> - move the profile to a different provider
vibe profile duplicate
Copy a profile under a new id (e.g. claude -> claude-cheap).
vibe profile remove
Delete a profile (refuses if a role uses it, unless --force).
Options
--force - delete even if roles still reference it
vibe params
Durable project parameters: typed param answers persisted + reused across runs.
Subcommands
vibe params list
List every stored param answer (secrets shown as env refs).
vibe params get
Print one stored value (secrets shown as env refs).
vibe params set
Set one or more values: `vibe params set --flow <id> name=Acme niche=SaaS`. With --flow, keys are flow params (type-checked, secret-aware). Without it, keys are raw param keys (bare = project-global).
Options
--flow <id> - interpret keys as the flow's declared params (recommended)
vibe params generate
Draft a value for a `generate`-enabled param via a provider (optional, user-initiated, reviewed). Prints a suggestion; --accept stores it.
Options
--flow <id> - the flow that declares the param--accept - store the suggestion (setBy: generated) without asking
vibe params unset
Remove stored values by key (explicit, never automatic).
vibe crew
List crews, show a crew's roles, and set the default ("active") crew.
Subcommands
vibe crew list
List configured crews (the default is marked).
vibe crew show
Show a crew's roles, profiles, and seats (default crew if omitted).
vibe crew use
Set the default ("active") crew - runs without --crew use it.
vibe crew draft
Turn an English description into an editable Crew draft (supervisor-assisted). Draft only - never writes; adopting it means saving the printed role files, then the block, into project.yml.
Options
--yaml - print only the crews block, for piping into a file--json - emit JSON
vibe crew presets
Ready-made crews (fast / thorough / cheap / local) tuned by provider effort.
Subcommands
vibe crew presets list
List available presets and whether they're installed.
vibe crew presets add
Install a preset crew (fast / thorough / cheap / local) into project.yml.
vibe approvals
Inspect and resolve human-approval requests for a paused run.
Subcommands
vibe approvals list
Show all approval requests for a run.
vibe approvals show
Show a single approval request in detail.
vibe approvals approve
Approve a pending approval. Resumes the run if it is waiting.
Options
--note <text> - decision note recorded in approvals.json
vibe approvals reject
Reject a pending approval. The run will be marked `blocked`.
Options
--note <text> - decision note recorded in approvals.json
vibe approvals request-changes
Return an agent-requested gate with guidance; the stage re-runs with it.
Options
--guidance <text> - what the agent should change
vibe roadmap
Manage local roadmap items (.vibestrate/roadmap/roadmap.json).
Subcommands
vibe roadmap init
Create the .vibestrate/roadmap/ scaffold if missing.
vibe roadmap add
Add a roadmap item.
Options
-d, --description <text> - longer description-p, --priority <level> - low | medium | high default: medium--json - emit JSON
vibe roadmap list
List roadmap items.
vibe roadmap show
Show a single roadmap item.
vibe roadmap update
Update a roadmap item.
Options
--title <text>--description <text>--status <s>--priority <p>
vibe roadmap archive
Archive a roadmap item (keeps history).
vibe roadmap proposals
List roadmap proposals stored in .vibestrate/roadmap/proposals/.
vibe roadmap proposal
Inspect, parse, and accept individual proposals.
Subcommands
vibe roadmap proposal show
Print a proposal's raw Markdown body.
vibe roadmap proposal parse
Parse a proposal and print the typed preview.
vibe roadmap accept
Accept a parsed proposal (creates roadmap items + tasks atomically). Omit the id to pick one with TAB.
Options
--dry-run - preview without writing--allow-unresolved-dependencies - skip DEPENDS_ON entries that point at unknown task titles instead of failing--json - emit JSON
vibe roadmap plan
Run the configured local planner provider on a broad goal and save the output as a proposal draft.
Options
--id <proposalId> - explicit proposal id; default is timestamp + slug--provider <providerId> - override the provider id (default: planner agent's provider)
vibe spec-up
Plan before you build: discovery -> spec -> architecture -> roadmap (a chain of read-only runs).
Subcommands
vibe spec-up start
Start spec-up: launch the intake run that asks the gap questions.
Options
--persona <id> - supervisor persona (judgment posture) for the run--flow <id> - the flow to BUILD once the spec is approved (carried to `spec-up build`)
vibe spec-up questions
Show the intake run's gap questions (and their ids).
Options
--json - emit the questions as JSON
vibe spec-up answer
Answer a round's questions; loops to a gap-check round or builds the spec.
Options
--answer <id=value> - answer for a question id (repeatable) default: []--proceed - stop questioning and build the spec now (skip further gap-checks)
vibe spec-up simplify
Explain a question in plain language (what it asks + what it affects).
Options
--for-non-developer - add an everyday-life analogy (no jargon)
vibe spec-up suggest
Draft an answer grounded in your prior answers (you still decide). --all for every blank.
Options
--all - suggest a draft for every question in the round
vibe spec-up approve
Approve the spec-up draft and launch the roadmap synthesis run.
vibe spec-up build
Approve the spec-up draft and BUILD it: run the chosen flow seeded with the approved spec.
Options
--flow <id> - build flow override (default: the flow carried from the spec-up run)
vibe spec-up roadmap
Turn a finished spec-up-roadmap run into a reviewable proposal.
vibe spec-up edit
Edit a spec-up section (scope/spec/architecture/risks) before the build, via $EDITOR or --file. Guarded: secret-refusing, blocked after approve.
Options
--file <path> - read the new content from a file instead of opening $EDITOR
vibe tasks
Manage local tasks: backlog → queued → running → done.
Subcommands
vibe tasks add
Create a task.
Options
-d, --description <text>-p, --priority <p> - low | medium | high default: medium--roadmap <id> - link to a roadmap item id--skills <list> - comma-separated skill names--files <list> - comma-separated likely-touched files--provider <id> - override the provider for runs spawned from this task.--read-only - investigation-only: runs spawned from this task skip executor + fix loop and refuse apply/validate/revert.--supervised - create a supervised task: its steps are sequenced by the Conductor (per-step review, supervisor, budget, clean-halt) instead of running once.--json - emit JSON
vibe tasks list
List tasks.
Options
--status <s> - filter by status--json - emit JSON
vibe tasks suggest
Suggest which backlog card to pick up next (ready + priority).
Options
--all - show the full ranked backlog, not just the top few--json - emit JSON
vibe tasks show
Show a task with comments and run history.
vibe tasks export
Write the board as CSV (Jira / Trello / Monday / Linear all import it).
Options
--out <file> - write to a file instead of stdout
vibe tasks import
Create tasks from a CSV exported by another tracker. Additive: never updates or deletes an existing card.
Options
--dry-run - show what would be created, write nothing
vibe tasks stage
File a task under a workflow stage (free label). No arguments clears it. Re-filing runs nothing - it only moves the label.
vibe tasks ready
Mark a task ready to run.
vibe tasks cancel
Cancel a task.
vibe tasks archive
Archive a task (files it into the board's Archived column).
vibe tasks unarchive
Un-archive a task.
vibe tasks delete
Permanently remove a task card (refuses while its run is live).
Options
-y, --yes - skip the confirmation prompt
vibe tasks queue
Add a task to the scheduler queue.
vibe tasks run
Run this task now (foreground). A supervised task sequences its steps (the Conductor); a plain task runs the default flow once.
vibe tasks sequence
Sequence a supervised task's steps in order (the Conductor). The stable entry the scheduler spawns; `run` delegates here for supervised tasks.
Options
--json - emit JSON--unattended - never pause for a human - the contract every scheduler-spawned run needs
vibe tasks status
Show a supervised task's live conductor status (lifecycle, steps, invariants, halt).
vibe tasks pause
Pause a supervised task's live run (between steps).
vibe tasks resume
Resume a paused supervised task, or re-sequence a halted one from the clean tip.
vibe tasks pickup
Execute the task's checklist item-by-item (pick-up flow). Continuous by default; --step pauses between items.
Options
--step - pause between items for review (step-by-step)--flow <id> - checklist-aware flow to run (default "pickup"); e.g. pickup-review for a per-item review panel + arbiter.
vibe tasks checklist
Manage a task's in-card checklist (the ordered breakdown of items).
Subcommands
vibe tasks checklist list
List a task's checklist items.
vibe tasks checklist add
Append a checklist item (a step). Add --objective/--acceptance/--files to author a structured step for a supervised task.
Options
--objective <text> - the scoped brief an executor receives for this step--acceptance <text> - plain-language done-when check for this step--files <list> - comma-separated file hints (primary context for this step)
vibe tasks checklist check
Mark a checklist item done.
vibe tasks checklist uncheck
Reset a checklist item to pending.
vibe tasks checklist status
Set an item status: pending | in_progress | done | blocked.
vibe tasks checklist edit
Edit a checklist item's text.
Arguments
<taskId><itemId><text...>
vibe tasks checklist remove
Remove a checklist item.
vibe tasks checklist move
Move a checklist item to a 1-based position.
Arguments
<taskId><itemId><position>
vibe tasks enhance
Propose a checklist for a task with an AI assist (read-only). Add --apply to append the items.
Options
--apply - append the proposed items to the task's checklist--profile <id> - profile to run the assist on (default: crew planner)--json - emit JSON
vibe tasks report
Generate a Markdown task report at .vibestrate/roadmap/tasks/<id>-report.md.
vibe integrate
Preview + integrate merge-ready run branches into a dedicated branch (never main, never push).
Subcommands
vibe integrate list
List merge-ready runs (integration candidates).
vibe integrate preview
Dry-run merge the selected (or all) merge-ready branches; show conflicts.
vibe integrate advise
Read-only merge advice for the selected (or all) merge-ready runs: risk flags, assurance lanes, topology, dry-run conflicts, and a deterministic recommendation. Mutates nothing.
Options
--json - emit the advice as JSON
vibe integrate pr
Prepare a pull request for a run: writes the body from the run's own record and prints the `gh pr create` line. Vibestrate never pushes - you run it.
vibe integrate analyze
Optional read-only LLM pass over the run's redacted diff vs main: semantic risk narrative (never a merge verdict). Spawns a local provider; caches markdown under the run.
Options
--json - emit the full analysis result as JSON
vibe integrate apply
Integrate the selected (or all) merge-ready branches into --into <branch>.
Options
--into <branch> - the integration branch to create (never main)
vibe integrate finish
Merge a complete, clean integration branch into main - locally, with explicit confirmation, never pushed. Refuses partial integrations, dirty trees, and conflicts.
Options
--confirm <token> - non-interactive consent: must be exactly "merge-to-main"
vibe queue
Manage the local task scheduler queue.
Subcommands
vibe queue list
Show the queue and running tasks.
vibe queue add
Add a task to the queue.
Options
--source <name> - origin label for fairness / per-source quotas (default: user)
vibe queue remove
Remove a task from the queue.
vibe queue run
Start the local scheduler loop and process queued tasks.
Options
--exit-when-drained - exit once the queue is empty (useful in scripts)
vibe queue pause
Pause the scheduler (new tasks will not start).
vibe queue resume
Resume the scheduler.
vibe queue service
Print a launchd/systemd unit that brings the scheduler back after a reboot. Prints it - installing is yours to do.
Options
--out <file> - write the unit to a file instead of stdout
vibe queue status
Print scheduler state and recent conflict warnings.
vibe logs
Show the captured provider stdout/stderr stream for a run (the model's live CLI output).
Arguments
<runId> - Run id (see `vibe status`) (a unique prefix is enough)
Options
--follow - tail the stream live (like `tail -f`); Ctrl+C to stop--stream <promptName> - specific agent stream to read (default: newest)
vibe telemetry
Opt-in OpenTelemetry export of a run's metrics to your own collector (off by default).
Subcommands
vibe telemetry trace
Print the OTLP trace JSON for a run (no network - inspect before exporting).
vibe telemetry export
Export a run's metrics as an OTLP trace to a collector (Langfuse, Tempo, Jaeger…).
Options
--endpoint <url> - OTLP/HTTP base URL (e.g. http://localhost:4318)--auth <envRef> - env reference for a bearer token, e.g. env:LANGFUSE_TOKEN
vibe workspace
Track + switch between multiple Vibestrate projects (a user-level registry).
Subcommands
vibe workspace list
List registered projects (live ● / dormant ○).
vibe workspace add
Register a project directory (default: the current directory).
vibe workspace remove
Remove a project from the workspace registry (leaves it on disk).
vibe workspace open
Open a project's dashboard, starting it (server + scheduler) if dormant.
Options
--all - open every registered project--no-open - start the dashboard(s) but don't open a browser tab
vibe workspace close
Shut down a project's dashboard + scheduler (refuses if busy unless --force).
Options
--all - close every live registered project--force - shut down even if runs/queue are busy
vibe workspace overview
Cross-project rollup: runs + cost across every registered project.
Options
--range <range> - window: 24h|7d|30d|90d default: 7d--json - emit JSON
vibe notifications
Inspect and manage local Vibestrate notifications.
Subcommands
vibe notifications list
Show notifications.
Options
--unread-only - only show unread--attention-only - only show items that need action--json - emit JSON
vibe notifications read
Mark a notification read.
vibe notifications resolve
Mark a notification resolved.
vibe notifications read-all
Mark every unread notification as read.
vibe notifications settings
Show current notification settings and configured gateways.
vibe notifications test
Send a tiny test notification through a configured gateway.
vibe gateways
Inspect and toggle notification delivery gateways.
Subcommands
vibe gateways list
Show available gateways and their enabled/valid status.
vibe gateways test
Send a test message through a gateway (no real notification persisted).
vibe gateways enable
Enable a configured gateway.
vibe gateways disable
Disable a gateway. Existing config is preserved.
vibe editor
Configure and test the local editor handoff used by the dashboard.
Subcommands
vibe editor detect
Probe known editors (code, code-insiders, cursor) for availability.
vibe editor set
Enable editor handoff and store the command (default args use --goto path:line:column).
Options
--args <args...> - override the default args (use {file}/{line}/{column} placeholders)
vibe editor test
Open a file (default: README.md) using the configured editor command.
vibe suggestions
Inspect and act on review suggestions captured for a run.
Subcommands
vibe suggestions list
List every suggestion attached to a run.
Options
--json - emit JSON instead of a human-readable table
vibe suggestions show
Show one suggestion in detail (including any proposed patch).
vibe suggestions approve
Approve a suggestion (creates and resolves an approval record).
Options
--note <text> - decision note recorded with the approval
vibe suggestions reject
Reject a suggestion. Records a rejection in approvals.json.
Options
--note <text> - decision note recorded with the approval
vibe suggestions apply
Apply an approved suggestion's proposedPatch inside the run's worktree (git apply, never push/merge).
Options
--validate - after applying, run commands.validate inside the worktree--auto-revert-on-fail - if validation fails, revert the patch (only valid with --validate)--profile <name> - validation profile to run after apply (only meaningful with --validate)
vibe suggestions validate
Run the project's commands.validate inside the run's worktree against an applied suggestion.
Options
--profile <name> - named validation profile from commands.validationProfiles
vibe suggestions revert
Revert a previously-applied suggestion using the captured patch (git apply -R).
vibe suggestions profile
Read or edit a suggestion's validation profile metadata.
Subcommands
vibe suggestions profile show
Print the suggestion's current validation profile (if any).
vibe suggestions profile set
Set the suggestion's validation profile. Future validation runs use this profile. Does NOT re-run validation.
Arguments
<runId><suggestionId><profileName>
vibe suggestions profile clear
Clear the suggestion's validation profile back to default (commands.validate).
vibe bundles
Group reviewed suggestions into a review pass that applies, validates, and reverts as a unit.
Subcommands
vibe bundles list
List every bundle (review pass) attached to a run.
vibe bundles create
Create a new review pass (bundle) for a run.
Options
--title <text> - human-readable title--description <text> - optional longer description--suggestion <ids...> - initial suggestion ids to include (must belong to this run)
vibe bundles add
Add a suggestion to a draft bundle.
Arguments
<runId><bundleId><suggestionId>
vibe bundles remove
Remove a suggestion from a draft bundle.
Arguments
<runId><bundleId><suggestionId>
vibe bundles approve
Approve a review pass (gate before apply).
Options
--note <text> - decision note
vibe bundles reject
Reject a review pass.
Options
--note <text> - decision note
vibe bundles apply
Apply every suggestion in the review pass to the run worktree (all-or-nothing with rollback).
Options
--validate - after applying, run commands.validate--auto-revert-on-fail - if validation fails, revert the bundle (only valid with --validate)--profile <name> - validation profile to run after apply (only meaningful with --validate)
vibe bundles smart-apply
Apply suggestions one-by-one in order. Earlier successes stay applied if a later step fails.
Options
--stop-on-validation-fail - validate after each step; stop at the first failing validation--auto-revert-failing - when --stop-on-validation-fail is set, revert ONLY the failing step (prior steps stay applied)--profile <name> - force every step to use this named validation profile--use-suggestion-profiles - let each step use its own VALIDATION_PROFILE (falls back to bundle/default)
vibe bundles validate
Run commands.validate against the run worktree, attached to a bundle.
Options
--profile <name> - named validation profile from commands.validationProfiles
vibe bundles revert
Revert every suggestion in the review pass via git apply -R (worktree only).
vibe bundles preflight
Run a static-only preflight without modifying the worktree.
vibe bundles profile
Read or edit a review pass's validation profile metadata.
Subcommands
vibe bundles profile show
Print the bundle's current validation profile (if any).
vibe bundles profile set
Set the bundle's validation profile. Future validation runs use this profile. Does NOT re-run validation.
Arguments
<runId><bundleId><profileName>
vibe bundles profile clear
Clear the bundle's validation profile back to default (commands.validate).
vibe validation
Inspect validation profiles configured under commands.validationProfiles.
Subcommands
vibe validation profiles
List the implicit default + every named validation profile.
vibe validation usage
Show how often each validation profile has actually run (`commands.validate` use counts as 'default').
vibe validation profile
Inspect, manage, and migrate validation profile references.
Subcommands
vibe validation profile show
Show the resolved commands for a named profile (or 'default').
vibe validation profile migrate
Rewrite suggestion and bundle records that reference <fromProfile> to point at <toProfile>. Use --clear to migrate to the default profile.
Options
--dry-run - preview affected records; write nothing--clear - interpret <toProfile> as a placeholder for clear-to-default--all - scan every run instead of the recent 50--run <runId> - limit to a single run
vibe validation profile clear-references
Clear every suggestion/bundle that references <profileName> back to the default profile.
Options
--dry-run - preview affected records; write nothing--all - scan every run instead of the recent 50--run <runId> - limit to a single run
vibe validation profile rename
Rename a validation profile in project.yml AND migrate every suggestion/bundle reference in one atomic operation. Preserves the profile's description and commands. Refuses if <toProfile> already exists.
Options
--dry-run - preview the project.yml rename + affected references; write nothing--all - scan every run instead of the recent 50--run <runId> - limit the reference scan to a single run
vibe validation profile doctor
Audit every suggestion + bundle for stale validation-profile references. Default scope matches `vibe doctor` (recent 50 runs); use --all to lift the cap.
Options
--all - scan every run instead of the recent 50--run <runId> - limit the audit to a single run--json - emit JSON (machine-readable; includes didYouMean per record)
vibe validation profile migrations
List previously-applied profile migrations.
vibe terminal
Inspect and close dashboard terminal sessions. Sessions are user-launched from the dashboard; this CLI never spawns one.
Subcommands
vibe terminal list
List every terminal session ever opened in this project (live + closed).
vibe terminal close
Mark a terminal session as closed. Only affects live sessions in the running dashboard process; closed sessions are already terminal.
vibe policies
The project's rule surface: owner-authored tiered policies (advise = reviewer-checked; block = deterministic merge-cap) plus the hard, fail-closed security gates in .vibestrate/policies/.
Subcommands
vibe policies add
Add a project policy (active immediately). advise by default; --block for a deterministic merge-cap.
Options
--fix <text> - the correction the reviewer should name (advise)--lens <lenses...> - scope an advise rule to review lenses (default: every run)--block - make this a deterministic hard merge-block (requires --matcher)--matcher <regex> - regex matched against added diff lines (block only)
vibe policies remove
Remove a project policy.
vibe policies confirm
Confirm a pending (supervisor-proposed) policy - it goes live.
vibe policies reject
Reject a pending (supervisor-proposed) policy - removes it.
vibe policies migrate
Lift legacy persona-scoped preferences into project policies and remove the old keys.
vibe policies draft
Turn an English rule into an editable policy draft (supervisor-assisted). Draft only - never writes; adopt it with `policies add`.
vibe policies suggest
Propose candidate policies from recent runs' diffs (supervisor-assisted). Draft only - never writes.
Options
--limit <n> - how many recent runs to scan (1-10)--json - emit JSON
vibe policies test
Dry-run a matcher against a diff snippet or recent runs (read-only). Give an existing block-policy id, or --regex.
Options
--regex <pattern> - regex to test (instead of a policy id)--flags <flags> - regex flags (subset of gimsuy)--glob <glob> - touched-file glob to test--snippet <file> - path to a diff/patch file to test against--recent - test against recent runs' diffs--limit <n> - recent runs to scan (1-10)--surface <surface> - apply surface (suggestion-apply | bundle-apply) default: suggestion-apply--json - emit JSON
vibe policies list
List the project's policies (owner-authored tiered rules) and the hard security gates in .vibestrate/policies/*.yml.
vibe policies check
Apply the loaded policy rules to a patch file (unified diff). Read-only - never applies, never executes.
Options
--surface <surface> - which apply surface to simulate (suggestion-apply | bundle-apply) default: suggestion-apply--json - emit JSON
vibe policies doctor
Validate rule YAML, list malformed files, surface duplicate ids and empty-rule files.
vibe policies config
Show or set the safety behavior toggles (strict apply-only, terminal, forbid-* guards).
Options
--json - emit JSON--strict-apply-only <bool> - agents propose diffs; gateway applies--harden-read-only <bool> - read-only claude seats run --permission-mode plan--allow-terminal <bool> - enable the dashboard terminal panel--forbid-main-writes <bool> - block writes to the main branch--forbid-secrets <bool> - block reads/writes of secret files--forbid-push <bool> - block auto-push--forbid-merge <bool> - block auto-merge
vibe assurance
Show a run's Run Assurance verdict (evidence-backed; from the Action Broker log + review/verification).
Arguments
<run> - the run id or display name (see `vibe status`)
vibe audit
Show a run's audit tree (flow steps, per-step attempts incl. retries/fallbacks, control events).
Arguments
<run> - the run id or display name (see `vibe status`)
vibe path
Show a run's workspace (worktree path + branch) so you can cd into it.
Arguments
<runId> - the run id (see `vibe status`) (a unique prefix is enough)
Options
--cd - print only the absolute worktree path (for `cd "$(...)"`)--json - emit JSON
vibe rename
Give a run a friendly display name (the run id stays the same).
Arguments
<runId> - the run id (see `vibe status`) (a unique prefix is enough)<name...> - the new display name
vibe ledger
Show the project continuity brief (what shipped, what's open).
Options
--json - emit the structured ledger state as JSON--limit <n> - max entries per section (default 5)
Subcommands
vibe ledger add
Hand-add a ledger entry - the same write path the dashboard's "Add entry" form uses.
Options
--kind <kind> - shipped | intent | decision | mention | residual--title <text> - entry title (max 300 chars)--detail <text> - optional longer detail (max 4000 chars)--tags <list> - comma-separated tags--status <status> - open | shipped | abandoned--json - emit the created entry as JSON
vibe consult
Ask the project orchestrator a question, answered from controlled project context (read-only).
Arguments
<question> - the question to ask about this project
Options
--task <id> - include a task's context (title, status, checklist)--run <id> - focus a recent run by id--file <path> - include a project file's content (repeatable) default: []--profile <id> - answer with a specific profile (default: the crew's read-only planner)--provider <id> - answer ad-hoc with this provider (overrides --profile)--model <id> - model for the ad-hoc provider (requires --provider)--effort <level> - effort/power for the ad-hoc provider (requires --provider)--json - emit the full structured result as JSON
vibe steer
Queue a note onto a running run; it is applied at the next step boundary.
Arguments
<runId> - id of the run to steer (a unique prefix is enough)<note...> - what the agents should do differently
Options
--step <stepId> - hold the note until this specific step runs (default: whichever step runs next)
vibe learn
Regenerate .vibestrate/CODEBASE.md, an auto-derived map of the project's stack, layout, and routes, and harvest the codebase's TODO markers.
Subcommands
vibe learn show
Print the current CODEBASE.md (run `vibe learn` first if there is none).
vibe learn todos
Print the harvested TODO counts. `vibe todos` reviews and promotes them.
vibe todos
Review the TODO markers `vibe learn` found in your code, and promote the real ones onto the Board.
Options
--all - also list the ones already on the board and the dismissed ones--json - emit JSON
Subcommands
vibe todos dismiss
Set TODOs aside so later scans stop offering them. Reversible with `undismiss`.
vibe todos undismiss
Bring dismissed TODOs back into the review list.
vibe budget
View or configure the daily spend cap (and what happens when it's hit).
Subcommands
vibe budget show
Show the configured cap, action, and today's spend so far.
vibe budget set
Set the daily spend cap and/or the action taken when it's reached.
Options
--cap <usd> - daily cap in USD (e.g. 5)--action <action> - what to do at the cap: stop | downgrade-model | reduce-effort--warn <pct> - warn threshold as a fraction 0..1 (default 0.8)--fallback <providerId> - cheaper Profile to switch to on downgrade-model--max-turns-run <n|off> - max agent turns in one run (count ceiling)--max-time-run <min|off> - max wall-clock minutes for one run--max-turns-day <n|off> - max agent turns across all runs today--max-time-day <min|off> - max wall-clock minutes across all runs today--on-limit <stop|pause> - what to do when a count/time ceiling is hit (pause = attended)
vibe budget off
Remove the daily spend cap.
vibe replay
Read-only inspector for a persisted run (mirrors the Replay tab in the dashboard).
Arguments
<runId> - id of the run to replay (a unique prefix is enough)
Options
--json - emit the full replay projection as JSON
vibe pause
Request that an active run pause at the next stage boundary.
Arguments
<runId> - id of the run to pause (a unique prefix is enough)
vibe guide
Manage VIBESTRATE.md (the agent's operating guide for this project) and its proposals.
Subcommands
vibe guide show
Print the project's VIBESTRATE.md (or note that there is none).
vibe guide init
Scaffold a starter VIBESTRATE.md at the project root (refuses if one exists).
vibe guide proposals
List open VIBESTRATE.md proposals (e.g. from consult).
Options
--all - include applied/rejected proposals
Subcommands
vibe guide proposals show
Show a proposal's full suggested text.
vibe guide apply
Apply a proposal - append its text to VIBESTRATE.md (guarded write).
vibe guide reject
Reject a proposal (keeps it on record, marked rejected).
vibe resume
Clear a pending pause request or resume a paused run.
Arguments
<runId> - id of the run to resume (a unique prefix is enough)
vibe shell
Interactive terminal panel. For the full dashboard + scheduler + browser in one shot, use `vibe ui` instead.
Options
--refresh <ms> - snapshot refresh interval in ms (default 1000)--once - print one snapshot as JSON and exit (useful for scripts / smoke tests)--full-screen - draw in the terminal's alternate buffer, filling the window instead of rendering inline. Off by default: it must redraw correctly on resize in YOUR terminal, and VSCode's integrated one misbehaved.
vibe run
Run the default plan→architect→implement→review→verify workflow.
Options
--ui - start the local supervisor dashboard alongside the run--ui-port <port> - port for the supervisor dashboard (default 4317)--task <taskId> - link this run to a roadmap task; updates task status and runIds.--crew <id> - crew to resolve the flow's seats against (default: project.defaultCrew).--profile <id> - run-wide Profile override applied to every seated step in this run.--read-only - investigation-only run: skip executor + fix loop; refuse apply/validate/revert; force readOnly permissions on every role.--permission-mode <mode> - permission mode: read-only | ask (approve each change) | accept-edits (auto-apply, then hold for your sign-off before completing) | auto (default). --read-only is the alias for read-only.--unattended - never pause for a human: forces budget onLimit->stop and resilience onExhausted->fail, so the run always terminates on its own.--skills <list> - comma-separated skill ids to attach to every agent for this single run (merged with each agent's configured skills).--concise - ask agents to produce token-efficient output (prefer diffs, bullets, no preamble).--flow <id> - resolve and run a Flow recipe for this run.--supervisor <id> - supervisor persona (judgment posture) for this run; default = project.defaultPersona.--select - let the orchestrator pick the Flow even when a default flow is set.--no-select - skip Flow selection and the adaptive spec-up detour; run the flow directly.--step-profile <stepId=profileId> - override the Profile for a Flow step (same Role, different runtime). Repeat for multiple steps. default: []--seat-role <seat=roleId> - pin a Role to a Seat when the crew has more than one role filling it. Repeat for multiple seats. default: []--flow-brief <text> - extra brief for the Flow task packet.--flow-context <policy> - Flow context policy (balanced|compact|artifact-heavy).--flow-force <step> - run a Flow step even when its condition would stand it down (e.g. --flow-force review-authz). Repeat for multiple steps. Only ever ADDS work back - there is no inverse that disarms a review. default: []--flow-skip <step> - skip an optional Flow step for this run. Repeat for multiple steps. default: []--param <key=value> - set a flow parameter (for a flow that declares `params:`). Repeatable. default: {}-i, --interactive - interactively pick the Flow and Crew you didn't pass (horizontal selector), then run. With --flow, opens that flow's detailed setup instead.--resume-from <runId> - rewind: fork from a prior run, reusing its plan (+ architecture) instead of regenerating them.--resume-stage <stage> - stage to resume at with --resume-from: planning | architecting | executing (regenerate code) | reviewing | fixing | verifying (restore the source run's code snapshot). Default: executing.--preview - dry-run a downstream rewind: print the files the restore would overwrite/remove (vs the worktree base), then exit without starting a run. Use with --resume-from.--checklist <mode> - pick-up execution over the linked task's checklist: continuous | step. Needs --task and a checklist-aware flow (--flow pickup).--context-file <path> - attach a project file as context for every agent (repeatable; path-guarded, secrets redacted). default: []--context-url <url> - attach an http(s) URL as context (repeatable; SSRF-guarded, bounded, secrets redacted). default: []--context-pdf <path> - attach a project PDF as context (repeatable; needs poppler's pdftotext, path-guarded, secrets redacted). default: []
vibe ui
Start the local supervisor dashboard for this project.
Options
--port <port> - port to bind (default 4317)--host <host> - bind host (default 127.0.0.1). A non-loopback host exposes the API on the network and requires VIBESTRATE_API_TOKEN.--no-open - don't open the dashboard in your default browser on startup (default: open).--no-scheduler - don't start the managed scheduler subprocess (default: on; the UI owns its lifecycle).
vibe status
List Vibestrate runs in this project.
Options
--json - emit JSON instead of a human-readable table
vibe abort
Mark a run as aborted (does not delete the worktree).
vibe runs
Manage runs and their rewind snapshots.
Subcommands
vibe runs prune
Delete rewind-snapshot refs you choose to drop: orphans (run dir gone), beyond a keep-N window, or one run. Shows the plan and confirms first; never purges on its own.
Options
--keep <n> - keep the N most-recent runs' snapshots, prune the rest--orphans - prune refs whose run directory is gone (default when no other scope is given)--run <runId> - prune one specific run's snapshots--dry-run - show what would be pruned, delete nothing-y, --yes - skip the confirmation prompt
vibe doctor
Check environment, config, providers, and recommend next steps.
Options
--json - emit JSON--fix - apply safe fixes (create missing dirs/templates, add Claude provider if detected, suggest validation)