Skip to main content
Publishing turns one static game archive into a live Totem game without exposing a partial upload to players.

The publish sequence

  1. Your AI tool calls create_game for a new game, or request_upload for an existing one.
  2. Totem returns a temporary upload URL.
  3. Your tool sends the gzip-compressed tar archive with HTTP PUT.
  4. Your tool calls publish.
  5. Totem validates the complete archive.
  6. A valid main build becomes live in one atomic change. A named lane updates only that lane.
  7. Your tool receives the canonical game link.
The upload URL expires after 900 seconds. Request a fresh URL if it expires before the upload finishes.

Validation is one pass

Totem reports every violation it finds, not only the first one. Your AI tool can fix the full set and upload one corrected archive.

Players never see a partial upload

Players keep seeing the previous valid build while Totem checks a new upload. The live game changes only after a valid main publish succeeds.

Test a build without replacing the live game

Pass a lane such as beta, alpha, or develop to publish. Totem gives that build an unlisted URL using the shape <game-slug>@<lane> and leaves main untouched. Anyone with the exact lane link can open it. Restricted tester access and build-specific feedback are not available yet.

Republishing keeps the durable parts

When you publish again:
  • The game keeps the same game_id, handle, and slug.
  • The canonical public URL stays the same.
  • The durable installed-app route remains /g/<slug>.
  • Your API keys stay the same.
  • Totem records the successful build in build history.
Opening older builds and choosing a previous public build are Coming soon. Restricted tester access and build-specific feedback are also planned. Open the returned link and test the game before sharing it.