A contract-first design system

Author once. Let the platforms agree.

A component is a single YAML contract — surface, slots, events, states, tokens, accessibility obligations. The Wyrding Way projects it into working code for the platforms you choose, and gates their parity in CI. Interaction and geometry are identical by construction, not by convention.

Everything below is generated from this.

Change the contract and every chosen target regenerates. The drift gate fails the build until they agree — the reference you are reading and the code you are shipping cannot disagree.

Targets — yours to choose

Parity gated across 3 selected targets.

wyrd.component.button source of truth
identity:  name: Button  tag: wyrd-button  package: wyrd.component.buttontarget-strategy:  react: required  flutter: required  lit: requiredsurface:  properties: [variant, is-disabled, is-loading]  slots: [label, leading-icon, trailing-icon]  events: [press]  states: [default, hover, focus-visible, pressed, disabled, loading]  tokens:    primary:      background: color.primary      foreground: color.on-primary    radius: rounded.mdobligations:  accessibility:    role: button  sdui:    status: serializable
projects to ReactFlutterLit abridged · 203 lines in the catalog

What the system guarantees.

  1. 01

    A working catalog, day one

    48 components ship ready to use — from Button and Card to a flow editor and a graph viewer — all rendered from your brand tokens. When you author components of your own, the same machinery applies: one contract, projected to the targets you choose.

  2. 02

    Quality is the pipeline

    Accessibility scans, localization stress fixtures, WCAG contrast, and cross-stack visual parity fail the build, not the audit.

  3. 03

    An input, not a fork

    Your identity is a DESIGN.md compiled into W3C tokens. The same components re-skin per brand; our brand never competes with yours.

  4. 04

    Two kinds of authors, one surface

    Contracts, tokens, and behavior are machine-readable. Human designers and AI agents work the very same surfaces, under the very same guarantees.

One card. Four design languages.

A brand is a DESIGN.md compiled into W3C tokens — an input, not a fork. Watch the same composite re-skin as the tokens change. The contracts underneath never move.

The Wyrding Way

Welcome back

The homage presets demonstrate range, not affiliation — the same contracts wearing four very different DESIGN.md files, each compiled through the real token pipeline. They are clearly labeled and nothing third-party ships with the system.

Drawn to spec.

Every component documents its own anatomy from the contract — slots, tokens, focus, radius. Parity is not a tolerance.

ANATOMYButtoncontract-fed
Button Fill: color.primary. Label slot: label · required. Radius: radius.control. Focus ring: focus.ring · 3:1 Continue FILL color.primary LABEL SLOT label · required RADIUS radius.control FOCUS RING focus.ring · 3:1

FIG. 1 Button — anatomy TOL. ±0

The site of a design system is the first component a skeptic inspects.

Every guarantee above runs as a CI gate, and the Button reference is generated from the same contract you just read. Start your inspection there.

Inspect the Button reference