Skip to main content
Version: 0.7 (Next)

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.

Ship It! launched with real organization data: quest log, hero panel, a colony planet with live capacity bars, the app list, and the in-game register-app dialog with its fit check

Capabilitiesapps, zones, shop, character
Vocabularyzone → planet, app → rocket, deploy → launch
Characterfull progression: XP, quests, gear, loadout — persisted across browsers and themes
LaunchPlatform 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 does
  • theme-bridge.js, a small module that seeds the game with real data and wraps a handful of actions onto contract calls: claiming a planet calls createZone, registering an app calls shipApp, relaunching calls redeploy, editing the hero calls saveCharacter, 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.