tabletop
with friends
THE BUILDER’S HANDBOOK
ReferenceSDK 0.1.0

The twf command

Create, inspect, playtest, and deploy from the same repository.

Read Markdown ↗
CommandPurpose
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 initCreate a private deployment configuration
twf loginAuthorize the CLI through your browser
twf whoamiShow the signed-in account
twf deployPublish the repository’s immutable release
twf logoutRevoke and remove the CLI session
twf --versionPrint 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.

Tabletop with Friends Make something worth playing.