design.v1 — 1.1.0
The .design contract grows a voice, a committed aesthetic, and full current-ecosystem interop — plus CI-enforced validation and an annotated starter template.
New in the format
voice— the UI copy contract: register, casing, terminology map, action-name continuity, error style. Applied with the same force as tokens (SPEC §13C).- Committed intent —
intent.direction(named aesthetic),intent.signature(the one element where boldness concentrates),intent.treatment(utilitarian|editorial) with per-surfacepatterns.<name>.treatmentoverrides. - Nested token groups (depth ≤ 20) with full dot-path refs, token→token reference chains (depth ≤ 10),
tokens.backgroundatmosphere group, motion/spring tokens, typography font stacks + fallbacks. policy.color.accent_cycle, generalizeddecisions.*(token-role rules likedecisions.typography),themes.single, designed-not-inverted mode rule, CSS mode-emission strategy.- Reading tiers for large files;
targetsobject form with environment constraints (external_assets: false,single_file).
Interop
- shadcn/ui, current model — styles (
vega…sera,new-yorklegacy), primitivebase(base | radix | react-aria),icon_library, presets, namespaced/privateregistries(never-guess rule), MCP, full variable set (chart-1…5,sidebar-*),css_vars.theme, Tailwind v4@theme inline, andexports.shadcn_registry— ship your brand as an installableregistry:themeitem. - Google DESIGN.md — lossless import verified against 0.4.0: nesting, version-field semantics, radius export units,
omittednamespaces, CLI interop table.
Quality
- Schema hardened: flat component property bags validate,
variants⇒when/when_notenforced, typed token groups. scripts/lint_design.pyin CI: schema validation of every example, WCAG contrast checks, alias-collision detection, reference resolution, instruction-duty coverage — plus a leak guard.- Massively expanded craft bar in the portable skill (typography/color-scale numbers, iconography, gestures, performance, information architecture, default-looks-to-avoid catalogue) and a plan → critique → confirm → write bootstrap.
templates/starter.design— annotated kitchen-sink contract: copy as.design, replace values, go.
Full details: CHANGELOG.
🤖 Generated with Claude Code