Use Node.js 22.14 or later. A project-local CLI makes each repository reproducible.
npx @tabletopwithfriends/cli@0.1.0 create my-game
cd my-game
npm install
npx twf inspect src/game.ts
npx twf simulate src/game.ts --seed first-game
npx twf dev
twf create writes a game, tests, package.json, and a TypeScript configuration. Both public package dependencies use exact versions. Commit your package lockfile.
Give the game a table
Components describe physical pieces, cards, boards, and tokens. A scene places instances on the table and attaches validated actions. Rules still belong in the game definition, so headless play and browser play follow the same rules.
Keep iteration quick
twf dev reloads the local table as you edit. twf inspect prints actions and projections as JSON. twf simulate plays legal actions under a seeded policy. twf explore searches a small game’s reachable states.
Before deployment
Run the generated tests and TypeScript check. Initialize Git and commit the repository. You can play locally without platform authentication.