roveflow — with the short alias rf. Install it with dart pub global activate roveflow (see Installation).
Synopsis
roveflow init
Installs Roveflow into a Flutter project. Zero source-code changes — every file lands in well-known locations and can be regenerated at any time.
Synopsis
Options
| Flag | Short | Default | Description |
|---|---|---|---|
--path | -p | . | Target Flutter project path. Relative paths resolve against the current directory. |
--force | -f | false | Overwrite locally modified files with the bundled version. Use after a Roveflow upgrade to refresh the skill, slash command, and agent template. |
Preflight
The command exits non-zero with an error message if the target directory is not a Flutter project (missingpubspec.yaml or no sdk: flutter dependency).
What it creates
Under the target directory:.claude/skills/roveflow/— the full skill (SKILL.md plus 10 reference files)..claude/commands/roveflow.md— the/roveflowslash command..claude/agents/roveflow-runner.md— the agent template.lib/core/mcp/mcp_interaction_tools.dart— MCP interaction tools drop-in, with<your_app>substituted to your pubspecname. You still need to add anavigate.pop()helper yourself (see Integrate into an existing app)..mcp.json—flutter-inspectorMCP server config, written with env-var substitution (${ROVEFLOW_FLUTTER_INSPECTOR}) so the binary path stays out of your repo. Written fresh if absent; if a file already exists without aflutter-inspectorentry, the command prints a warning and does not merge (merge manually from.claude/skills/roveflow/references/mcp-config.snippet.json).docs/roveflow/scenarios.md— starter scenarios inventory. Skipped with a warning if a file already exists; pass--forceto overwrite.docs/roveflow/runs/— empty directory for future session recordings.
Next steps the command prints
After a successful install,roveflow init prints the manual wiring steps:
- Add
await registerMcpInteractionTools();to thekDebugModeblock inmain.dart(importslib/core/mcp/mcp_interaction_tools.dart). - Export
ROVEFLOW_FLUTTER_INSPECTORto yourflutter_inspector_mcpbinary path. - Add
mcp_toolkittopubspec.yamldependencies. - Fill in the
cold-setupflow indocs/roveflow/scenarios.md. - Boot the app in debug mode and run
/roveflow --only=cold-setupin Claude Code.
Exit codes
| Code | Meaning |
|---|---|
0 | Install succeeded. |
1 | Target is not a Flutter project. |
roveflow doctor
Diagnoses an existing Roveflow install. Checks the four load-bearing pieces roveflow init sets up and reports what’s missing — useful after an upgrade, after a merge conflict, or when a smoke run fails suspiciously early.
Synopsis
Options
| Flag | Short | Default | Description |
|---|---|---|---|
--path | -p | . | Target Flutter project path. Relative paths resolve against the current directory. |
Checks
| Check | Passes when |
|---|---|
pubspec.yaml declares mcp_toolkit | pubspec.yaml has an mcp_toolkit: line under dependencies:. |
main.dart calls registerMcpInteractionTools | lib/main.dart invokes registerMcpInteractionTools( (typically inside a kDebugMode block). |
.mcp.json present and resolves | .mcp.json exists, declares a flutter-inspector server, and its command is not a <placeholder>. |
skill installed at .claude/skills/roveflow | .claude/skills/roveflow/SKILL.md exists. |
Output
Exit codes
| Code | Meaning |
|---|---|
0 | All checks passed. |
1 | Target is not a Flutter project, or one or more checks failed. |
roveflow version
Prints the installed Roveflow version and exits.
Synopsis
Output
The /roveflow slash command
roveflow init installs a Claude Code slash command, not a CLI subcommand. Invoke it from inside a Claude Code session whose working directory is the target Flutter project root:
| Flag | Default | Description |
|---|---|---|
--mode | critical | critical runs only scenarios tagged criticality: critical. all runs every scenario. |
--only | unset | Comma-separated scenario ids to run. Overrides --mode. |
--no-record | off (recording ON) | Skip capturing the full-run recording.mov via xcrun simctl io booted recordVideo. Useful on headless CI simulators or for faster iteration loops. |
Next
MCP tools
The interaction tools the agent can call.
Scenario schema
Every field in the YAML block.