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

# Blueprints

> Create, validate, import, run, and bake reviewable WordPress setup recipes as JSON Blueprints.

A Blueprint is an editable JSON build plan for WordPress. Save one when you need a setup to be reviewed, versioned, or rerun; use a [Template](/guides/templates) when you need a fast snapshot of a finished site.

## Create a Blueprint

Open **Blueprints** from the SandyWP app and select **New Blueprint**. You can import a URL or bundle, paste JSON, or start with a small recipe.

```json theme={null}
{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "steps": [
    {
      "step": "installPlugin",
      "pluginZipFile": {
        "resource": "wordpress.org/plugins",
        "slug": "query-monitor"
      }
    }
  ]
}
```

SandyWP validates the document when you save it. An incompatible recipe can still be saved, but errors must be corrected before it can run.

## Import from a URL or bundle

Use the original `blueprint.json` URL when the recipe is self-contained. Relative resources resolve against that document's URL, so direct raw-file URLs are preferable.

```text theme={null}
https://raw.githubusercontent.com/example/project/main/blueprint.json
```

Use a ZIP bundle when the recipe and local assets belong together. The archive needs exactly one `blueprint.json` at its root or inside one top-level folder.

| Bundle limit    |   Value |
| --------------- | ------: |
| Compressed size |  50 MiB |
| Expanded size   | 250 MiB |
| File entries    |   2,000 |

## Compatibility

SandyWP reports compatibility changes before it executes a Blueprint. Informational and warning findings do not block a run; errors do.

| Category              | What SandyWP does                                                                                 |
| --------------------- | ------------------------------------------------------------------------------------------------- |
| Natively provided     | Removes known Playground flags that are always supplied by a SandyWP sandbox.                     |
| Automatically adapted | Rewrites supported legacy resources or compatible steps.                                          |
| Ignored and reported  | Removes unsupported metadata or steps and shows a finding.                                        |
| Blocking              | Stops a run for schema errors, unknown feature keys, unsafe paths, or unresolved local resources. |

<Warning>
  Blueprint execution can run PHP, SQL, and WP-CLI. Creating, applying, or baking a Blueprint requires a paid plan, even though authoring and validation are free.
</Warning>

## Run, apply, or bake

Create a sandbox from a saved Blueprint in the create form. To apply it to an existing ready sandbox, use the Blueprint actions for that sandbox.

**Save as Template** runs the recipe in a fresh scratch sandbox and snapshots the result. Use that workflow when you want a reusable, fast-to-restore starting point.

Runs are asynchronous. Watch the run status and inspect its findings or log before treating the site or Template as ready.

## Automate Blueprints

The generated [API Reference](/api-reference) includes the standalone Blueprint endpoints. Use [Blueprint API guidance](/api-reference/blueprints) for the validate, save, run, and bake workflow, or use the [CLI](/cli) as a practical wrapper.

```sh theme={null}
sandywp blueprint validate blueprint.json
sandywp blueprint bake plugin-recipe --wait
```
