> ## Documentation Index
> Fetch the complete documentation index at: https://sponson.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> The sponson commands and their options.

This page is the CLI's own `--help` output (`packages/cli/src/main.ts`). Global options go before or after the
command. Every command takes `--json`; what it prints is described in [Agents and MCP](/guides/agents), and every
error code and exit code in [Errors](/reference/errors).

## sponson

```text theme={null}
Usage: sponson [options] [command]

One release, one plan. Declares and applies everything that ships beside the
code.

Options:
  -V, --version            output the version number
  --plan <path>            plan file (default: release.plan.yaml in the working
                           directory)
  --env <name>             environment; production is never inferred from the
                           branch (default: "preview")
  --pr <n>                 pull request number (default: detected from CI or
                           `gh`)
  --branch <name>          git branch (default: checked-out branch)
  --sha <sha>              git commit (default: HEAD)
  --json                   machine-readable output on stdout: one JSON document,
                           also for errors
  --format <format>        output: text (default), json (same as --json), or
                           markdown (plan and apply: the pull request comment,
                           also for errors) (choices: "text", "json",
                           "markdown")
  --receipts <store>       receipt store; overrides the plan's `receipts:`
                           (choices: "git-branch", "local")
  --receipts-dir <dir>     local receipt store root (default: .sponson/receipts,
                           or $SPONSON_RECEIPTS_DIR)
  --receipts-remote <url>  git remote for the receipts branches (default:
                           origin, or $SPONSON_RECEIPTS_REMOTE)
  -h, --help               display help for command

Commands:
  plan|status              read live state and print the diff and drift; changes
                           nothing; exits 1 when a line is blocked (drift, a
                           missing secret, a refused line it depends on) or in
                           error
  apply [options]          apply the plan for this environment and scope, roll
                           back on failure, write a receipt
  init [options]           write a starter plan, or adopt unmanaged resources
                           into the existing one
  mcp                      serve plan / apply / receipt as MCP tools over stdio
  help [command]           display help for command
```

## sponson plan

```text theme={null}
Usage: sponson plan|status [options]

read live state and print the diff and drift; changes nothing; exits 1 when a
line is blocked (drift, a missing secret, a refused line it depends on) or in
error

Options:
  -h, --help  display help for command
```

## sponson apply

```text theme={null}
Usage: sponson apply [options]

apply the plan for this environment and scope, roll back on failure, write a
receipt

Options:
  --destroy                 destroy everything this scope created, in reverse
                            order
  --approved-by <who>       who approved this run; required when a line writes
                            to production (or $SPONSON_APPROVED_BY)
  --reconcile               overwrite values changed outside Sponson since the
                            last apply
  --recreate <line>         delete and create again what this line created, so a
                            value its provider shows only on create reaches its
                            dependents (repeatable, or comma-separated)
                            (default: [])
  --confirm <line>          a person did this manual step (with --destroy: its
                            undo); recorded with --approved-by or the git user
                            as who confirmed (repeatable, or comma-separated)
                            (default: [])
  --wait                    poll for deploys and locks instead of stopping with
                            status partial
  --wait-timeout <seconds>  give up waiting after this long (default: 600)
  -h, --help                display help for command
```

## sponson init

```text theme={null}
Usage: sponson init [options]

write a starter plan, or adopt unmanaged resources into the existing one

Options:
  --adopt <key>  adopt only the unmanaged resource with this key, id or label
  --setup        then set up the plan's credentials: where to create each token,
                 check it, store it as a GitHub Actions secret, write the
                 workflow
  --yes          with --setup: store every checked token and write the workflow
                 without asking
  -h, --help     display help for command
```

## sponson mcp

```text theme={null}
Usage: sponson mcp [options]

serve plan / apply / receipt as MCP tools over stdio

Options:
  -h, --help  display help for command
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.