# 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.
