fetchtype.tokens.json
{
"typography": {
"body": { "lineHeight": 1.6, "fontSize": "1rem" },
"heading": { "lineHeight": 1.1, "fontSize": "3rem" },
"button": { "fontSize": "0.9375rem" },
"caption": { "fontSize": "0.8125rem" }
},
"color": {
"light": { "text": "#111827", "background": "#ffffff" },
"dark": { "text": "#f9fafb", "background": "#111827" }
},
"hierarchy": {
"scale": "major-third",
"baseSize": "1rem"
}
}
$ fetchtype validate --input fetchtype.tokens.json
✓ contrast — 15.4:1 light, 14.8:1 dark
✓ body line-height — 1.6 (minimum 1.5)
✓ button font-size — 15px (minimum 14px)
✓ caption font-size — 13px (minimum 11px)
✓ prose max-width — 68ch (maximum 75ch)
✓ heading sizes — h1 → h6 decreasing
✓ heading/body line-height ratio — valid
✓ spacing scale — monotonically increasing
✓ scale divergence — within ±10%
✓ dark mode — complete
✓ font fallbacks — present
✓ font payload — estimated 94KB (≤ 150KB)
✓ references — all aliases resolve, no cycles
13 passed · 0 errors · 0 warnings
click anywhere to render