A design system breaks when design and code drift apart.
Design-development parity means that design decisions and implementation represent the same system, expressed through different artifacts.
When parity is lost, teams stop trusting the system and start working around it.
Treat design and code as equal sources of truth
Neither design nor code should lead in isolation.
Multi-platform tokens
Variant/Primary/01 --variant-primary-01 bg-variant-primary-01 Variant/Primary/02 --variant-primary-02 bg-variant-primary-02 Variant/Primary/03 --variant-primary-03 bg-variant-primary-03 Variant/Primary/04 --variant-primary-04 bg-variant-primary-04 Variant/Primary/05 --variant-primary-05 bg-variant-primary-05 Variant/Primary/06 --variant-primary-06 bg-variant-primary-06 Variant/Primary/07 --variant-primary-07 bg-variant-primary-07 Variant/Primary/08 --variant-primary-08 bg-variant-primary-08 Variant/Primary/09 --variant-primary-09 bg-variant-primary-09 Variant/Primary/10 --variant-primary-10 bg-variant-primary-10 Encode design decisions, not screenshots
Implementation should express intent, not static visuals.
Interactive documentation
Share a common mental model
Designers and developers should reason about the system in the same way.
Button component anatomy
Button
├─ Interaction Container
│
├─ Content
│ ├─ Icon (optional)
│ │ └─ Icon Element (mds-icon)
│ │ └─ part="icon"
│ │
│ ├─ Label (required)
│ │ └─ Text Element (mds-text)
│ │ └─ part="label"
│ │
│ └─ Notification Slot (optional)
│ └─ Slot "notification"
│ └─ Notification Component (recommended: mds-notification)
│
├─ Await / Loading Layer (conditional)
│ └─ Spinner (mds-spinner)
│
└─ Focus / Interaction Layer Automate parity where possible
Manual synchronization does not scale.
Tokens generation and export