| Command | Purpose |
|---|---|
twf create <directory> | Scaffold a standalone SDK game |
twf dev [module] | Open the local game from config or an explicit module |
twf inspect <module> | Print actions, state, and projections |
twf simulate <module> --seed <seed> | Play a seeded legal policy |
twf explore <module> --max-states <n> | Explore a small game’s reachable states |
twf manufacture <module> | Compile manufacturing metadata |
twf build-worker <module> | Build the game’s installed SDK worker adapter |
twf init | Create a private deployment configuration |
twf login | Authorize the CLI through your browser |
twf whoami | Show the signed-in account |
twf deploy | Publish the repository’s immutable release |
twf logout | Revoke and remove the CLI session |
twf --version | Print the CLI version |
Output and credentials
Game commands return JSON; use --compact for one line. Login progress and upload status go to stderr. --help lists options. Existing JSON format identifiers retain the boardengine.* prefix for machine compatibility.
Credentials live under $XDG_CONFIG_HOME/boardengine/auth.json or ~/.config/boardengine/auth.json, with mode 0600 and separate entries for each server. BOARDENGINE_TOKEN supplies a CI session, and BOARDENGINE_SERVER changes the default platform. Never commit credentials to a game repository.
Per-game configuration
Use --export when a module has multiple game exports. A state file can initialize an inspectable scenario. Runtime options and legal actions are evaluated with the game’s installed SDK.
twf dev discovers boardengine.json and uses its entry, named export, and assets directory. Use --config <json> for another configuration. See local development for direnv and source CLI selection.