Skip to main content

CLI Reference

The sections below document the current CLI commands. When CLI arguments change, regenerate this reference by running branchbox --help and its subcommands.

branchbox

Isolated development environments for every feature

Usage: branchbox <COMMAND>

Commands:
init Initialize project with devcontainer and BranchBox registry
devcontainer Manage devcontainer configuration
agent Agent and control-plane helpers
detect Detect project configuration
name Feature name utilities
feature Manage feature worktrees
tunnel Manage tunnels for existing features
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help
-V, --version Print version

branchbox init

Initialize project with devcontainer and BranchBox registry

Usage: branchbox init [OPTIONS] [SOURCE]

Arguments:
[SOURCE] Repository URL or path (defaults to current directory)

Options:
-p, --path <PATH> Target directory for parent worktree
-s, --stack <STACK> Force specific stack (rails, nodejs, rust, generic)
--skip-devcontainer Skip devcontainer setup
--skip-env Skip environment setup
--reorganize Force reorganization into worktree structure
--use-parent-structure Use in-place parent structure (reorganize as container/main/)
--update Update existing setup without restructuring
--validate Validate only (no modifications)
--dry-run Dry run (show what would happen)
-y, --yes Non-interactive mode (use defaults, answer yes to prompts)
-v, --verbose Verbose output
-h, --help Print help

branchbox devcontainer

Manage devcontainer configuration

Usage: branchbox devcontainer <COMMAND>

Commands:
sync Sync devcontainer configuration to all feature worktrees
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help

branchbox devcontainer sync

Sync devcontainer configuration to all feature worktrees

Usage: branchbox devcontainer sync [OPTIONS]

Options:
-p, --path <PATH> Project directory (defaults to current directory)
-s, --strategy <STRATEGY> Sync strategy (copy or symlink)
-n, --dry-run Dry run - show what would be synced without making changes
-h, --help Print help

branchbox agent

Agent and control-plane helpers

Usage: branchbox agent <COMMAND>

Commands:
status Show agent/control-plane status
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help

branchbox agent status

Show agent/control-plane status

Usage: branchbox agent status [OPTIONS]

Options:
--json Emit JSON output
-h, --help Print help

branchbox detect

Detect project configuration

Usage: branchbox detect [OPTIONS]

Options:
-p, --path <PATH> Project directory (defaults to current directory)
-h, --help Print help

branchbox name

Feature name utilities

Usage: branchbox name <COMMAND>

Commands:
generate Generate feature name from title
validate Validate feature name
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help

branchbox name generate

Generate feature name from title

Usage: branchbox name generate <TITLE>

Arguments:
<TITLE> Feature title (e.g., "OAuth Integration")

Options:
-h, --help Print help

branchbox name validate

Validate feature name

Usage: branchbox name validate <NAME>

Arguments:
<NAME> Feature name to validate (e.g., "oauth-integration")

Options:
-h, --help Print help

branchbox feature

Manage feature worktrees

Usage: branchbox feature <COMMAND>

Commands:
start Create a new feature worktree and run module setup
teardown Tear down an existing feature worktree
list List known feature worktrees from the registry
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help

branchbox feature start

Alias: branchbox feature new

Create a new feature worktree and run module setup

Usage: branchbox feature start [OPTIONS] [NAME]

Arguments:
[NAME] Dasherized feature name (e.g., oauth-integration)

Options:
--title <TITLE> Free-form feature title (converted to dasherized name)
--base <BASE> Base branch to branch from (defaults to current HEAD)
--branch-prefix <BRANCH_PREFIX> Override branch prefix (defaults to "feature")
--repo <REPO> Repository path (defaults to current directory)
--reuse Allow reusing an existing worktree directory
--telemetry Emit verbose telemetry (e.g. Cloudflare operations)
--skip-module <MODULE> Skip specific modules during setup (can be specified multiple times) Available modules: compose, database, tunnel, specs
--minimal Start feature workflow in minimal mode (skips heavyweight modules)
--prompt <PROMPT> Provide an optional prompt seed for automation/agent hand-off
--default-prompt Use the default minimal-mode prompt shortcut (only valid with --minimal/--fast)
--json Emit JSON summary payload instead of human-readable text
--no-summary Suppress summary output (text mode only)
-h, --help Print help

branchbox feature list

List known feature worktrees from the registry

Usage: branchbox feature list [OPTIONS]

Options:
--repo <REPO> Repository path (defaults to current directory)
--status <STATUS> Filter by status (active, removed)
--all Include removed features even if --status is not provided
--json Emit JSON output instead of human-readable summary
-h, --help Print help

branchbox feature teardown

Tear down an existing feature worktree

Usage: branchbox feature teardown [OPTIONS] <NAME>

Arguments:
<NAME> Dasherized feature name to tear down (e.g., oauth-integration)

Options:
--branch-prefix <BRANCH_PREFIX> Override branch prefix (defaults to "feature")
--repo <REPO> Repository path (defaults to current directory)
--keep-branch Keep the git branch after removing the worktree (default is to delete it)
--delete-branch Delete the git branch after removing the worktree
--force Force removal even with local changes
--force-delete-branch Force-delete the git branch even if it is not fully merged (`git branch -D`)
--complete-spec Move spec to completed during teardown
--telemetry Emit verbose telemetry (e.g. Cloudflare operations)
-h, --help Print help

branchbox tunnel

Manage tunnels for existing features

Usage: branchbox tunnel <COMMAND>

Commands:
open Provision (or re-provision) a tunnel for an existing feature
remove Remove tunnel metadata and attempt provider teardown
help Print this message or the help of the given subcommand(s)

Options:
-h, --help Print help

branchbox tunnel open

Provision (or re-provision) a tunnel for an existing feature

Usage: branchbox tunnel open [OPTIONS] <NAME>

Arguments:
<NAME> Dasherized feature name (e.g., oauth-integration)

Options:
--repo <REPO> Repository path (defaults to current directory)
--json Emit JSON output instead of human-readable summary
-h, --help Print help

branchbox tunnel remove

Remove tunnel metadata and attempt provider teardown

Usage: branchbox tunnel remove [OPTIONS] <NAME>

Arguments:
<NAME> Dasherized feature name (e.g., oauth-integration)

Options:
--repo <REPO> Repository path (defaults to current directory)
--force Continue even if provider teardown fails
--json Emit JSON output instead of human-readable summary
-h, --help Print help