Ship It!
Provenance: UPSTREAM — install it from Themes into your organization.
Source: github.com/konstructio/theme-ship-it
Ship It! is the proof that a theme contract theme can be anything: a retro arcade game where planets are zones, rockets are apps, and shipping software levels up your hero. Every planet you buy is real capacity; every rocket you launch is a real deployment with a real URL.

| Capabilities | apps, zones, shop, character |
| Vocabulary | zone → planet, app → rocket, deploy → launch |
| Character | full progression: XP, quests, gear, loadout — persisted across browsers and themes |
| Launch | Platform as a Service → Themes → Ship It! → Launch (embedded, with your session) — pin it from Themes to give it its own navigation entry |
Buying a planet in Ship It! buys a zone every other theme can see — bands are theme-portable, because the infrastructure is real.
Worth reading as a reference implementation
Ship It! isn't a rewrite of the theme contract client — it's an existing arcade-style frontend wired to real data with two files:
static/theme.js, unmodified, doing exactly what every theme's copy doestheme-bridge.js, a small module that seeds the game with real data and wraps a handful of actions onto contract calls: claiming a planet callscreateZone, registering an app callsshipApp, relaunching callsredeploy, editing the hero callssaveCharacter, and a poll loop refreshes app status roughly every 15 seconds.
That split — vendored client untouched, a thin bridge on top — is the pattern to copy any time you're bringing an existing frontend to the theme contract instead of building one from scratch. See Creating a theme for the ground rule it follows: static/theme.js stays byte-for-byte; everything custom lives beside it.