Command line
Generated from prec 1.0.2 --help and each subcommand’s help. Input prec can’t parse gets clap’s short answer on stderr with exit 2; a refusal after parsing is one line, prec: …, with exit 1.
Deterministic renders of an app’s TUI and CLI, recorded in a pty and replayed frame by frame into exact video and PNG masters
Usage: prec <COMMAND>
Commands: shots List an app's terminal shots clip Render a clip: x264 master, poster and manifest still Render a still: a 16-bit master and 8-bit PNG deliveries record Record a shot's session in a pty into an asciicast v2 cast, without rendering render Render a recorded cast at any size, fps and theme, without re-running the app archive Retry queued archive copies or rebuild the archive catalog themes List the themes doctor Check the machine for everything a render needs cache Show the machine cache (app sources, shared target dirs, cached builds), or prune it help Print this message or the help of the given subcommand(s)
Options: -h, --help Print help -V, --version Print versionprec shots
Section titled “prec shots”List an app’s terminal shots
Usage: prec shots [OPTIONS] <PRODUCT>
Arguments: <PRODUCT>
Options: --app-dir <APP_DIR> The app's folder in this repository, holding render/terminal.toml; default the repository's top --rev <REV> A tag or commit of this repository to build, render and archive -h, --help Print helpprec clip
Section titled “prec clip”Render a clip: x264 master, poster and manifest
Usage: prec clip [OPTIONS] <PRODUCT> <SHOT>
Arguments: <PRODUCT> <SHOT>
Options: --app-dir <APP_DIR> The app's folder in this repository, holding render/terminal.toml; default the repository's top --rev <REV> A tag or commit of this repository to build, render and archive --bin <BIN> A prebuilt folder holding the app's binary; skips the build --size <SIZE> The largest delivery: 720p, 1080p, 1440p, 2160p or WxH --derive <DERIVE> More still sizes from the same master; clips use pconv --fps <FPS> One of 30, 60 or 120; pconv makes other clip rates --poster <POSTER> Poster frame for a clip: first, before-closure, or seconds of shown time --out <OUT> [default: tmp/renders] --seed <SEED> [default: 7] --set <SET> key=value: grid=<cols>x<rows>, typing, settle, closure, closure.crossfade, launch, ground --theme <THEME> app, a built-in scheme (see `themes`), or omarchy:<name> [default: app] --themes <THEMES> Render once per theme, e.g. "Catppuccin Latte,Catppuccin Mocha" --font <FONT> The font family; default JetBrainsMono Nerd Font --frame <FRAME> window or bare --fixtures <FIXTURES> A materialized fixture set, passed through the app's door --youtube Clip formats belong to pconv --keep-frames Keep the raw frames under tmp/prec/run/ --no-encode Write frames only; implies --keep-frames --web <WEB> Still web copies at these widths, each also at @2x --profile <PROFILE> Clip formats belong to pconv --no-archive Skip archive copying -h, --help Print helpprec still
Section titled “prec still”Render a still: a 16-bit master and 8-bit PNG deliveries
Usage: prec still [OPTIONS] <PRODUCT> <SHOT>
Arguments: <PRODUCT> <SHOT>
Options: --app-dir <APP_DIR> The app's folder in this repository, holding render/terminal.toml; default the repository's top --rev <REV> A tag or commit of this repository to build, render and archive --bin <BIN> A prebuilt folder holding the app's binary; skips the build --size <SIZE> The largest delivery: 720p, 1080p, 1440p, 2160p or WxH --derive <DERIVE> More still sizes from the same master; clips use pconv --fps <FPS> One of 30, 60 or 120; pconv makes other clip rates --poster <POSTER> Poster frame for a clip: first, before-closure, or seconds of shown time --out <OUT> [default: tmp/renders] --seed <SEED> [default: 7] --set <SET> key=value: grid=<cols>x<rows>, typing, settle, closure, closure.crossfade, launch, ground --theme <THEME> app, a built-in scheme (see `themes`), or omarchy:<name> [default: app] --themes <THEMES> Render once per theme, e.g. "Catppuccin Latte,Catppuccin Mocha" --font <FONT> The font family; default JetBrainsMono Nerd Font --frame <FRAME> window or bare --fixtures <FIXTURES> A materialized fixture set, passed through the app's door --youtube Clip formats belong to pconv --keep-frames Keep the raw frames under tmp/prec/run/ --no-encode Write frames only; implies --keep-frames --web <WEB> Still web copies at these widths, each also at @2x --profile <PROFILE> Clip formats belong to pconv --no-archive Skip archive copying -h, --help Print helpprec record
Section titled “prec record”Record a shot’s session in a pty into an asciicast v2 cast, without rendering
Usage: prec record [OPTIONS] <PRODUCT> <SHOT>
Arguments: <PRODUCT> <SHOT>
Options: --app-dir <APP_DIR> The app's folder in this repository, holding render/terminal.toml; default the repository's top --rev <REV> A tag or commit of this repository to build, render and archive --bin <BIN> A prebuilt folder holding the app's binary; skips the build --size <SIZE> The largest delivery: 720p, 1080p, 1440p, 2160p or WxH --derive <DERIVE> More still sizes from the same master; clips use pconv --fps <FPS> One of 30, 60 or 120; pconv makes other clip rates --poster <POSTER> Poster frame for a clip: first, before-closure, or seconds of shown time --out <OUT> [default: tmp/renders] --seed <SEED> [default: 7] --set <SET> key=value: grid=<cols>x<rows>, typing, settle, closure, closure.crossfade, launch, ground --theme <THEME> app, a built-in scheme (see `themes`), or omarchy:<name> [default: app] --themes <THEMES> Render once per theme, e.g. "Catppuccin Latte,Catppuccin Mocha" --font <FONT> The font family; default JetBrainsMono Nerd Font --frame <FRAME> window or bare --fixtures <FIXTURES> A materialized fixture set, passed through the app's door --youtube Clip formats belong to pconv --keep-frames Keep the raw frames under tmp/prec/run/ --no-encode Write frames only; implies --keep-frames --web <WEB> Still web copies at these widths, each also at @2x --profile <PROFILE> Clip formats belong to pconv --no-archive Skip archive copying -h, --help Print helpprec render
Section titled “prec render”Render a recorded cast at any size, fps and theme, without re-running the app
Usage: prec render [OPTIONS] <CAST>
Arguments: <CAST>
Options: --size <SIZE> The largest delivery: 720p, 1080p, 1440p, 2160p or WxH --derive <DERIVE> More still sizes from the same master; clips use pconv --fps <FPS> One of 30, 60 or 120; pconv makes other clip rates --poster <POSTER> Poster frame for a clip: first, before-closure, or seconds of shown time --out <OUT> [default: tmp/renders] --seed <SEED> [default: 7] --set <SET> key=value: closure, closure.crossfade, ground --theme <THEME> app, a built-in scheme (see `themes`), or omarchy:<name> [default: app] --themes <THEMES> Render once per theme --font <FONT> The font family; default the cast's --frame <FRAME> window or bare --youtube Clip formats belong to pconv --keep-frames Keep the raw frames under tmp/prec/run/ --no-encode Write frames only; implies --keep-frames --web <WEB> Still web copies at these widths, each also at @2x --profile <PROFILE> Clip formats belong to pconv --no-archive Skip archive copying -h, --help Print helpprec archive
Section titled “prec archive”Retry queued archive copies or rebuild the archive catalog
Usage: prec archive <--retry|--reindex>
Options: --retry --reindex -h, --help Print helpprec themes
Section titled “prec themes”List the themes
Usage: prec themes [OPTIONS]
Options: --all List every built-in scheme too -h, --help Print helpprec doctor
Section titled “prec doctor”Check the machine for everything a render needs
Usage: prec doctor
Options: -h, --help Print helpprec cache
Section titled “prec cache”Show the machine cache (app sources, shared target dirs, cached builds), or prune it
Usage: prec cache [OPTIONS] [COMMAND]
Commands: prune Remove entries unused for a while (30 days unless --older-than); entries in use stay help Print this message or the help of the given subcommand(s)
Options: --json Print one JSON object on stdout -h, --help Print helpprec cache prune
Section titled “prec cache prune”Remove entries unused for a while (30 days unless –older-than); entries in use stay
Usage: prec cache prune [OPTIONS]
Options: --json Print one JSON object on stdout --older-than <OLDER_THAN> Age like 30d, 2w, 12h or 90m --all Remove every entry that is not in use --dry-run With --json, report what would be removed and remove nothing -h, --help Print help