01 · HOW TO RUN

## Lint locally.

The bash script grep's the codebase for 8 rules derived directly from DESIGN.md §10 ("Don'ts") and prints file·line citations. Wire it into pre-commit or CI; exit code = violation count.

bash design/lint.sh
bash design/lint.sh --json > audit.json
02 · LINT RULES

## Eight automatic checks.

Each rule maps to a clause in DESIGN.md. Token-defining files (`design/tokens.css`, `site.css`, `data.js`, `creatures.jsx`) are exempt — they are the source of truth.

R1
No pure black/whiteForbid `#fff` / `#000`. Use `--tide-50` / `--ink-900`.
R2
No hardcoded hexAll colors via tokens. Hex outside token files is a leak.
R3
No forbidden typefacesInter, Roboto, Arial, Fraunces and Helvetica Neue are out. Plex + JetBrains only.
R4
Only amber pulseskelp / coral may not animate. They are static signals.
R5
Warm shadows onlyNo pure-grey `rgba(0,0,0,…)` shadows. Use `--sh-*`.
R6
No emoji in UIUse the icon set or creature marks. Emoji is for chat, not chrome.
R7
Radius scale `border-radius` ∈ {0, 4, 8, 10, 12, 14, 16, 18, 999}. Anything else is a leak.
R8
Palette separationMarketing surfaces (`option-*-site`, `index.html`) must not use product UI `--ui-*` tokens.
03 · COVERAGE MATRIX

## Definition ⊂ Implementation ⊂ Display ⊂ Use.

Every component should travel down the chain: defined in DESIGN.md → implemented in components.css → shown in Design System.html → used by at least one page. A break in the chain = dead token, lonely token, or undocumented pattern.

Healthy
—
defined → used somewhere
Lonely
—
defined, never used
Dead
—
used but undocumented
Total
—
tracked components

Component | DESIGN.md | CSS | Display | Used in | Status
--- | --- | --- | --- | --- | ---

04 · VISUAL PARITY

## The pages, side by side.

All HTML deliverables at the same scale. Toggle the 8px overlay to spot off-grid spacing; click the title to open a page full size.

8px grid overlay Reload all
05 · MANUAL FINDINGS

## Things lint can't see.

Hand-curated observations the script can't catch — voice, hierarchy, and unused capabilities. Update this list whenever a finding is resolved or a new one appears.