CLI reference
Every command and flag for the quorum CLI — start, init — plus the environment variables they respect.
The quorum CLI treats the current directory as the org home,
unless --dir says otherwise. Running with no subcommand starts the org,
initializing it on first run.
quorum [command] [options]
quorum start — the default command
Initialize the org if needed, then run it. This is what a bare quorum (or
npx @meffecta/quorum) does.
quorum # boot the org in this directory
quorum --mission "Launch a tiny SaaS" --budget 20 # seed a new org with a mission + cap
quorum --dir ~/orgs/acme --port 3001 # another org, on another port
Options
| flag | meaning |
|---|---|
--dir <path> | org home directory (default: current directory) |
--mission <text> | the org’s mission — provide it here or in QUORUM.md’s ## Mission, not both; seeds a new org |
--mission-file <file> | file containing the mission text (mutually exclusive with --mission) |
--budget <usd> | lifetime spend cap in USD — the org halts at the cap |
--port <n> | dashboard port (default 3000, or $PORT) |
--host <host> | dashboard bind host (default 127.0.0.1; 0.0.0.0 exposes an unauthenticated control plane) |
--tick <ms> | autonomous cycle interval in ms (default 10000) |
--concurrency <n> | max concurrent tasks per cycle |
--no-eval | don’t evaluate completed work |
--eval-threshold <n> | minimum evaluation score to accept work |
--claude-bin <path> | path to the claude binary (default: claude on PATH) |
--headless | run without the dashboard server |
--force | scaffold even into a non-empty directory |
--mission only seeds a new org. On a restart the org runs on its already-saved
goal board, so a --mission passed to an existing org is ignored (with a warning).
A brand-new org with no mission from any source prompts for one at the
terminal, and is refused rather than started idle when there’s no TTY.
quorum init — scaffold without starting
Prepare an org home so you can review and edit its definition before spending a
token. init never starts the org.
quorum init # write a starter QUORUM.md
quorum init --prompt "a newsletter studio: an editor, a writer, a researcher"
quorum init --dir ~/orgs/acme --mission "Ship v1"
Options
| flag | meaning |
|---|---|
--dir <path> | org home directory (default: current directory) |
--mission <text> | seed the starter file’s mission |
--mission-file <file> | file containing the mission text |
--prompt <text> | describe the org in plain words — Claude drafts its QUORUM.md for review (one call; conflicts with --mission/--mission-file) |
--claude-bin <path> | path to the claude binary |
--force | scaffold into a non-empty directory / draft over an existing QUORUM.md |
- Bare
initwrites a minimal starterQUORUM.md(a solo CEO with a budget) and prepares the runtime dirs — fully offline. init --promptspends one claude call to draft the file, validated against the real parser. Booting it never calls the LLM again.- An existing
QUORUM.mdis left untouched (pass--forceto draft over it).
Environment variables
Flags win over env vars, which win over file defaults. The variables the CLI and runtime read:
| variable | equivalent | meaning |
|---|---|---|
ANTHROPIC_API_KEY | — | key the claude binary authenticates with |
CLAUDE_BIN | --claude-bin | path to the claude binary |
PORT | --port | dashboard port |
HOST | --host | dashboard bind host |
TICK_MS | --tick | cycle interval in ms |
TASK_CONCURRENCY | --concurrency | max concurrent tasks per cycle |
EVAL | --no-eval (EVAL=off) | disable the quality gate |
EVAL_THRESHOLD | --eval-threshold | minimum passing score |
BUDGET_TOTAL_USD | --budget | lifetime cap (halt for good) |
BUDGET_DAILY_USD | — | daily cap (skip cycles until rollover) |
BUDGET_MONTHLY_USD | — | monthly cap |
BUDGET_PER_CYCLE_USD | — | per-cycle warning/halt cap |
TASK_CONCURRENCY=6 EVAL_THRESHOLD=70 quorum
BUDGET_DAILY_USD=5 BUDGET_MONTHLY_USD=100 quorum
Every other runtime tunable is in Configuration.
--version / --help
quorum --version # prints the CLI version
quorum --help # the command tree
quorum start --help # options for a specific command