CLI reference
The coro binary (packages/runner/cli/index.ts) wraps the local runner HTTP API. Most users stay in the dashboard after coro start; the commands below target automation, SSH sessions, and CI.
coro start
Starts startRunner(), binds Express (default port 3000), serves /dashboard/, and opens a browser unless suppressed.
| Flag | Meaning |
|---|---|
--config <path> | Overrides ~/.coro/config.json |
--port <port> | HTTP listener |
--no-open | Skip opening the dashboard tab |
--open | Force open even in seemingly headless environments |
coro job
Submits POST /jobs targeting workflows/job/workflow.md (generic implementation lane). Dedicated workflows dispatch from the dashboard or custom automation that posts arbitrary workflowPath values directly to POST /jobs.
Typical implementation flags
| Flag | Notes |
|---|---|
--repo, --reviewers, --description | Required together for free-form CLI jobs |
--service-name | Display label (defaults to repo slug) |
--git-provider | SCM override (github, bitbucket, …) |
--jira-ticket | Alternate body supplying only jiraTicketId |
--no-stream | Skip SSE tail after dispatch |
--jira-ticket mode skips repo/reviewer/description enforcement because spec writers pull context from trackers.
Successful responses print jobId, status, and streamUrl (/jobs/:id/stream).
coro jobs
GET /jobs table view.
| Flag | Meaning |
|---|---|
--type <type> | Query filter forwarded to /jobs |
coro status
GET /jobs/:jobId pretty printer.
| Flag | Meaning |
|---|---|
--job <id> | Required |
coro logs
Subscribes to /jobs/:jobId/stream (SSE) with timestamps / colour cues.
| Flag | Meaning |
|---|---|
--job <id> | Required |
--tail <n> | Experimental tail window (0 = show everything observed after connect) |
Ctrl+C detaches without killing the job.
coro resume
POST /jobs/:jobId/resume with JSON { "eventKey": "<cli-value>" } (Commander --event, default manual-resume).
| Flag | Meaning |
|---|---|
--job <id> | Required |
--event <key> | Stored on the resumed turn for auditing |
--no-stream | Skip SSE after the POST succeeds |
coro cancel
POST /jobs/:jobId/cancel.
| Flag | Meaning |
|---|---|
--job <id> | Required |
--reason <text> | Optional note surfaced in telemetry |
coro message
POST /jobs/:jobId/message { "message": "<text>" }.
Syntax:
coro message --job <jobId> "Please focus on rollback documentation"coro login
OAuth helper against the hosted control plane; writes cloud.url + cloud.token.
| Flag | Meaning |
|---|---|
--cloud-url | Defaults to http://localhost:4000 for dev stacks |
--email, --password | Provide non-interactively |
Ends by reminding you to rerun coro init / coro runner start.
coro init
Bootstraps ~/.coro/config.json (Anthropic plugin slot API key mode, SCM credentials, dirs).
| Highlights | Meaning |
|---|---|
--local | Drop hybrid cloud block |
--api-key, --intelligence-dir, --working-dir | Fast path knobs |
--scm <pluginId> | Choose Bitbucket/GitHub/GitLab id |
--git-provider | Deprecated alias of --scm |
--git-username, --git-token, --git-workspace | Legacy git block mirrored into plugins loader |
--intelligence-remote | Seeds intelligence.gitRemote |
Interactive prompts fill missing fields — still prefer dashboard fine-tuning after first boot.
coro runner …
Prefixes supported for scripting parity.
runner start
Identical flags/behaviour as coro start.
runner status
Loads LocalConfig, prints hybrid vs local detection, SCM plugin slug, dirs, truncated API hints.
runner stop
Informational stub today (foreground Ctrl+C workflow).
coro campaign …
Operate on workflows/campaign/workflow.md jobs already in-flight.
| Subcommand | Highlights |
|---|---|
list | Filters /jobs for campaign workflows |
show --job <id> | Prints dependency DAG + aggregate token stats |
skip --job <id> --child <name> | Posts /children/:child/skip |
rerun … | /children/:child/rerun |
cancel … | /children/:child/cancel |
Optional --reason forwards to APIs. Creating a campaign still begins as a normal coro job — the Planner calls convert_to_campaign.
coro plugin …
| Subcommand | Action |
|---|---|
init <id> | Scaffold ~/.coro/plugins/<id> (`—kind scm |
install <npm-spec> | npm install + manifest wiring (--id override) |
uninstall <id> | Remove drop-in folder |
list | GET /plugins when online else scan ~/.coro/plugins |
Restart the runner after installs so loaders pick up new manifests.
Hybrid reminders
Hybrid mode activates when both cloud.url and cloud.token exist. External webhooks land on the SaaS hostname while your laptop still listens on :port for dashboard + CLI (/guides/hybrid-mode/).