Skip to content

CLI Commands

The FlowForge command-line surface has two halves. Slash commands (/flowforge:session:start, /flowforge:dev:status, and dozens more) are the primary way you interact with FlowForge from inside Claude Code: the hook runtime resolves each slash command to a markdown file under commands/flowforge/, extracts its bash body, and runs it. The flowforge Go binary is a small companion CLI that exposes a handful of subcommands (install, register-repo, tui, run, version, migrate, upgrade, plus the internal worker) so the same workflows are available outside Claude Code — from CI, makefiles, scripts, and shell aliases.

You typically pick which surface to use based on context. Inside Claude Code you write the slash form (/flowforge:dev:status). Outside, you invoke the binary (flowforge run flowforge:dev:status) — the resolution rules are identical, so a slash command and its flowforge run counterpart do exactly the same work in the same project.

The commands you reach for on a typical day:

CommandWhat it does
/flowforge:session:startStart a tracked session, place you on the right branch, start the timer.
/flowforge:session:pausePause the timer and push WIP without ending the session.
/flowforge:session:endClose the session, stop the timer, write the summary.
/flowforge:dev:statusConsolidated view of git, tests, time, and project health.
/flowforge:dev:checkrulesSweep the project against every FlowForge rule.
flowforge install --globalMaterialize the asset bundle at ~/.flowforge/ (one-time per machine).
flowforge register-repoRegister a git repository with the global install.
flowforge tuiLaunch the Bubble Tea controller inside tmux.
flowforge runRun any slash command from the binary.
flowforge versionPrint the embedded binary version.

Every slash command lives under commands/flowforge/<namespace>/<leaf>.md. The namespace organizes commands by the workflow surface they belong to: session for session ceremony, dev for day-to-day development, project for project-shape commands, and so on. The catalog below is regenerated from the source markdown’s frontmatter via v3/site/scripts/gen-cli-reference.mjs; manual edits inside the AUTOGEN markers are overwritten on the next run.

To regenerate after editing a command’s frontmatter:

Terminal window
node v3/site/scripts/gen-cli-reference.mjs

62 slash commands across 17 namespaces. Sourced from commands/flowforge/**/*.md frontmatter.

CommandArgumentsDescription
/flowforge:agent:create[agent-type]Interactive wizard to create custom FlowForge agents with intelligent rule selection
/flowforge:agent:dispatch-isolation(no description in source)
/flowforge:agent:manage[list|install|remove|info] [agent-name]Manage FlowForge custom agents - list, install, and configure specialized AI assistants
CommandArgumentsDescription
/flowforge:analytics:metricsGenerate comprehensive project metrics report
CommandArgumentsDescription
/flowforge:bug:add[title] [priority:critical|high|medium|low] [--description=\\"...\\"] [--tags=\\"...\\"]Smart bug addition command with auto-detection of context, priority assignment, and integration with sidetracking system
/flowforge:bug:list[filter] [--priority=] [--status=] [--assignee=] [--search=] [--format=table|json|markdown] [--export=file]Advanced bug listing command with filtering, rich table formatting, search capability, and export options
/flowforge:bug:nobugbehind[bug-id] [priority:critical|high|medium|low] [type:hotfix|bugfix]Smart bug sidetracking command that preserves work context and creates appropriate branches with GitHub integration
/flowforge:bug:popcontext[--force] [--keep-branch]Return from bug sidetrack to previous work context using the sidetracking engine
CommandArgumentsDescription
/flowforge:context:restoreRestore session, branch, and task context from Git for cross-machine synchronization
CommandArgumentsDescription
/flowforge:dev:checkrulesVerify project compliance with FlowForge rules
/flowforge:dev:enforcement[check|gradual|immediate]Check or update FlowForge enforcement level
/flowforge:dev:init[help]Initialize FlowForge development environment in existing project
/flowforge:dev:namespace-clean(no description in source)
/flowforge:dev:namespace-init(no description in source)
/flowforge:dev:namespace-status(no description in source)
/flowforge:dev:statusShow project status and health
/flowforge:dev:switch(no description in source)
/flowforge:dev:tdd<feature-description>Start Test-Driven Development workflow - Red, Green, Refactor!
/flowforge:dev:validateValidate FlowForge installation and configuration
CommandArgumentsDescription
/flowforge:metrics:dashboard[--format=html|json|text] [--output=file] [--period=7d|30d|90d|1y] [--show-trends] [--rule37-only] [--developer=name]Generate comprehensive bug metrics and quality dashboard with Rule #37 compliance scoring
CommandArgumentsDescription
/flowforge:migrate:v2(no description in source)
CommandArgumentsDescription
/flowforge:milestone:mode(no description in source)
CommandArgumentsDescription
/flowforge:namespace:syncSynchronize namespace data with Git for cross-machine access
CommandArgumentsDescription
/flowforge:project:addrule[rule-title] [enforcement-type:block|warn] [description]Add a new rule to FlowForge and automatically set up enforcement
/flowforge:project:archive[name] [help]Creates a compressed archive of the current project for backup or distribution
/flowforge:project:icebox[help]Show future ideas not assigned to any milestone
/flowforge:project:plan[feature-description]AI-powered planning wizard for creating milestones or sprints with automatic task generation
/flowforge:project:setup[help]One-time project setup wizard - Only appears on first FlowForge installation
/flowforge:project:tasks[filter] [options] (try 'tasks ?' for help)Generate comprehensive task reports filtered by time, milestone, or assignee
CommandArgumentsDescription
/flowforge:session:debug[logs|state|all]Enable debug mode for FlowForge sessions with comprehensive diagnostics
/flowforge:session:end[message] (optional commit message)Complete work session with automatic cleanup and next session preparation
/flowforge:session:handoff[ticket-id] (optional - includes next ticket context)Generate comprehensive context prompt for session continuity after /clear
/flowforge:session:health[verbose]Comprehensive health check for FlowForge session with diagnostics
/flowforge:session:nextTask[--auto] (auto-confirm transition)Seamlessly transition to the next task without interruption
/flowforge:session:pause[commit-message]Quick pause - Switch tasks or take a break without the full ceremony
/flowforge:session:repair[auto|interactive]Automatically detect and repair common FlowForge session issues
/flowforge:session:restoreRestore a previous session from Git history or cross-machine sync
/flowforge:session:start[ticket-id] (optional - will auto-detect if not provided)Start a new work session with intelligent task detection and zero-friction setup
CommandArgumentsDescription
/flowforge:setup:claude-md(no description in source)
CommandArgumentsDescription
/flowforge:system:statusShow FlowForge system status and health
CommandArgumentsDescription
/flowforge:team:activityDisplay team activity timeline from Git-tracked data
/flowforge:team:blockedReport and track blockers on tasks
/flowforge:team:exportExport team reports in CSV, JSON, or Markdown format
/flowforge:team:handoffTransfer task ownership to another developer
/flowforge:team:hoursDisplay tracked hours for a specific developer
/flowforge:team:messageSend a message to the team through Git-tracked messaging
/flowforge:team:reportGenerate time tracking and activity reports for the team
/flowforge:team:statusDisplay current team status including active developers and task assignments
/flowforge:team:sync-externalIntegrate with external time tracking and project management tools
/flowforge:team:tasksDisplay current task assignments across the team
/flowforge:team:velocityDisplay team velocity and productivity metrics
/flowforge:team:whoDisplay which developers are working on which tasks
CommandArgumentsDescription
/flowforge:version:bump(no description in source)
/flowforge:version:check[help]Show FlowForge version and changelog information
/flowforge:version:disable[help]Disable version tracking for your project
/flowforge:version:enable[help]Enable version tracking for your project with automatic changelog generation
/flowforge:version:post-update(no arguments needed)Interactive wizard to set up new features after FlowForge update
/flowforge:version:update[help]Check for FlowForge updates and install them automatically
CommandArgumentsDescription
/flowforge:wisdom:read(no description in source)
/flowforge:wisdom:update(no description in source)
CommandArgumentsDescription
/flowforge:help[category] (optional: session, dev, project, agent, version)Show all FlowForge commands organized by category
/flowforge:next[--auto] (skip confirmation)Seamlessly transition to the next task without interruption

The flowforge binary is built from v3/cmd/flowforge/. Several subcommands are exposed today; one of them (worker) is hidden from --help output because it is invoked only by the controller. The binary has no runtime dependencies — no Node.js, no npx, no language toolchain. It is a single Go executable.

Bootstraps the FlowForge asset bundle at ~/.flowforge/ (or $FLOWFORGE_HOME). Run once per machine. The asset directories (agents/, commands/, hooks-templates/, scripts/, templates/, bin/, docs/, documentation/) are fully overwritten on each run so stale entries cannot survive an upgrade; user state files (config.json, repos/index.json) are preserved across runs. The --global flag is mandatory in v1.0. See flowforge install --global.

Registers a git repository with the global install so per-repo session and billing state has a home under ~/.flowforge/repos/<repo-id>/. The registered worktree itself is never modified. Accepts an optional positional path argument (defaults to the current directory). See flowforge register-repo.

Launches the full-screen Bubble Tea controller inside tmux. Requires the calling shell to be inside a tmux session (TMUX must be set). Takes a required --project flag and an optional --session flag. See flowforge tui.

Executes any FlowForge slash command from its markdown definition. Walks up to find the project root, resolves the colon-separated command id to a markdown file, extracts the bash blocks, and runs them in a child shell with ARGUMENTS set from the trailing positional arguments. This subcommand replaces the legacy run_ff_command.sh helper. See flowforge run.

Prints the binary’s compiled-in version string. See flowforge version.

Internal command — invoked by the TUI controller when spawning new tmux windows. Hidden from flowforge --help; documented for completeness on the flowforge run page.

A handful of conventions hold across the entire surface; they are worth memorizing:

  • ARGUMENTS carries positional input. When a slash command is dispatched (either through Claude Code or flowforge run), trailing positional arguments are joined with single spaces and exported as ARGUMENTS to the child bash. Slash command bodies read it with ${ARGUMENTS:-}.
  • ? and help are universal arguments. Most slash commands intercept ? or help as the first argument, print an in-terminal usage block, and exit 0. When in doubt about what a command does at runtime, append ? and read its own help.
  • DEBUG=1 enables tracing. Slash commands typically write [[ "${DEBUG:-0}" == "1" ]] && set -x, so prefixing any invocation with DEBUG=1 produces full bash tracing for diagnosis. The flag is opt-in and never on by default.
  • TMUX gates tmux-aware commands. The flowforge tui and flowforge worker subcommands refuse to start if TMUX is unset.
  • The binary’s exit code is the child’s exit code. flowforge run propagates the underlying bash exit code, so a slash command that exits 1 produces flowforge run ... exiting 1. Failures inside the binary itself (project root not found, path traversal attempt, missing command file) also exit non-zero with a descriptive error.
  • Configuration — what flowforge install --global and flowforge register-repo write to disk and how to tune it.
  • Sessions — the lifecycle the session commands operate on.
  • Maestro Pattern — the orchestration model the controller and rule sweep enforce.
  • First Session — end-to-end walkthrough that uses many of these commands.