Target — Web
Section titled “Target — Web”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.
Implementation is repo-side
Section titled “Implementation is repo-side”Do not restate any of this in the vault — read it where it lives:
| Need | SSOT |
|---|---|
| Colors, OKLCH pipeline, palette generation | monorepo/docs/design/colors.md |
| Type scale, fluid tokens, spacing | monorepo/docs/design/typography.md |
| Logo variants, animation, theming | monorepo/docs/design/logo.md |
| Favicons, PWA icons | monorepo/docs/design/favicon.md |
| Per-brand ratified decisions (direction, animation, anchors) | monorepo/docs/design/brands.md |
| Adding a new brand | monorepo/docs/design/brand-onboarding.md |
| Components | monorepo/sites/template/docs/COMPONENT_LIBRARY.md — Tier 1 Astro 90% / Tier 2 Alpine 9% / Tier 3 Svelte 1% (avoid) |
| Layout primitives | monorepo/sites/template/docs/layout-system.md |
| Theming and dark mode | monorepo/sites/template/docs/theming.md |
| Stack rules (Astro, Tailwind, Alpine) | ~/ai-config/AGENTS.md §Web Standards |
| Caching, headers, PWA freshness | GlobalDevRules §3.8 |
Web-specific judgment not in the repo
Section titled “Web-specific judgment not in the repo”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.
Related
Section titled “Related”- Design-Principles · Apps · Voice · Design