# CLI Commands

Find the Ferrite CLI command for creating, verifying, running, deploying, and operating an application.

The `ferrite` CLI covers the complete application lifecycle. Run
`ferrite <command> --help` for flags and argument order supported by your
installed version.

## Create and compose

| Command | Result |
| --- | --- |
| `ferrite new webapp <name> --with-tests` | Create a content, API, and SSE application with tests. |
| `ferrite new hello <name>` | Create a compact request/reply API. |
| `ferrite add <package>` | Vendor a source package and its dependencies into the app. |
| `ferrite auth <command>` | Install, configure, enable, disable, or diagnose Ferrite Auth. |

## Verify and develop

| Command | Result |
| --- | --- |
| `ferrite validate --spec ferrite.json --json` | Validate the manifest without compiling. |
| `ferrite check --json` | Run admission, manifest, and Rust checks. |
| `ferrite explain <code>` | Explain one admission or manifest error code. |
| `ferrite test` | Run the app test suite locally. |
| `ferrite test --remote` | Run tests through Ferrite Cloud. |
| `ferrite dev` | Start the local planes, app process, gateway, and live reload. |
| `ferrite dev --instances 3` | Run competing app instances against the same local state. |
| `ferrite dev --chaos 5` | Kill and restart the app to exercise redelivery. |
| `ferrite dev --json` | Emit lifecycle events as JSON Lines. |

## Deploy and release

| Command | Result |
| --- | --- |
| `ferrite preview` | Deploy the committed revision to an isolated, auto-expiring URL without the production gate. |
| `ferrite deploy` | Submit source through admission and the attested build, then return the deployed host. |
| `ferrite status <app>` | Read desired and running instance state. |
| `ferrite logs <app>` | Read recent stdout and stderr. |
| `ferrite rcs <command>` | Clone, inspect, commit, push, branch, merge, or land hosted source. |

## Operate

| Command | Result |
| --- | --- |
| `ferrite login --ephemeral` | Create and store a capped testbed account. |
| `ferrite login --endpoint <url> --token <token>` | Store an issued endpoint and bearer token. |
| `ferrite account` | Read the authenticated account and balance. |
| `ferrite mcp-serve` | Expose the local development workflow to an MCP client over stdio. |

App inventory, scaling, domains, secrets, usage, releases, environment
promotion, notifications, rollback, and withdrawal are available in the
[Ferrite Dashboard](https://dashboard.ferrite.dev.aws.igent.ai) and Ferrite MCP.

## Account and agent access

Use `ferrite login` and `ferrite account` for local cloud credentials.
`ferrite mcp-serve` exposes the local development workflow over stdio. Hosted
source operations are available under `ferrite rcs`.

Continue with [Ferrite CLI](/developers/cli/) for the development loop or
[Deployments](/developers/deployments/) for release behavior.
