Skip to main content
Version: 0.7 (Next)

Themes

Konduit is a business theme — one implementation of the theme contract. The theme contract is designed so that many frontends can implement it, from platform-shipped experiences to a game to themes your own team creates.

Beta

Theme registration and the Forge builder are both in beta and land incrementally.

Konduit is the only supported theme

Every other theme — including our own experiments — is provided for fun and inspiration, not production support. Themes are a big part of why people fall for the platform, so we keep building them: browse Theme Labs for the current experiments, and remember your zones and apps are platform resources that survive any theme switch.

The example themes below aren't just demos — read their source and they double as living documentation of how the theme contract gets used for a real, opinionated experience. Ship It! in particular shows how to wire an existing frontend to the theme contract without rewriting it.

The model

A theme is a frontend application in a Git repository that implements the theme contract:

  1. It consumes the theme contract API — zones, apps, the shop, and optionally character progression — using the signed-in user's identity
  2. It renders those concepts under its own metaphor: Konduit's business language, a space game's planets and launches, a racing team's cars and tracks
  3. It declares its capabilities: a theme may implement a subset (apps only, no shop) and that's legitimate

Profiles

Every theme declares one profile, defined in the theme specification:

ProfileWhat it isExample
informationalRead-only. Renders apps, phases, URLs, build logs. No writes.A delivery status wall
interactiveFull zone/app lifecycle under a plain or branded metaphor.Konduit
gameInteractive, plus character, progression, shop, and a universe view.Ship It!

Example themes

  • Konduit — built in, preinstalled, interactive profile, plain business language
  • Ship It! — the flagship game profile example: planets, rockets, and a hero who levels up by shipping
  • Theme Starter — the minimal reference to copy when building your own

Themes are apps the platform ships

The theme pipeline is the Konduit pipeline, pointed at itself:

  1. An admin registers a theme repository with the organization
  2. The platform builds it with Cloud Native Buildpacks — the same build system that ships every app
  3. It deploys through GitOps into one of the organization's zones and serves on the platform's app domain
  4. It appears as a launcher in the organization's workspace

No special hosting, no separate infrastructure: if the platform can ship your apps, it can ship your themes.

Creating your own theme

A theme repository needs:

  • A frontend (any stack the buildpacks can build) that speaks the theme contract client contract
  • static/theme.js, copied byte-for-byte from the starter — launch detection, discovery, and every contract operation over the v2 postMessage transport
  • A theme-manifest.yaml (the theme's full self-description) and a THEME.md whose header matches it — see the theme specification

Full walkthrough: Creating a theme.

Build one with the Forge

The contract is deliberately small and fully specified, which enables a shortcut: from Themes, Create your own opens the Forge — a fill-in-the-blank builder that asks for a name, a profile, an aesthetic, a character, what zones represent in your world, what shipping should feel like, and a storyline (plus a 🎲 Random idea button if you'd rather be surprised).

From those answers, the platform's LLM:

  1. Designs a complete theme-manifest.yaml
  2. Writes a working theme repository against it
  3. Pushes the repository to git
  4. Registers it

Minutes after you start, the theme is building; a little after that, it's Live. The Forge is also the fastest way to see what the theme contract can express before you commit to hand-crafting something — generate a rough version of your idea, then read Creating a theme to refine it by hand.

Distribution

Themes flow through three tiers:

  1. Upstream — the official theme repos live on GitHub at konstructio/. These are the reference implementations.
  2. Platform — the platform team pulls upstream themes into the organization's git provider during setup. Themes shows available upstream themes and lets admins install them.
  3. Organization — the Theme CR points at the org's git copy, and kpack builds from there using the org's GitAccount credentials.

The upstream repository is the source of truth for the code; the org's copy is what the build pipeline runs against. This means theme updates flow upstream → org copy → rebuild.

Trust and scope

Themes are organization-scoped applications, not platform code:

  • A theme runs in the organization that registered it, serving that organization's users
  • It acts with the signed-in user's identity — it can do nothing the user couldn't do
  • Removing the theme removes the deployment, like any app

What's next

  1. Creating a theme — the authoring spec, precise enough to hand to an AI assistant
  2. The theme contract — the contract themes implement