Behind the system
From Figma to every Aceve screen.
Sprout is one source of truth for design decisions. Here's the journey a token takes from a designer's Figma file to running code on aceve.design — and what your role is along the way.
The flow
Every token lives in five places. Hover any stage for who edits it.
Designer
Engineer review
Auto-versioning
Engineer review
Auto-deploy
- FigmaVariables: colors, spacing, radii.
- tokens-repoPulls Variables, builds Style Dictionary, opens an MR.
- @aceve/sprout-tokensPublished on tag-push to the GitLab Package Registry.
- docs-repoImports tokens. Code Connect publishes to Figma Dev Mode.
- aceve.designLive in ~2 min after merge to main.
Follow a token
Pick one. See the same value through five passport-stamps — Figma, JSON, CSS, JS, and a live render below.
- 01Figma VariableSource of truth — designer edits hereMiniSprout / VariablesLightcolor/primary/700#447952
- 02DTCG JSONtokens-repo · auto-synced from Figma
"primary": { "700": { "$value": "#447952", "$type": "color", "$description": "Primary brand. Buttons, links, active state." } } - 03Generated CSSStyle Dictionary build · :root + dark
:root { --sprout-color-primary-700: #447952; } [data-theme="dark"] { /* flips to lime for AA contrast on dark */ --sprout-color-primary-700: #447952; --sprout-accent-default: #BDD78F; } - 04JS API@aceve/sprout-tokens · for swatch grids, charts
import { COLORS } from '@aceve/sprout-tokens'; const aceveGreen = COLORS.brand.find( (c) => c.token === '--sprout-color-primary-700' ); // → { name: "Aceve green / 700", value: "#447952", // token: "--sprout-color-primary-700", // role: "Primary brand. Buttons, links, active state." } - 05Live on aceve.designYou're looking at itReads
--sprout-color-primary-700at runtime — switching theme or bumping the tokens package updates it automatically.
Your role
The same pipeline, four different vantage points.
Why this matters
Three commitments the pipeline keeps.
Where to next
Three places to dig deeper.