Figma UI kit
SDK and pipeline

Build engine

One token JSON, exported from the Figma kit, compiled into every platform's snapshot. Each output is stamped with the SHA-256 of the source it came from.

One source

docs/jeevy_full_tokens.json is the single source of truth. scripts/build_tokens.py reads it and writes the snapshots below. Nobody edits a snapshot by hand; a change starts in the JSON (or in Figma, then exported).

What it writes

FilePlatformHolds
frontend/src/styles/themes/tokens.generated.cssWebPrimitives on :root, semantic tokens inside [data-ds="v1"]
docs/tokens/JeevyTokens.swiftSwiftUIJeevyTokens.Color.bgElevated, JeevyTokens.Radius.control
docs/tokens/JeevyTokens.ktJetpack ComposeJeevyTokens.Colors.BgElevated, Radius in Dp
mobile/src/themeTokens.jsonReact NativeNormalised colours, radius and spacing for the kiosk app
landing/src/content/design-system/tokens.jsonThese docsEvery colour with L*, luminance and WCAG contrast
landing/src/content/design-system/components.jsonThese docsThe component catalog: purpose, rules and touch notes
frontend/src/styles/design-system-docs.jsonPlaygroundThe token registry the live stages generate code from

Commands

Check mode is the default and exits 1 when any snapshot has drifted from the source, so it can run in CI.

Check every snapshot

npm --prefix frontend run tokens:check

Regenerate after a token change

npm --prefix frontend run tokens:build

What it does not touch

  • The hand-written tokens.css, which holds the light theme, legacy aliases and type tokens the JSON does not.
  • Anything across the app seam by import: the portal and these docs are separate deployments, so each gets its own checked copy.

More in SDK and pipeline