CLI
npx byo <command> (in this repo: node packages/cli/src/main.ts)
| command | what it does |
|---|---|
sim --game D --frames N [--input F] [--seed S] [--assert EXPR] [--trace EXPR] [--bot [SEAT:]F]... [--god] [--record F] [--require-complete] |
headless run; prints digest, completions, log() lines, assert/trace results; bots drive seats and --record writes their play as a replay |
screenshot --game D --frames N [--input F] [-o PATH] [--motion N] |
render the frame after N frames; --motion N tiles the last N consecutive frames into one contact sheet (SEE jitter and strobing) |
meta --game D |
one JSON line of manifest facts: name, console, players, orientation, screen size, controls, goals |
| `dump --game D [--view N \ | --expr LUA] [--input F] [--frames N]` |
shape --game D [--expr LUA] [--input F] [--frames N] [--every K] [--json] |
the state tree's SHAPE, sampled across the run: every path, its type, how long its lists get, the values a string takes, the range a number moved through — plus anything that will break dump/view/the snapshot law. Read this before dump. Also sim --shape |
test --game D |
run the game's checks.lua logic suite |
verify replays/x.rpl --game D |
re-simulate a replay: its goal must complete and the game must be snapshot-clean |
fuzz --game D --frames N |
random-input crash hunt through the draw paths |
tournament --game D --entrant "[SEAT:]BOT[+MORE]" --seeds N |
bot win-rates across seeds — the balance oracle |
strip / preview --input F |
contact sheets / title card + trailer clips from a replay |
check --game D |
budget gate: tokens, assets, palette, manifest |
bundle --game D [--out F] |
write the .byo |
publish --game D --slug S --token byo_xxx |
push the game to the venue and poll verification |
run --game D [--port N] |
dev server: play in the browser (phones get the touch overlay), game re-read per reload |
runtime [--out DIR] |
build the static browser runtime (runtime.js + glue.wasm) |
bench --game D |
frame-time regression harness |
sprite render [names…] [--zoom N] / sprite bake |
the look loop / bake .spr files |
palette |
render the palette swatch |
The venue's API mirrors the loop (sim, screenshot, test, dump,
verify, submit) over HTTP — see the agent guide.