sootsim maestro

Drop-in replacement for the Maestro CLI. Runs real .maestro/*.yaml flows against a sootsim session — supports all three Maestro shapes (plain array, frontmatter, multi-doc). Flag surface mirrors the Maestro CLI for easy migration.

terminal

sootsim maestro test <flow.yaml> [options]
sootsim maestro --list-compat

Options

flagdescription
--env KEY=VALUEset env vars for ${KEY} interpolation (repeatable)
--continuousre-run the flow on file changes (alias for —watch)
--format <fmt>accepted for maestro cli compat (not used)
--newforce a fresh browser window for this run
--recordrecord a webm while the flow runs
--slow <ms>delay between steps for natural pacing
--list-compatprint supported and unsupported Maestro verbs

Examples

terminal

sootsim maestro test .maestro/login.yaml
sootsim maestro --env USERNAME=alice test .maestro/login.yaml
sootsim maestro test .maestro/flow.yaml --record
sootsim maestro --list-compat

Drop-in Maestro

sootsim maestro runs existing Maestro YAML flows against sootsim. Point it at your .maestro/ directory and it works:

terminal

bun sootsim maestro # discover .maestro/ and run all
bun sootsim maestro test .maestro/login.yaml # single flow
bun sootsim maestro init # scaffold .maestro/login.yaml
bun sootsim maestro --list-compat # verb support matrix

Supports: tapOn, assertVisible, inputText, scrollUntilVisible, launchApp, stopApp, clearState, copyTextFrom, evalScript, openLink, when:/optional:, onFlowStart/onFlowComplete, repeat, runFlow, env var interpolation. Device-only verbs (setLocation, addMedia, killApp) throw a clear error.