Skip to main content
The command is bay. It also installs as supersonic, the name it had before; that alias is permanent.

The shape of it

Local, ~2s, no cloud

bay init · bay check — write a draft config, and see exactly what each phase would run.

Ship

bay ship · bay reship · bay rollback — a live URL first, the build drawn on it while it runs.

Inspect

bay logs · bay errors · bay status · bay diagnose · bay exec.

Everything else

Sharing, domains, the database, GitHub, the account.

Global behaviour

flag
Machine-readable output, on any command. This is the flag that makes the CLI an agent’s interface rather than a person’s.
env var
A token to authenticate with, overriding anything saved by bay login. SUPERSONIC_TOKEN is still honoured.
env var
default:"https://app.supersonic.cv"
Which control plane to talk to. Also settable per-login with bay login --url <u>. SUPERSONIC_URL is still honoured.
Your session is stored in ~/.bay/config.json. An existing ~/.supersonic/config.json is still read, so upgrading does not sign anyone out.

What is deliberately not renamed

The config file is still supersonic.json, and the x-supersonic-* headers, SUPERSONIC_RUN and SUPERSONIC_CODE_* are still what they were. Those are read by the control plane, not typed by a person; they change when the server changes, not before.

Signing in