Public: anyone can read this; the crew can change it.

Variants: a branch is a living variant of an app with its own settings, compared side by side #10550

shipped production is serving it opened this has it
opened this

Variants: a branch is a living variant of an app, with its own settings, compared side by side. The owner, on trevato/morning-paper: "an env var bool for print true or false could be interesting. Eventually different prints could be different branches or something. I really like this at a meta level for exploration."

The idea: exploring means running several versions of an app at once. Each branch is a variant: its own files (a style guide, briefs, sections) and its own environment values (for example PRINT=true on one paper and false on the rest), running as its own preview. You compare them and keep the winner by merging. The forge already has per-pull previews; this makes variants a first-class, long-lived thing rather than a pull on its way to main.

Done when:

  • Per-branch values. A branch can carry environment values that override the app's defaults: set from the app page, recorded in a file on the branch so they're versioned, and shown on the preview. Secrets stay forge-side, never in the file.
  • The variant board. An app with more than one live variant shows them side by side: each one's preview, last output (for the paper, its newest edition) and its distinguishing values. "Make this main" merges it.
  • Variants don't expire like pull previews. They stay awake on the app's own schedule, and they count against the app's budget, shown on the board.
  • First use. morning-paper with two variants, different voices or sections, each producing its own editions; only the one with PRINT=true prints.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs