Skip to content

Websites and web pages. Sites live in ~/projects/monorepo/sites/.

All of Design-Principles binds. This file adds only what is web-specific and is not already in the repo.


Do not restate any of this in the vault — read it where it lives:

NeedSSOT
Colors, OKLCH pipeline, palette generationmonorepo/docs/design/colors.md
Type scale, fluid tokens, spacingmonorepo/docs/design/typography.md
Logo variants, animation, themingmonorepo/docs/design/logo.md
Favicons, PWA iconsmonorepo/docs/design/favicon.md
Per-brand ratified decisions (direction, animation, anchors)monorepo/docs/design/brands.md
Adding a new brandmonorepo/docs/design/brand-onboarding.md
Componentsmonorepo/sites/template/docs/COMPONENT_LIBRARY.md — Tier 1 Astro 90% / Tier 2 Alpine 9% / Tier 3 Svelte 1% (avoid)
Layout primitivesmonorepo/sites/template/docs/layout-system.md
Theming and dark modemonorepo/sites/template/docs/theming.md
Stack rules (Astro, Tailwind, Alpine)~/ai-config/AGENTS.md §Web Standards
Caching, headers, PWA freshnessGlobalDevRules §3.8

Content before design system. The default order — design system, then components, then content — is inverted here: content and UX come first. SSOT: Content-First-Web-Dev.

Progressive disclosure on a page has no session to lean on. Unlike an app (Apps), a page cannot remember that a visitor already progressed. The “See all” expansion is per-visit; design the collapsed state to be complete enough to act on alone.