# spin

The `spin` step type runs a command behind an animated spinner — the same progress indicator Atmos uses for long-running operations — so your custom commands and workflows show clean, compact progress instead of noisy output.

```yaml
steps:
  - name: build
    type: spin
    title: Building application
    command: npm run build
    timeout: 60s
```

## Fields

- **`command`** — Required. Command to run while the spinner is active.
- **`title`** — Optional spinner title.
- **`timeout`** — Optional duration limit, such as `30s` or `2m`.
- **`working_directory`** — Optional directory where the command runs.

Use `spin` when the command output is less useful than a compact progress indicator.
