--- name: kitchen-sink-design-system description: Kitchen Sink design system workflow for any frontend stack — Next.js, Hugo, Astro, SvelteKit, Nuxt, or plain HTML. Use when asked for a Kitchen Sink page, Design System, UI Audit, Style Guide, or Component Inventory, or when a project needs a component inventory plus component creation and a sink page implementation. --- # Kitchen Sink Design System Build every component for real, wire it into a single sink page, and let the page prove the design system works. ## Core Philosophy - **Source of truth** — The sink page is the canonical reference for design direction. If it's not in the sink, it doesn't exist. - **No placeholders** — Every component rendered on the sink page must be a real, importable module. Never use draft placeholders or TODO stubs. - **Layered semantics** — Every component follows a base + variant architecture. Shared structure in the base, visual differences in the variant layer. - **Progressive disclosure** — Start with core primitives, layer in app-level components, finish with data display. Each tier builds on the last. - **Design-forward** — Define design direction in the sink first; production pages consume what the sink establishes. - **Agent-readable** — The design system should be equally consumable by human developers and AI coding agents. Semantic tokens, typed props, and explicit contracts over implicit conventions. - **Framework-native** — Respect each framework's idioms. Don't impose React conventions on a Hugo project or vice versa. ## Phase 0: Detect Stack Before anything else, identify the project's framework and lock in the implementation strategy. If you cannot see the file tree, stop and request it. ### Detection Signals | Signal file / directory | Framework | |---|---| | `next.config.*`, `app/` or `pages/` | Next.js (React) | | `hugo.toml`, `hugo.yaml`, `layouts/partials/` | Hugo | | `astro.config.*`, `src/components/` | Astro | | `nuxt.config.*` | Nuxt (Vue) | | `svelte.config.*` | SvelteKit | | None of the above | Static HTML/CSS | ### Strategy Table Once detected, lock in these mappings for the rest of the workflow: | Concept | React / Next.js | Hugo | Astro | Static HTML | |---|---|---|---|---| | **Component** | `.tsx` in `components/` | `.html` partial in `themes//layouts/partials/components/` | `.astro` in `src/components/` | Reusable HTML snippet | | **Component call** | `