/12Do's & Don'ts
A testable checklist derived from everything above — the lint layer, not new information.
- Share gridlines between adjacent compartments — zero visual gaps
- Set border-radius above 3px anywhere
- Pair every status signal with a dot AND text
- Use green outside the live-status dot
- Use tabular-nums on every data-* value
- Set body prose below the 15px a11y floor
- Honour prefers-reduced-motion on every decorative animation
- Mix rounded and sharp corners in the same view
- Reference tokens in component definitions — never hardcode a hex value inline
- Stack two Materials on one element
- Compose every button, badge, and input from the shared atom (Button/Badge/Input)
- Give a marketing section its own one-off
__btn/__ctaclass instead of the atom — every colour and text-case bug found in this system's real components traced back to exactly this - Keep secondary and ghost buttons transparent with a hairline border, always
- Fill a button, status pill, or chip with solid ink/black — this system has no solid-black surface anywhere
- Keep CTA and button label text in normal case — the Button atom never sets text-transform
- Uppercase a CTA at the component level; several real components did this independently and all were wrong
- Confirm every class referenced in markup resolves to a real CSS rule before shipping
- Ship a class with no matching style — an unstyled "ghost" element is worse than no element