Contract-first design system · SemVer 0 · honest about it

One contract. Three platforms. No port drift.

Author a component once as a YAML contract — surface, slots, events, states, tokens, accessibility. The Wyrding Way projects it into working React, Flutter, and Lit, with parity gated in CI. Interaction and geometry are identical by construction, not by convention.

Brand & tokens
Available now
Components
Available now
Behavior & motion
In preview
Layout / SDUI
Coming
Studio
Coming

// What holds true

01

One source, three platforms

Author a component once as a YAML contract — surface, slots, events, states, tokens, accessibility. The Wyrding Way projects it into working React, Flutter, and Lit, with parity gated in CI. No port drift, no “the mobile version behaves differently.”

02

Quality is the pipeline, not a promise

Accessibility scans, localization stress fixtures, WCAG contrast, and cross-stack visual parity are CI gates. They fail the build, not the audit. If the build is green, the promise held.

03

Brands are inputs

A product’s identity is a DESIGN.md compiled into W3C tokens. The same components re-skin per brand — the system’s own brand never competes with yours.

04

Agents are first-class authors

Contracts, tokens, and behavior are machine-readable. A human designer and an AI agent work the very same surfaces, with the same guarantees.

// Proof — one contract, four design languages

The system’s brand never competes with yours.

A product’s identity is a DESIGN.md compiled into W3C tokens. Watch one Button re-skin across presets — TWW plus demonstration homages — with no change to the contract underneath.

TWW · Gilt & Ink
Inspired by Material
Inspired by Carbon
Inspired by Apple HIG

Presets are homages, clearly labeled — no trademarks, no third-party logos. Each is a real DESIGN.md through the real pipeline.

If the build is green, the promise held.

Accessibility, localization, WCAG contrast, and cross-stack visual parity are CI gates — not review-time suggestions. Start with one Button and ship it to web and Flutter.

Read the Button reference →