Team & collaboration

Version control

2 min read

Designs are versioned automatically. Every Save creates an immutable revision; every Publish creates a versioned URL you can share. There's no manual "commit" step — the version graph is always honest.

Drafts vs. published

A design exists in one of two states:

  • Draft — auto-saved every 5 seconds while you edit. Drafts overwrite each other; only the latest draft survives.
  • Published — a versioned, immutable snapshot. Every Publish gets a new version number (v1, v2, ...) and a unique URL.

Workflow: edit → drafts accumulate silently → click Publish when you want a milestone → continue editing on top.

The version drawer

Open any design and click the version label in the top-right. The drawer lists every published revision with:

  • Version number + publish date.
  • Author (whoever clicked Publish).
  • A short message you can attach at publish time.
  • Diff button — opens a side-by-side compare with any other version.

Click any version to load it into the editor as a draft. Save again to fork; Publish again to bump to the next version.

Rollback

Two options:

  1. Restore — load an old version into the editor and Publish. The version graph keeps the new publish on top; the old version is still in history.
  2. Set as current — admin-only. Marks an old version as the "current" published version without creating a new one. Use sparingly; this hides newer publishes from default views.

Diff view

The diff view shows every token-level change between two versions:

- primary: #635BFF
+ primary: #4A40D8
 
  ink: #0A2540
  bg: #F6F9FC
 
- radius.md: 8px
+ radius.md: 6px

Plus prose changes in the patterns section, plus added/removed tokens. The diff is computed off the parsed token tree, not raw markdown — so reordering doesn't show up as a change.

Branches (Team plan)

Team workspaces support branches: parallel edit streams that fork from a base version. Useful when two members want to experiment without stepping on each other:

  1. Open a published version.
  2. Click Branch from this version.
  3. Edit + publish on the branch.
  4. Open a merge proposal when ready; an admin reviews + merges.

Branches integrate with the version graph — merged branches show up as a fork-then-rejoin in the visualisation.