A design system bundles components (button, input, card), design tokens (color, spacing, type), and the guidelines that say when to use what. It's less a single file than a living product — a Figma library paired with a matching code library.
It's often confused with a style guide (a static document of colors and fonts) or a pattern library (just the components), but a design system adds the reasoning for why and a real code implementation. The key property: when a designer drops a component in Figma, a code component with the same name and properties already exists for engineers to use.
Start small. Tokenize and componentize whatever already repeats across two or more places, ship it in one product first, and find where it breaks before mandating it team-wide.
When to use
Start when you can see multiple products or teams reinventing the same button or color. If there's only one product and a small team, it may still be too early.