> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.astropods.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.astropods.com/_mcp/server.

# ast blueprint

Manage blueprints in the active account.

```bash
ast blueprint <subcommand>
```

## blueprint list

```bash
ast blueprint list [--json]
```

## blueprint get

```bash
ast blueprint get <name> [--json] [--card] [--template]
```

`--card` shows the agent description. `--template` shows the deployment variables and secrets the blueprint expects.

## blueprint deploy

Deploy a blueprint as a new agent. Alias: `ast deploy <name>`.

```bash
ast blueprint deploy <name> [flags]
ast deploy <name> [flags]
```

| Flag                                 | Description                                                                                                                                           |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-n, --name <display-name>`          | Display name for the deployment                                                                                                                       |
| `--adapter web\|insecure-web\|slack` | Adapter to enable (repeatable); defaults to `web` with auth                                                                                           |
| `--var KEY=VALUE`                    | Inline variable; `KEY=@SECRET_NAME` resolves from the vault; `KEY=@` uses the key name as the secret name                                             |
| `--vars-file <file>`                 | Load variables from a `.env` file                                                                                                                     |
| `--schedule <ingestion>=<cron>`      | Cron expression for a scheduled ingestion job (repeatable)                                                                                            |
| `--build <id>`                       | Pin to a specific build ID                                                                                                                            |
| `--cluster <id>`                     | Cluster to deploy to. Defaults to your account's default cluster. On an account with more than one cluster, omitting the flag prompts you to pick one |
| `--dry-run`                          | Validate inputs without deploying                                                                                                                     |
| `--wait`                             | Wait until the public Launch URL is ready before returning                                                                                            |
| `--json`                             | Print JSON output on success                                                                                                                          |

### Schedule an ingestion job

A blueprint declares *that* a job runs on a schedule; you set *when* at deploy
time. On a first deploy, every ingestion entry with `trigger: {type: schedule}`
needs a `--schedule` flag, or the deploy fails validation with `cron expression
required for schedule trigger`.

```bash
ast deploy my-agent --schedule docs_sync="*/15 * * * *"
```

Repeat the flag for each job:

```bash
ast deploy my-agent \
  --schedule docs_sync="*/15 * * * *" \
  --schedule metrics_rollup="0 9 * * 1"
```

Use a standard five-field cron expression: minute, hour, day of month, month,
day of week. Seconds and descriptors such as `@daily` are not accepted. The
server rejects an invalid expression, so a typo surfaces after the request, not
before it.

A redeploy keeps the cadence it already has, so pass
[`agent redeploy`](/cli/agent#agent-redeploy) a `--schedule` only for the jobs
you want to change. See [Ingestion](/astropods-package-spec) for how to declare
the job itself.

## blueprint build

Build the container image for a blueprint. Alias: `ast build`.

```bash
ast blueprint build [name] [flags]
ast build [name] [flags]
```

If `[name]` is omitted, the name is read from `astropods.yml`.

| Flag                | Description                                  |
| ------------------- | -------------------------------------------- |
| `-f, --file <path>` | Path to spec file (default: `astropods.yml`) |

## blueprint push

Build and push to the registry. Alias: `ast push`.

```bash
ast blueprint push [name] [flags]
ast push [name] [flags]
```

The `[name]` argument sets the blueprint name in the registry and overrides the `name` field in `astropods.yml`. If omitted, the name is read from `astropods.yml`.

| Flag                               | Description                                                                        |
| ---------------------------------- | ---------------------------------------------------------------------------------- |
| `-V, --visibility public\|private` | Set blueprint visibility (default: private)                                        |
| `--no-build`                       | Skip building the container image before pushing                                   |
| `--allow-account-override`         | Push under the active account even if the spec name has a different account prefix |
| `-f, --file <path>`                | Path to spec file (default: `astropods.yml`)                                       |
| `-y, --yes`                        | Skip confirmation prompts                                                          |

## blueprint archive

Archive a blueprint so it no longer appears in listings.

```bash
ast blueprint archive <name>
```

## blueprint set

Update settings on an existing blueprint.

```bash
ast blueprint set <name> [-V|--visibility public|private]
```

| Flag                               | Description              |
| ---------------------------------- | ------------------------ |
| `-V, --visibility public\|private` | Set blueprint visibility |

## Next steps

* [Your first blueprint](/blueprints): build and publish an agent end to end
* [Deploy your first agent](/deploy-agent): run a blueprint as a live hosted agent
* [ast agent](/cli/agent): manage the deployment once it is live