CoDuck CLI & API

Your terminal.
Your CI. Your agents.

Everything you can do in the CoDuck app, you can do from the command line — create, generate, deploy, and manage the whole stack. Built JSON-first, so your scripts and AI agents can drive it directly.

$npm i -g @coduckai/cliRead the docs →
coduck — zsh
$npm i -g @coduckai/cli
$coduck login
✓ Authorized — token saved to ~/.coduck
$coduck create --prompt "a booking site for my sushi restaurant"
✓ Created sushiyama — generation queued (job a1b2c3)
$coduck deploy
→ Deploying sushiyama…
✓ Deployed → https://sushiyama.coduck.app

Full coverage

Everything the app does, the CLI does too.

One command surface over the entire platform — projects, files, generation, deploys, database, domains, env, email, storage, payments, and backups. No corner of CoDuck is GUI-only.

Create & scaffold projects

coduck create

Push & pull your source

coduck push

Build & ship to prod

coduck deploy

Talk to the AI agent

coduck chat "…"

Read your Postgres schema

coduck db schema

Manage env variables

coduck env set

Add custom domains

coduck domains add

Send transactional email

coduck email send

Upload & serve files

coduck storage upload

Wire up Stripe payments

coduck stripe status

Tail container logs

coduck logs --follow

Snapshot & restore backups

coduck backups create
Every new platform feature ships a CLI command on day one.Full command reference →

Built for agents

Made to be driven by machines.

The CLI detects when it’s not talking to a human and switches to clean, parseable output. Point your own agent at it and let it build, deploy, and debug a CoDuck project on your behalf.

JSON-first, everywhere
Every command honors --json and streams NDJSON events. Parse generation token-by-token, no screen-scraping.
Never hangs on a prompt
--no-input fails fast instead of waiting on a TTY. Safe to drop straight into CI or an agent loop.
Real exit codes
0 ok, 2 usage, 3 auth, 4 not found, 5 conflict, 6 network, 7 server. Branch on the code, not the text.
Self-describing
coduck --help --json prints a machine-readable spec of every command — enough to generate an MCP wrapper.
agent — ndjson
$coduck chat "add a login page" --json
{"event":"chunk","type":"ttft","ms":612}
{"event":"chunk","type":"code","path":"app/login/page.tsx"}
{"event":"chunk","type":"preview_url","url":"https://…"}
{"event":"chunk","type":"usage","tokens":4820}
{"event":"done","ok":true,"cost":0.013}

coduck --help --json → a full spec your agent can read

Quickstart

Three commands in.

1npm install -g @coduckai/cli

Node 20+. macOS, Linux, or Windows.

2coduck login

Browser opens, you click Approve. No password ever touches your terminal.

3coduck create-existing

In your project folder — writes a coduck.json and you're live.

Ship from the command line.

Install once. The CLI is the same binary humans and agents both drive.

$npm i -g @coduckai/cliCreate an account →