Skip to content

Foundations

Three pages, generated by specs storybook from what specs fetch pulled. Nothing on them is authored per workspace, so they can never drift from the library — regenerate and they match it again.

Terminal window
specs storybook publish foundations # just these, when that's all that changed

Color

Every colour variable the library declares, organised by variable collection, then by the first level of each variable’s name — the structure your library already has, not one we invent from naming patterns.

  • Values are shown in each collection’s default mode. Where a variable aliases another, the target is named beneath the swatch.
  • Fill styles follow as their own section, distinguished from variables.
  • A variable that cannot be resolved — an alias into another library file, a broken chain — is shown with the reason, never dropped. The page claims no completeness it doesn’t have.
  • Every colour is its own row, full name visible, until you declare otherwise in config/conventions/storybook.yaml — ramps as one shared row, or folders grouped side by side. See Customization.

Icons

Every glyph in the workspace, by the slug a spec references it with — and, more importantly, every glyph a spec references that is missing from the workspace. A missing glyph normally fails silently as an empty box deep in some component; here it is a named list at the top of the page.

Typography

Every text style the library declares, with the full property set — letter spacing, line-height unit, case, decoration — not just the parts a CSS font shorthand can carry. Grouped by the first level of each style’s name, with a type specimen per group and a table of exact values per style.

  • A workspace that fetches more than one payload gets a section per source, so the same library fetched twice reads as two sources rather than as inexplicable duplicates.
  • Styles the file declares but never uses are listed as unresolved rather than omitted — that, too, is library state worth seeing.