SpecBridge SpecBridge | Docs Cli Reference

The CLI entry point is specbridge. It provides 20 commands (including nested subcommands) plus dynamic spec-scoped dispatch.

Authentication

specbridge login

specbridge login

Prompts for username and password and stores your session locally.

specbridge logout

specbridge logout

Clears your local session.

specbridge whoami

specbridge whoami

Shows your current session info.

Project Initialization

specbridge init

specbridge init [PROJECT_NAME] [--here] [--integration|-i TEXT] [--vcs-only] [--skip-resolve]
Option Type Default Description
project_name argument Optional name of directory to create
--here flag false Initialize in current directory
--integration / -i string Integration to configure (e.g., opencode)
--vcs-only flag false Only init VCS, no server project setup
--skip-resolve flag false Skip server-side project resolution

Bootstraps a .specbridge/ repository and optionally links it to a server project.

specbridge clone

specbridge clone <PROJECT_SLUG>
Option Type Description
PROJECT_SLUG argument Project slug to clone

Clones a project from the server, including all specs and their version history.

specbridge set-remote

specbridge set-remote <PROJECT_SLUG>

Links the current working directory to an existing server project.

Status and Viewing

specbridge status

specbridge status

Shows staged and unstaged changes per spec.

specbridge log

specbridge log [SPEC]
Option Type Description
SPEC argument Spec name (all if omitted)

Shows commit history.

specbridge diff

specbridge diff [SPEC]
Option Type Description
SPEC argument Spec name (all if omitted)

Shows changes between commits.

specbridge specs

specbridge specs

Lists all tracked specs.

Staging and Committing

specbridge add

specbridge add <SPEC>
Option Type Description
SPEC argument (required) Spec name or . for all

Stages spec files for the next commit.

specbridge unstage

specbridge unstage [SPEC]
Option Type Description
SPEC argument Auto-detect if omitted

Removes files from the staging area.

specbridge commit

specbridge commit [SPEC] --message|-m <TEXT> [--all|-a]
Option Type Default Description
SPEC argument Auto-detect if omitted
--message / -m string (required) Commit message
--all / -a flag false Commit all staged specs

Creates a local commit snapshot of your spec files.

Syncing

specbridge push

specbridge push [--force|-f]
Option Type Default Description
--force / -f flag false Upload all objects (skip delta)

Uploads your local commits to the server. May prompt for a space slug if you belong to multiple spaces.

specbridge pull

specbridge pull

No options. Downloads the latest spec versions from the server.

Version Control

specbridge checkout

specbridge checkout <SPEC> <REF> [--force|-f]
Option Type Default Description
SPEC argument (required) Spec name
REF argument (required) Commit hash or latest
--force / -f flag false Discard uncommitted changes

Restores spec files to a specific version.

specbridge revert

specbridge revert <SPEC> <COMMIT_REF>
Option Type Description
SPEC argument (required) Spec name
COMMIT_REF argument (required) Commit reference

Undoes a previous commit.

specbridge restore

specbridge restore [SPEC]
Option Type Description
SPEC argument Spec name (all if omitted)

Restores the working tree from the latest local commit.

Configuration

specbridge switch

specbridge switch                        # Shows current context
specbridge switch tenant <SLUG>          # Changes active tenant
specbridge switch space <SLUG>           # Changes active space

Changes your active tenant or space.

AI Agent

specbridge ai

sb ai                                    # Start an interactive AI session
sb ai --conversation-id <id>             # Attach to a previous conversation

Opens a Claude-CLI-style REPL that streams from the same AI assistant as the web dashboard — same provider keys, quotas, spec tools, and conversation history. Tool activity is shown live (e.g. ⚙ get_spec …), and when the agent proposes a code implementation you are prompted to approve or reject it before anything touches your repository.

Session commands:

Command Purpose
/new [title] start a new conversation
/conversations list recent conversations
/switch <n|id> attach to a previous conversation
/rename <title> rename the current conversation
/delete <n|id> delete a conversation
/skill <path-or-name> inject a markdown skill file as session context (/skill none clears it)
/context show current session bindings
/clear, /help, /quit housekeeping

Methodology commands (one per speckit phase, each takes a spec slug):

/specify WFGT-001        # draft & write spec.md
/clarify WFGT-001        # ask up to 5 questions, then refine spec.md
/plan WFGT-001           # write plan.md
/tasks WFGT-001          # write dependency-ordered tasks.md
/checklist WFGT-001      # write checklist.md
/analyze WFGT-001        # cross-check artifacts (read-only)

Skill files are plain markdown. sb ai looks them up at the path you give, then in ./.specbridge/skills/<name>.md and ~/.specbridge/skills/<name>.md.

Constitution Management

specbridge constitution (subcommand group)

specbridge constitution add              # Stage constitution file
specbridge constitution status           # Show staged/unstaged changes
specbridge constitution commit -m <MSG>  # Commit constitution
specbridge constitution log              # Show history
specbridge constitution checkout <REF>   # Restore previous version
specbridge constitution revert <REF>     # Undo a commit

Manage your team's constitution document — the rules and conventions for spec authoring.

Upgrading an Existing Project

specbridge migrate

specbridge migrate

One-way, non-destructive upgrade for a project still using the older GitHub spec-kit .specify/ convention: moves it onto SpecBridge's own .specbridge/templates/ convention. Never touches .specify/ itself, and only relocates the constitution's tracked path — only available if your active tenant credentials show owner/admin. Safe to run repeatedly; it's a no-op if there's no .specify/ directory, or if .specbridge/templates/ already exists.

Dynamic Spec-Scoped Commands

When the first argument matches a tracked spec name, the CLI dispatches spec-scoped commands:

specbridge <spec> status          # Show staged/unstaged for that spec
specbridge <spec> log             # Commit history for that spec
specbridge <spec> diff [REF1] [REF2]  # Changes between commits
specbridge <spec> checkout <REF>  # Restore spec files
specbridge <spec> revert <REF>    # Undo a commit