Local commands
The local snapshot workflow: scaffold a config, capture baselines, and compare against them. No cloud account required. See Common flags for the shared --config / --cwd / --target options.
init
Scaffolds a dungbeetle.config.json in the current directory. See the configuration reference.
-o, --out <path>— write the config to another path.--project-name <name>— set the project name in the scaffold.-f, --force— overwrite an existing config.
update
Captures every configured target and writes baselines under baselinesDir (default dungbeetle.snapshots/) — run it to accept current output as the new baseline.
test
Captures current output and compares it against the baselines, printing semantic diffs for failures and exiting non-zero on any difference.
ci
Runs the same comparison as test with CI-friendly output controls:
--json <path>/--html <path>— write reports to explicit paths.--quiet— write reports but suppress the detailed console report.--no-html-report— skip HTML report generation.--json-only— write only the JSON report and suppress HTML/console output.
dungbeetle ci --json report.json --html report.html
dungbeetle ci --json report.json --json-onlyflake
Captures each target repeatedly — no baselines involved — and reports run-to-run divergence, exiting non-zero on any flake. The canary to run before trusting a new target (especially game walkthroughs, which are forced to strict visual comparison here):
dungbeetle flake --repeat 5
dungbeetle flake --target godot-demo --repeat 10doctor
Validates the project configuration before you use the runner: it checks for capture targets, reviewable baseline paths, missing HTML fixtures, and optional Playwright browser setup. --json <path> writes the results as JSON. For Playwright targets, provide one of browser.executablePath, browser.channel, or DUNGBEETLE_CHROMIUM_EXECUTABLE_PATH — see Web snapshots.