Skip to content

CLI reference

Generated from the Commander registrations in src/index.ts. Every command below exists in the shipped CLI; anything absent here is not a Troth command.

The binary is troth. There are 111 commands in total. Run troth <command> --help for the same information in the terminal.

These are accepted on the root command. Individual commands may also declare their own --json or --brief flags.

Option Description
--verbose Show full stack traces on error
--json Output as JSON (machine-readable)
--brief Compact one-line-per-item output
-h, --help Show this help

Initialize .troth/ directory in current project

Terminal window
troth init
Option Description
-y, --yes Skip prompts and use defaults
-n, --name <name> Project name (skips name prompt)
--no-hooks Skip git hook installation

Copy a legacy .jig/ directory into .troth/ (does not delete .jig/)

Terminal window
troth migrate-jig

Manage feature specs

Terminal window
troth spec

Create a new spec from template

Terminal window
troth spec new <name>
Option Description
--layer <layer> Architectural layer: platform, services, or surface
--parent <parent> Parent spec name for sub-specs
--top-level Skip placement suggestion and create as top-level spec

List all specs with status

Terminal window
troth spec list
Option Description
--json Output as JSON
--brief Compact one-line output

Display spec content and task summary

Terminal window
troth spec show <name>

Delete a spec and all its tasks

Terminal window
troth spec delete <name>

Archive a spec (hides from list, preserves data)

Terminal window
troth spec archive <name>

Change a spec’s parent in the hierarchy

Terminal window
troth spec reparent <name>
Option Description
--parent <parent> New parent spec name
--no-parent Remove parent (make top-level)

Write the spec body, or patch specific fields with –layer/–parent

Terminal window
troth spec update <name>
Option Description
--from-file <path> Write the spec body from a markdown file
--body <text> Write the spec body inline (‘-’ reads stdin)
--layer <layer> Set architectural layer (platform, services, surface)
--parent <parent> Set parent spec name

Recompute spec status from task completion

Terminal window
troth spec refresh [name]

List all tasks for a spec

Terminal window
troth tasks <spec>
Option Description
--json Output as JSON
--brief Compact one-line output

Manage individual tasks

Terminal window
troth task

Display full task YAML (name alone searches all specs)

Terminal window
troth task show <name> [task-name]
Option Description
--json Output as JSON
--brief Compact one-line output

Mark a task as in-progress

Terminal window
troth task start <name> [task-name]

Mark a task as passed (runs verification gates first)

Terminal window
troth task done <name> [task-name]
Option Description
--notes <text> Completion notes (what changed, decisions, watch-outs)
--skip-verify Skip running verification gates

Mark a task as failed

Terminal window
troth task fail <name> [task-name]
Option Description
--notes <text> Failure notes (what went wrong)

Mark a task as canceled (no longer relevant)

Terminal window
troth task cancel <name> [task-name]
Option Description
--notes <text> Why this task was canceled

Mark a task as blocked with a reason

Terminal window
troth task blocked <name> [task-name]
Option Description
--bug [text] Also file a bug finding for the blocker

Add a guardrail to a task (accumulates, never replaces)

Terminal window
troth task add-guardrail <name> <guardrail>

Delete a task

Terminal window
troth task delete <spec> <task>

Move a task to a different spec

Terminal window
troth task move <spec> <task>

Create a new task for a spec

Terminal window
troth task create <spec> <task>
Option Description
--objective <text> Task objective (required unless –from-yaml)
--from-yaml <file> Load task fields from a YAML file
--acceptance-criteria <json> JSON array of criteria: plain strings and/or structured SAP objects
--intent <text> Task intent/context
--complexity <level> Complexity: trivial, simple, moderate, complex, epic
--file-scope <files> Comma-separated list of file paths
--dependencies <deps> Comma-separated list of dependency task names
--max-iterations <n> Max iterations for loop execution
--mode <mode> Execution mode: afk, hitl

Update task fields

Terminal window
troth task update <spec> <task>
Option Description
--status <status> Set task status (pending, in-progress, passed, failed, canceled, blocked)
--notes <text> Completion or status notes
--objective <text> Update objective
--intent <text> Update intent
--complexity <level> Update complexity
--file-scope <files> Set file scope (comma-separated)
--dependencies <deps> Set dependencies (comma-separated)
--add-guardrail <text> Add a guardrail
--max-iterations <n> Set max iterations
--mode <mode> Set mode: afk, hitl

Show next ready tasks in priority order

Terminal window
troth next
Option Description
-n, --count <count> Number of tasks to show
-a, --all Show all ready tasks
-p, --parallel <count> Return N conflict-free tasks safe to run in parallel
--json Output as JSON
--brief Compact one-line output

Capture a structured project brief (interactive or from file)

Terminal window
troth brief
Option Description
--file <path> Read brief from a markdown file
--json Output as JSON instead of formatted display

60-second prose briefing: where you left off, last decision, drift, what’s next

Terminal window
troth briefing
Option Description
--json Output structured data instead of prose

End-of-day summary and optional decision capture

Terminal window
troth eod
Option Description
--hours <n> Session window in hours (default 24)
--skip-prompt Print the summary only; skip the decision prompt

Prose changelog organized by topic, suitable for Slack/email/blog

Terminal window
troth changelog
Option Description
--since <date> ISO date or relative time like ‘3 days ago’. Default 7 days.

Show chronological timeline of context log, criteria changes, and test runs

Terminal window
troth history <task>
Option Description
--type <type> Filter by type: context-log, criteria-change, test-run, status-change, all

Manage structured acceptance criteria

Terminal window
troth criteria

Add a structured acceptance criterion to a task

Terminal window
troth criteria add <task>

List all current criteria for a task

Terminal window
troth criteria list <task>

Remove a criterion (soft-delete)

Terminal window
troth criteria remove <task> <criterion-id>

Output structured decomposition prompt for a spec

Terminal window
troth decompose <spec>
Option Description
-y, --yes Skip confirmation prompts

Run a task by piping its prompt to claude CLI

Terminal window
troth run <spec> <task>
Option Description
--force Skip dependency check

Git commit + auto-mark Troth tasks from [spec/task] refs in message

Terminal window
troth commit
Option Description
--skip-verify Pass –no-verify to git commit

Run verification gates for a task, or ‘verify audit’ to audit passed tasks

Terminal window
troth verify <spec> [task]

Export all user data as a structured JSON file

Terminal window
troth export

Test a task: run verification gates, assess criteria, check guardrails

Terminal window
troth test [task]
Option Description
--criterion <n> Test a specific criterion by number (1-indexed)
--skip-ai Skip AI evaluation, run mechanical gates only
--staging Run staging criteria only (against staging deployment)
--production Run production criteria only (against deployed services)
--all Run local, staging, and production criteria
--wave Batch all criteria from eligible tasks (use with –staging)

Show project status overview or spec detail

Terminal window
troth status [spec]
Option Description
--json Output as JSON
--brief Compact one-line output

Search across specs, tasks, findings, decisions, and requests

Terminal window
troth search <query>
Option Description
--specs-only Search specs only
--tasks-only Search tasks only
--findings-only Search findings only
--decisions-only Search decisions only
--requests-only Search requests only

Show hierarchical spec and task tree

Terminal window
troth tree [spec]

Show the Troth workflow guide

Terminal window
troth guide

Manage deployment environments

Terminal window
troth env

Show configured environments with status

Terminal window
troth env list

Ping health endpoints for each configured environment

Terminal window
troth env check

Deploy to staging or production environment

Terminal window
troth deploy
Option Description
--staging Deploy to staging environment
--production Deploy to production environment

Scan codebase and show project analysis

Terminal window
troth scan
Option Description
--summary Show compact feature-oriented summary

Refresh the code-import graph for the structure views (no re-decomposition)

Terminal window
troth reindex

Screens as a first-class view (docs/design/SURFACES-BRIEF.md)

Terminal window
troth surfaces

Scaffold .troth/surfaces.json, detect the bundler, and check for an existing headless browser

Terminal window
troth surfaces init
Option Description
--force Overwrite an existing .troth/surfaces.json

List surfaces with current verdict and stale marker

Terminal window
troth surfaces list

Runs by default when troth surfaces is called with no subcommand.

Render all surfaces, or one with –surface ; uploads markup + deduped assets

Terminal window
troth surfaces render
Option Description
--surface <key> Render only this surface

Show what is pending re-render and what is stale

Terminal window
troth surfaces status

Scan codebase and output bootstrap prompt (no API calls)

Terminal window
troth bootstrap
Option Description
--file <path> Write prompt to file instead of stdout
--auto Call Claude directly to generate and apply specs automatically
--dry-run With –auto: show proposed specs without writing
--summarize Output compact summary (no file contents) for manual piping

Apply generated specs from JSON input

Terminal window
troth bootstrap apply
Option Description
--file <path> Read specs from file instead of stdin
--dry-run Show proposed changes without writing
--spec <name> Apply only this spec
--layer <layer> Apply only specs in this layer
--uncategorized Apply only uncategorized specs

Manage registered projects

Terminal window
troth projects

Register a project directory (default: current directory)

Terminal window
troth projects add [path]

List all registered projects

Terminal window
troth projects list

Unregister a project (does not delete files)

Terminal window
troth projects remove <name>

Permanently delete a cloud project and all its data

Terminal window
troth projects delete <name>
Option Description
-y, --yes Skip confirmation prompt

Switch this directory to a different cloud project

Terminal window
troth projects switch <name>

Rename a cloud project (keeps ID, specs, tasks, decisions)

Terminal window
troth projects rename <currentName> <newName>

Create a new Troth project (alias for troth init)

Terminal window
troth projects create

Start API server for web UI

Terminal window
troth serve
Option Description
-p, --port <port> API server port

Start MCP server (stdio transport)

Terminal window
troth serve mcp

MCP server utilities

Terminal window
troth mcp

Run MCP auth and connectivity diagnostics

Terminal window
troth mcp check

File a bug finding

Terminal window
troth bug <message>

File an idea finding

Terminal window
troth idea <message>

Manage findings (intake pile)

Terminal window
troth findings

List active findings

Terminal window
troth findings list

Runs by default when troth findings is called with no subcommand.

Option Description
--bugs Show only bugs
--ideas Show only ideas
--type <type> Filter by type: bug or idea
--status <status> Filter by status: new, triaged, dismissed
--limit <n> Max findings to show (default 50)
--all Show the entire pile, not just the newest page

Confirm a finding (set status to triaged)

Terminal window
troth findings confirm <id>

Promote a finding to a task or request

Terminal window
troth findings promote <id>
Option Description
--target <target> Promote target: task or request (required)
--spec <name> Spec name (required for task)
--objective <text> Task objective (required for task)

Dismiss a finding

Terminal window
troth dismiss <id>

Manage requests (intent tracking)

Terminal window
troth request

Create a new request

Terminal window
troth request create <title>
Option Description
--description <text> Request description
--origin <origin> Origin: conversation, bug, idea, user-report, internal
--priority <priority> Priority: critical, high, normal, low

List requests

Terminal window
troth request list
Option Description
--status <status> Filter by status: open, in-progress, resolved, abandoned, deferred
--priority <priority> Filter by priority: critical, high, normal, low

Show request details and linked work

Terminal window
troth request show <id>

Link a task, finding, or spec to a request

Terminal window
troth request link <request-id>
Option Description
--task <spec/task> Link a task (spec/task format)
--finding <id> Link a finding
--spec <name> Link a spec

Resolve a request with outcome and learning

Terminal window
troth request resolve <id>
Option Description
--outcome <outcome> Outcome: resolved, partial, deferred, wont-fix, cant-reproduce
--learning <text> What was learned (required)
--notes <text> Additional notes

Search requests by title or description

Terminal window
troth request search <query>

Defer a request

Terminal window
troth request defer <id>
Option Description
--reason <text> Reason for deferring

List learnings from resolved requests

Terminal window
troth learnings
Option Description
--search <query> Filter learnings by keyword

Login to Troth via GitHub or Google

Terminal window
troth login
Option Description
--token <token> Paste a token directly (for headless/SSH environments)
--provider <provider> OAuth provider: github (default) or google

Clear saved credentials

Terminal window
troth logout

Show current logged-in user

Terminal window
troth whoami

Authentication utilities (used by Claude Code hooks)

Terminal window
troth auth

Print the current access token to stdout (machine-readable, no trailing newline)

Terminal window
troth auth token
Option Description
--raw Accepted for forward compatibility; output is always raw

Submit a bug report to GitHub with diagnostic context

Terminal window
troth report-bug [description]
Option Description
-i, --interactive Open $EDITOR for a longer description
-y, --yes Skip confirmation prompt

Show understanding debt: count of unreviewed execution records

Terminal window
troth debt
Option Description
--json Output as JSON

Session utilities (used by Claude Code hooks)

Terminal window
troth session

Emit a structured session delta JSON to stdout (consumed by the SessionEnd hook)

Terminal window
troth session recap-delta

Manage project constitution (foundations)

Terminal window
troth constitution

Write the project constitution from a file, –content, or stdin (-)

Terminal window
troth constitution set [file]
Option Description
--content <markdown> Inline markdown content (alternative to file)
--project <name> Target project name
--workspace Workspace scope (Phase 2, not yet supported)
--overwrite Replace existing constitution (default: refuse if set)

Display the current constitution (stdout, suitable for piping)

Terminal window
troth constitution show
Option Description
--project <name> Target project name

Manage project design bible (foundations)

Terminal window
troth bible

Write the project design bible from a file, –content, or stdin (-)

Terminal window
troth bible set [file]
Option Description
--content <markdown> Inline markdown content (alternative to file)
--project <name> Target project name
--workspace Workspace scope (Phase 2, not yet supported)
--overwrite Replace existing design bible (default: refuse if set)

Display the current design bible (stdout, suitable for piping)

Terminal window
troth bible show
Option Description
--project <name> Target project name

Manage project design tokens (foundations)

Terminal window
troth tokens

Write design tokens from a JSON file, –content, or stdin (-)

Terminal window
troth tokens set [file]
Option Description
--content <json> Inline JSON content (alternative to file)
--project <name> Target project name
--workspace Workspace scope (Phase 2, not yet supported)
--overwrite Replace existing tokens (default: refuse if set)

Display the current design tokens as pretty-printed JSON (stdout)

Terminal window
troth tokens show
Option Description
--project <name> Target project name

Manage project foundations (constitution, design bible, tokens)

Terminal window
troth foundations

Display all project foundations: constitution, design bible, and tokens

Terminal window
troth foundations show

Runs by default when troth foundations is called with no subcommand.

Option Description
--project <name> Target project name

Manage project design assets (foundations)

Terminal window
troth asset

Upload a design asset file (max 5 MB)

Terminal window
troth asset add <file>
Option Description
--project <name> Target project name
--overwrite Replace existing asset with the same filename

List uploaded assets for a project

Terminal window
troth asset list
Option Description
--project <name> Target project name

Download an asset to disk

Terminal window
troth asset download <name>
Option Description
--project <name> Target project name
--output <path> Output file path (default: ./)

Remove an asset from a project

Terminal window
troth asset remove <name>
Option Description
--project <name> Target project name
-y, --yes Skip confirmation prompt

Show this help

Terminal window
troth help