Token-to-app supply chain
One fact, one owner: colors, icons, components, and registries flow through governed package boundaries.
- @nebutra/design-tokensW3C DTCG source of truth
- @nebutra/tokensCSS variables and ThemeProvider entry
- @nebutra/themeTailwind v4 @theme and data-theme selectors
- @nebutra/iconsGeist icon React package
- @nebutra/uiprimitives, layouts, registry, governance tests
What it owns
- CSS variable tokens, oklch themes, brand primitives, and generated assets
- Reusable primitives, layout shells, registry manifests, and Storybook surfaces
- Design sync scripts and policy tests for UI governance
Where it stops
- Landing pages compose design packages; they do not fork primitives.
- Token changes flow through brand sync, not one-off hex overrides.
How we know it works
- React Doctor, Storybook registry generation, and token sync checks
- design-docs component pages and governance tests
In code
1@import "@nebutra/tokens/styles.css";
2
3.cta {
4 background: hsl(var(--primary));
5 color: var(--neutral-1);
6 border-radius: var(--radius-md);
7 padding: 0.75rem 1.25rem;
8}Packages
9 packages in packages/design.
- blue
- cyan
- grad
- ok
- warn
- err
oklch · DTCG · Style Dictionary
Brand primitives — color definitions, gradient tokens, motion language. Source data; not imported at runtime by apps.
Git-only design-token sync — tokens live in the repo as the source of truth, no design-tool round-trip to keep in lock-step.
{
"color.brand.primary": {
"$value": "hsl(var(--primary))",
"$type": "color"
}
}- brand.primary
- brand.accent
- status.success
Style Dictionary 4multi-platform output
W3C DTCG $value/$type token files + Style Dictionary 4 pipeline. Output CSS variables and JS modules, edited git-only — no design-tool sync round-trip.
541 Geist icons as tree-shakable TSX components. Single-weight, optical-sized, drop-in for Vercel / v0 visual parity.
CSS-only multi-theme engine — six oklch presets toggled by data-theme attribute. No JavaScript on the critical path.
Runtime CSS variables + ThemeProvider — single source of truth for colors, spacing, radii in every app. @import in your globals.css.
Primitives + GSAP, themed by tokens.
Primary component library — Nebutra components, custom primitives, layout, theme bridge, and the shared Motion facade. The product UI import boundary.
- fontsSelf-hosted open-source fonts: the Chinese body face every app loads, plus a registry of 19 faces that themes and DESIGN.md files can name — no request leaves for a font CDN.
- typelens-catalogThe data layer for TypeLens: typographic works, pairings and extract packs for designers and design agents. Work in progress — the catalog model exists, the seed content does not yet.