src/bmm-skills/2-plan-workflows/bmad-ux/references/design-md-spec.md
Source of truth: google-labs-code/design.md (Apache 2.0, Google Labs, April 2026). This file is a working summary; the URL wins on conflict.
YAML frontmatter (machine-readable tokens) + markdown body (human-readable rationale, prose sections).
| Key | Type | Notes |
|---|---|---|
name | string | Required. Brand or system name. |
description | string | One-line statement of what this system is. |
colors | flat object | Kebab-case keys. Values are hex strings ('#FBF9F4'). |
typography | nested object | Each value: an object with any subset of fontFamily, fontSize, fontWeight, lineHeight, letterSpacing. |
rounded | object | Scale names (sm, md, lg, xl, full, DEFAULT) → CSS dimensions. full is conventionally 9999px. |
spacing | object | Scale levels ('1', '2', ...) or named tokens (gutter, margin-mobile, editorial-gap) → dimensions. |
components | object | Component-name → object of component tokens mapped to values or {path.to.token} references. |
Sections may be omitted when not relevant; order is locked when present.
{path.to.token} used in prose and inside component objects to reference frontmatter tokens. Examples:
{colors.primary}{typography.body.fontSize}{rounded.md}{spacing.4}The path follows the YAML structure.
surface-base / surface-base-dark) or separate DESIGN.md files per mode. The spec allows either; pick the form that reads cleanest for the product.note field instead of literal values: { note: 'iOS Title 1 · Android Headline Small' }. The spec is the spec; the platform owns the rendered values.components frontmatter entry maps each named component (e.g., button-primary) to its specific token values. Use {path.to.token} references freely; the resolver flattens at consumption time.