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

# Design and build

> Send context, inspect directions, build a site, and capture previews.

## `miles say`

```bash theme={"dark"}
miles say "<message>" [--attach <file>] [--no-wait] [--json]
miles say --file <path> [--attach <file>] [--no-wait] [--json]
miles say --stdin [--attach <file>] [--no-wait] [--json]
```

Sends a message to the active site. Use it for discovery answers, brief feedback, design-direction feedback, and focused site edits. Repeat `--attach` to upload files with the message.

It is headless before WordPress conversion. After conversion, an edit may return exit code `3`; connect the browser workspace and retry once. Do not use `say` to answer a protected-change approval.

## `miles upload-assets`

```bash theme={"dark"}
miles upload-assets <file> [<file>...] [--json]
```

Uploads files for reuse. Supported files include PNG, JPG, GIF, SVG, WebP, PDF, HTML, CSS, TXT, CSV, Markdown, RTF, and DOCX, up to 20 MB each. The JSON result contains `ok` and `files`; each file has `s3Key`, `filename`, `mimeType`, and `sizeBytes`.

For most agent work, use `--attach` on `site-create` or `say`. Upload separately only when the same file will be reused across multiple turns.

## Directions and builds

| Command                                                   | Mode     | Use                                                |
| --------------------------------------------------------- | -------- | -------------------------------------------------- |
| `miles design-directions [--json]`                        | Headless | List the available directions for the active site. |
| `miles build-site --design <number> [--no-wait] [--json]` | Headless | Select a direction and build the full HTML site.   |
| `miles build-site <number> [--no-wait] [--json]`          | Headless | Positional form of the same build command.         |

`design-directions --json` returns `phase`, `selectedDirectionId`, and `directions`. Each direction includes `number`, `directionId`, `name`, `status`, `selectable`, `previewUrl`, and `screenshotCommand`. Only offer directions where `selectable` is true.

Selecting a direction starts a full build. Confirm the choice and account headroom before `build-site` because a later build can replace the current built site and use more credits.

## `miles screenshot`

```bash theme={"dark"}
miles screenshot <preview-url> [--full-page] [--json]
miles screenshot --live [--viewport] [--json]
```

The first form captures a design or built-site preview to a local JPEG. It accepts a full preview URL or the path returned by Miles. `--full-page` captures the full document.

`--live` captures the actual WordPress frontend after conversion. It needs a connected browser workspace. The default is full-page; `--viewport` captures only the first screen.

Next: [Jobs and safety](/reference/miles-cli/jobs-and-safety).
