Skip to main content
Tuireel uses JSONC (JSON with Comments) configuration files, typically named .tuireel.jsonc. Run tuireel init to scaffold a starter config with JSON Schema support.

General

string
Path or URL to the JSON Schema file for editor autocompletion. Generated automatically by tuireel init.
"mp4" | "webm" | "gif"
default:"mp4"
Output video format.
string
default:"output.mp4"
Output file path for the recording.
"readable-1080p" | "social-quick-share" | "high-motion-demo"
Named timing + readability bundle for common delivery goals. This is the normal authoring path: pick a delivery target first, then override fps, captureFps, or sizing fields only when needed.
integer
default:30
Final output cadence for the rendered video. Must be a positive integer.
integer
Raw capture cadence for terminal state sampling before Tuireel renders the final output at fps.
integer
default:80
Number of terminal columns. Must be a positive integer.
integer
default:24
Number of terminal rows. Must be a positive integer.

Presentation

"polished" | "minimal" | "demo" | "silent"
Apply a built-in presentation preset. Presets configure theme, sound, cursor, and HUD defaults in one line. They stay visual-only, so you can stack them with deliveryProfile. See Presets for details.
string | ThemeConfig
Terminal color theme. Pass a built-in theme name as a string, or an inline theme object.
See Themes for the full ThemeConfig schema and available built-in themes.
object
Cursor overlay settings.
object
Heads-up display (keystroke overlay) settings.

Sound

object
Sound configuration for the recording.

Behavior

number
Default timeout in milliseconds for wait steps that don’t specify their own timeout. Must be a positive number.
Step[]
required
Array of step objects defining the recording script. Must contain at least one step. See Steps Reference for all step types.

Multi-Video Configuration

Tuireel also supports a multi-video config format for recording multiple videos from a single config file:
The defaults object accepts all config fields (except steps and output) and is merged with each video definition. Each video in the videos array requires name, output, and steps.

Complete Example

A full single-video config using all available options: