Skip to content

Quick Start

Betamax currently supports macOS and Linux. Windows is not supported because the upstream libghostty-vt-sys native build does not support Windows.

Terminal window
cargo install betamax --locked

GIF, PNG, screenshot, and state JSON outputs are written in process. MP4 and WebM output require ffmpeg on PATH:

Terminal window
# macOS
brew install ffmpeg
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install ffmpeg
Terminal window
betamax new demo.tape

The starter tape includes a compact command summary and writes demo.gif by default. Render it with:

Terminal window
betamax run demo.tape

Append an extra output from the CLI without editing the tape:

Terminal window
betamax run demo.tape --output target/demo.png

The output path is appended as another Output command. It does not replace outputs already in the tape.

Validate one tape or a group of tapes without rendering:

Terminal window
betamax validate demo.tape
betamax validate "examples/*.tape"

Validation parses syntax and enforces command ordering. It does not start a shell, load a theme, run Require checks, or write output files. Use betamax run for a full execution check.

Terminal window
betamax themes
betamax themes --json
betamax themes --markdown

Use the exact theme name with Set Theme "...". See Themes And Styling for lookup behavior, layout settings, and frame decoration.

Clone the repository to render the checked-in examples:

Terminal window
git clone https://github.com/joshka/betamax
cd betamax
pnpm install
scripts/render-examples.sh

Rendered outputs are written under examples/output and copied to target/betamax-examples for local inspection. The Examples page explains what each tape demonstrates. The Tape Reference documents every command and setting.