The CLI
One public command, bin/citizen, with 36 subcommands. No dependencies, no build, and every subcommand is safe to run twice.
harness install
Full setup on a fresh machine, then sync.
harness sync
Project shared primitives into selected runtimes and merge owned settings.
harness catalog
Emit the shared primitive catalog as JSON.
harness generate
Regenerate native source projections from shared primitives.
harness stances
Show resolved personal stance switches and their behavior.
harness selection
Show every unit of every kind with its value and the layer that set it.
harness decide
Ask the selected decision provider about one action class.
harness diff
Report drift between checkout, last sync and live files.
harness doctor
Versions, logins, links, drift.
harness upgrade
Move a Claude Code plugin install from its pre-rename ID to the current one.
harness uninstall
Remove links and owned settings, restore adopted files.
harness lint
Scan for personal-data shapes, lint terms, secret patterns, and the context cap.
harness usage
Summarize recorded session tokens and cache hit rate.
harness scorecard
One row per module: its instruments, tokens and measured effect.
harness intent
Claim the paths this session will write, so a sibling's overlap is caught.
harness snapshot
List, restore or prune the working-tree snapshots taken before grade-2+ commands.
harness keychain
Give a disposable HOME its own default keychain before a client is launched under it (macOS).
harness gate
Run the repository's `## Gate` block and record the run for the pass-claim and push checks.
harness trust
Let the stop-gate hook run a repository's `## Gate` block (default: the current repo).
harness workspace
Create, list and open multi-root workspaces.
harness worktree
Create and manage task checkouts under a dedicated root.
harness remote-control
Keep a Claude Code Remote Control server running per configured folder (macOS).
harness init
Write the config file by answering questions.
harness config
Read, write or unset one config value, e.g. `config get identity.name`.
harness import
Read an existing CLAUDE.md, AGENTS.md or .cursorrules into .
harness integrations
Inspect or register interchangeable implementation adapters.
harness viewer
Invoke the selected viewer; existing sessions retain their adapter.
harness integration
Check or apply a declared framework integration's override templates in a repository (default: the current repo).
harness bmad
Alias for `citizen integration check|apply bmad`.
harness compatibility
Show versioned native qualification and adapter gaps.
harness evidence
Verify a local published evidence bundle offline.
harness freeze
Show runtime source drift from the frozen release commit.
harness task
Save or inspect a shared task continuation contract.
harness role
Run a constrained shared role in an isolated CLI worker, or inspect worker status.
harness decisions
Evaluate a decision provider against the recorded decision log.
harness tiers
Check the adapters' class-to-model tables against their providers' model catalogs.
Read straight from the CLI's argparse definitions; run bin/citizen <subcommand> --help for the flags.