Coast CLI

The Coast CLI (coast) is the primary command-line interface for operating Coasts. It is intentionally thin: it parses your command, sends a request to coastd, and prints structured output back to your terminal.

What You Use It For

Typical workflows are all driven from the CLI:

coast build                                    # see Builds
coast run dev-1                                # see Coasts
coast assign dev-1 --worktree feature/oauth    # see Assign
coast ports dev-1                              # see Ports
coast checkout dev-1                           # see Checkout
coast ui                                       # see Coastguard

The CLI also includes documentation commands that are useful for humans and agents:

coast docs
coast docs --path concepts_and_terminology/CHECKOUT.md
coast search-docs "canonical vs dynamic ports"

Why It Exists Separately from the Daemon

Separating CLI from daemon gives you a few important benefits:

  • The daemon keeps state and long-lived processes.
  • The CLI stays fast, composable, and easy to script.
  • You can run one-off commands without keeping terminal state alive.
  • Agent tooling can call CLI commands in predictable, automation-friendly ways.

CLI vs Coastguard

Use whichever interface fits the moment:

  • The CLI is designed for full operational coverage: anything you can do in Coastguard should also be possible from the CLI.
  • Treat the CLI as the automation interface — scripts, agent workflows, CI jobs, and custom developer tooling.
  • Treat Coastguard as the human interface — visual inspection, interactive debugging, and operational visibility.

Both talk to the same daemon, so they operate on the same underlying project state.