@repobot-ai/cli
v0.3.0
Published
Repobot CLI: build and ship full-stack apps from the command line. Agent-friendly: non-interactive, --json output, meaningful exit codes.
Maintainers
Readme
Repobot CLI
Build and ship full-stack apps from the command line. The Repobot CLI drives
the full platform — projects, the building agent, deploys, previews, billing,
and integrations — and is designed for coding agents as much as for humans:
every command is non-interactive, supports --json, and uses meaningful exit
codes.
Install
macOS / Linux:
curl -fsSL https://repobot.ai/install.sh | bashWindows (PowerShell):
irm https://repobot.ai/install.ps1 | iexOr from npm, on any platform:
npm install -g @repobot-ai/cli
# or run it without installing:
npx @repobot-ai/cli loginRequires Node 20+ (the installer checks and tells you if you need to upgrade).
On Windows, curl in PowerShell aliases Invoke-WebRequest, so use the
PowerShell command above — or run the bash installer in WSL or Git Bash.
Quickstart
No account needed up front — the CLI is a full front door:
# Prints a link + short code; approve in the browser (sign up on the way if
# you're new). The CLI stores its own API key when you do.
repobot login
repobot whoami
# New user? Create your organization right here (Free plan, upgrade later).
repobot orgs create --name "My Studio"
# Describe the site; the agent derives a plan, builds it, and publishes a
# live development URL — the same pipeline as the dashboard's setup wizard.
repobot setup start "A storefront for handmade ceramics with a waitlist" \
--file inspiration.png --yes
# Keep building on the result
repobot agent message --project storefront "Add a reviews section"
# Ship it
repobot deploy --project storefront --target productionPrefer a bare repository without the wizard? repobot projects create --name
"storefront" still provisions an empty project from a template.
Commands
| Command | What it does |
| --- | --- |
| login / logout / whoami | Log in by approving a code in the browser (works before you have an account; --token stores an existing rbk_ API key instead) |
| orgs list / orgs use / orgs create | List organizations, set the default, or create one (Free plan) and make it the default |
| projects list / projects create | Manage projects |
| setup start / status / retry / cancel | Full project setup from a description: vision, plan confirmation, credit check, agent build, live dev URL (--file adds inspiration images, --logo/--icon commit your brand marks, --template-only clones a template as-is for free). The follow runs the whole checkpoint roadmap unattended, accepting each review gate — pass --review-each to park at every checkpoint instead; setup status --wait observes without accepting (add --advance to resume an unattended build). The closing summary reports the build's actual agent cost next to the estimate |
| setup checkpoints / next / accept / feedback | The build roadmap: review each checkpoint, resume a paused chain with next, mark reviews accepted with accept (non-gating; builds chain on regardless), steer the running agent mid-build with feedback |
| setup events | The setup's pipeline events; --follow streams new ones until the roadmap settles (NDJSON with --json) |
| session start / status / stop | Control the live workspace session |
| agent message / agent tail | Send instructions to the building agent, stream progress (--file attaches images/documents; --track also records the run as a tracked task) |
| task <text> | Hand the project's workspace agent a tracked task — no session needed; --wait follows it to completion |
| tasks list / show / watch | The dashboard's activity hub from the terminal: active tracked tasks, one task's detail + timeline, or a live follow until it finishes |
| ask | Ask the read-only account agent about your org — projects, deploys, CI health, agent runs, usage, error logs (--conversation continues a thread) |
| deploy / deploys | Deploy to development or production, list deploy history |
| deploy-cancel | Cancel an in-flight deploy (keeps the last deployed version) |
| cicd | CI/CD health snapshot (CI verdicts, deploys, migration drift, git freshness); --fail-on failing gates scripts |
| theme get / theme set | The project's design-system contract (repobot.theme.json): brand color, corners, density, font, appearance |
| undeploy | Permanently delete a deployed environment and stop its monthly fee |
| domains list / add / check / remove | Serve a deployed environment from a domain you own |
| preview url | Mint a shareable preview link for the live workspace |
| runs list / show / tail / doctor | Observe agent runs: cost, tokens, step timeline with shell command lines; doctor diagnoses failures, stalls, retry loops, and lopsided time budgets |
| runs transcript | A run's full saved transcript — every SDK event (tool calls, output, thinking), paged by --after/--head; raw NDJSON with --json |
| billing | Credit balance, plan, auto top-up state, and the plan catalog |
| billing upgrade <plan> | Print a plan-upgrade checkout link (--interval year for annual); --wait watches until the plan change lands |
| topup [amount] | Print a checkout link that adds usage credits (defaults to the minimum top-up). --charge skips the browser entirely: it charges the organization's saved card and credits land immediately (requires one prior checkout, which saves the card). --wait watches until a checkout credit lands, then exits 0 — an agent can hand the link to a human and resume on its own. --auto on\|off toggles automatic top-ups from the saved card; topup 20 --auto on arms them as part of the checkout |
| integrations list | BYO connections and routing |
Run repobot --help or repobot <command> --help for full usage.
Custom domains
Put a deployed environment behind a hostname you own (Starter plan and above).
add prints the DNS records to publish at your registrar; check --wait
polls until the domain is live:
repobot domains add app.example.com --project storefront --target production
# ... publish the TXT + CNAME/A records it prints ...
repobot domains check app.example.com --waitFor agents and CI
--jsonprints exactly one JSON value on stdout; diagnostics go to stderr. The one exception: streaming follows (setup events --follow --json,topup --wait --json) print NDJSON — one compact JSON object per line. Embedded JSON (wizard step data, event metadata) arrives parsed, never double-encoded.- Failures in
--jsonmode print a structured error on stdout:{ "error": { "message", "exitCode", "code"?, "action"? } }. When the CLI knows the remediation,actioncarries it machine-readably —{ "kind": "open_url", "value": "<checkout link>" }for credit walls,{ "kind": "run_command", "value": "repobot billing upgrade starter" }for plan walls. Out-of-credit errors from any command arrive enriched with the current balance and a next step sized to the shortfall: a freshly minted checkout link, or — once a card is saved — arepobot topup N --chargecommand the agent can execute itself, no human round-trip. - Exit codes:
0success,1failure,2usage error,3authentication,4permission/plan. - No
loginneeded in CI: setREPOBOT_API_KEY.REPOBOT_ACCOUNTselects an organization,REPOBOT_API_URLoverrides the API endpoint. - Long operations (
agent message,deploy,session start) poll to a terminal state internally, logging stage transitions to stderr.
Config is stored at ~/.repobot/config.json; environment variables always
take precedence.
