Commit 28f5e89
claude
design: codify v1 design system as single source of truth
Tokens, components, patterns, voice rules, and an explicit
anti-patterns list — written once, in one place, so any future design
work (Claude or human) has a stable reference instead of inferring
from drifted CSS across the site and desktop.
Why now:
- The site (site/index.html) and desktop (stockyard-desktop/
frontend/src/style.css) have already drifted on 11 of 13 color
tokens. Subtle warming differences nobody catches eyeballing one
surface at a time, but visible if you put screenshots side by
side. This is the failure mode that begets sibling-not-twin
branding by month two.
- With the homepage redesign and dashboard redesign both queued for
Claude, having the design system as PROMPT INPUT rather than
'whatever the agent infers from one screenshot' is the difference
between getting back two consistent surfaces vs two pretty-but-
incompatible ones.
- It's small enough to maintain (one Markdown file, ~450 lines)
that drift can be fixed in the same PR that introduces it,
instead of becoming archaeological debt.
What's in v1:
- Brand premise (frontier general store, not tech-bro)
- Tokens: color (with usage rules per accent), type, scale,
spacing, radii, borders, shadows, motion. Light mode handled
explicitly as a fallback, not a designed mode.
- Components: button (primary/outline), input, card, chip, status
dot, badge/label, counter, banner, tool row, empty state,
thinking state. Each with reference to canonical implementation.
- Patterns: result card, hero-with-product-in-it, status banner +
list, progressive empty state.
- Voice & copy: hard rules (no em dashes in UI, no 'seamlessly,'
no 'AI-powered' framing, no fake testimonials/logos),
microcopy patterns (buttons, errors, empty states, status,
loading).
- Anti-patterns: 22 explicit forbiddens (gradients, glassmorphism,
pill buttons, sans-serif, generic icons, etc.).
What's deliberately not in v1:
- The token reconciliation itself. Site-vs-desktop palette drift
is documented as 'current drift' in the tokens section and as a
pre-launch TODO in open questions, but the actual sed pass is
deferred until a daylight eyes-on review can confirm the warmer
desktop palette doesn't wash out specific homepage elements
(notably the gold REPLACES figure against the warmer rust). A
midnight 11-token palette swap on the live site three days
before launch is the kind of 'small refactor' that introduces
the regression nobody catches.
- Mobile-specific patterns, accessibility beyond focus rings,
iconography, illustrations, email/PDF templates. All flagged in
the open questions section.
- Component variants we don't have yet. No 'tertiary button,' no
'ghost button,' no third type family. The system is opinionated
by omission.
Verification: doc-only change, no code touched, no risk to live
surfaces. The doc itself parses as valid Markdown (renders cleanly
in GitHub's Markdown view).1 parent 0bbc9d4 commit 28f5e89
1 file changed
Lines changed: 449 additions & 0 deletions
0 commit comments