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

# Quickstart

> Install Tuireel and produce your first recording in under 5 minutes

## Install Tuireel

<CodeGroup>
  ```bash npm theme={null}
  npm install -g tuireel
  ```

  ```bash pnpm theme={null}
  pnpm add -g tuireel
  ```

  ```bash npx (no install) theme={null}
  npx tuireel
  ```
</CodeGroup>

<Note>
  Tuireel requires **ffmpeg** to be installed on your system for video encoding. Install it with
  `brew install ffmpeg` (macOS), `apt install ffmpeg` (Ubuntu), or download from
  [ffmpeg.org](https://ffmpeg.org).
</Note>

## Create Your First Recording

<Steps>
  <Step title="Initialize a config">
    Run `tuireel init` to scaffold a `.tuireel.jsonc` config file:

    ```bash theme={null}
    tuireel init
    ```

    This creates a starter config with a simple example. Tuireel starts with a delivery profile (`readable-1080p` by default), then lets you optionally add a visual preset like `polished` or `demo`.
  </Step>

  <Step title="Edit your steps">
    Open `.tuireel.jsonc` and replace the steps with your own. Here's a simple example:

    ```jsonc theme={null}
    {
      "deliveryProfile": "readable-1080p",
      "preset": "polished",
      "output": "demo.mp4",
      "cols": 80,
      "rows": 24,
      "steps": [
        { "type": "launch", "command": "bash" },
        { "type": "type", "text": "echo 'Hello from Tuireel!'" },
        { "type": "press", "key": "Enter" },
        { "type": "pause", "duration": 2 }
      ]
    }
    ```
  </Step>

  <Step title="Validate your config">
    Check your config for errors before recording:

    ```bash theme={null}
    tuireel validate .tuireel.jsonc
    ```

    This validates the schema, checks step types, and reports any issues.
  </Step>

  <Step title="Record">
    Run the recording:

    ```bash theme={null}
    tuireel record .tuireel.jsonc
    ```

    Tuireel will spawn a PTY, execute each step, capture frames, and encode the final video.
  </Step>

  <Step title="View your output">
    Open the generated `demo.mp4` to see your recording. That's it - a polished terminal demo with no manual editing.
  </Step>
</Steps>

## Add Polish with Presets

Want instant polish? Stack a visual preset on top of your delivery profile:

```jsonc theme={null}
{
  "deliveryProfile": "readable-1080p",
  "preset": "polished",
  "output": "demo.mp4",
  "steps": [
    { "type": "launch", "command": "bash" },
    { "type": "type", "text": "echo 'Polished recording!'" },
    { "type": "press", "key": "Enter" },
    { "type": "pause", "duration": 2 },
  ],
}
```

The `polished` preset applies the Catppuccin theme, enables cursor overlay, HUD, and sound effects - all in one line. The delivery profile separately controls readability defaults and timing: `fps` is the final output cadence, while `captureFps` is the raw terminal capture cadence behind it.

Available presets: `polished`, `minimal`, `demo`, `silent`.

## Next Steps

<CardGroup cols={2}>
  <Card title="Config Reference" icon="gear" href="/config-reference">
    Full reference for all config fields and options.
  </Card>

  <Card title="Steps Reference" icon="list-check" href="/steps-reference">
    Every step type explained with examples.
  </Card>

  <Card title="Themes" icon="palette" href="/themes">
    Browse and customize terminal color themes.
  </Card>

  <Card title="Presets" icon="wand-magic-sparkles" href="/presets">
    Pre-configured bundles for common recording styles.
  </Card>
</CardGroup>
