A design system is not a Figma library. A design system is a contract about how the product looks and behaves, and that contract should live in code.
Why this matters: when the source of truth is Figma, every engineer becomes an interpreter. They translate visual decisions into CSS, miss spacing tokens, accidentally invent new shades of grey, and the system rots one PR at a time.
When the source of truth is a tokens file in code, Figma becomes a renderer. Designers work against the same tokens engineers consume. The system stays consistent because it is enforced by the build, not by good intentions.
The minimum viable architecture: a tokens.json file (or Style Dictionary, or a TypeScript module). Color, spacing, typography, radius, shadow, motion. One source. CI builds CSS variables, Tailwind config, and Figma plugin output from this file. Designers and engineers both consume from the same artifact.
The pattern that wins is monotony. Two greys, not seven. One spacing scale, not three competing ones. One typography scale. The smaller the system, the more shareable. We have shipped six-token color palettes that survived three years of feature work. We have seen forty-token systems collapse in nine months.
The other discipline: components are owned by people. Every component has a maintainer, a Storybook entry, an accessibility test, and a deprecation policy. A design system without maintainers is a graveyard with branding.
Tokens, not screenshots. Components, not pixels. Maintainers, not committees. That is the entire playbook.
