sd — design system spec v2.1.0

Machine-readable spec for reproducing an editorial slide-deck design system and its product UI variant in any Next.js project. Audience: LLM coding agents. Read order: OVERVIEW → STACK → INSTALL → RULES → MOTION → ANTIPATTERNS → VOICE → PRODUCT-UI (variant for dashboards / admin tools) → EVENT-DECK (co-branded paged event decks) → DATAVIZ (animated charts & diagrams), then copy files.

v2.1.0 (hard-edit release): eyebrows removed entirely (component, classes and token; the headline carries the slide); flanking rule pairs gone from QuoteDivider and thesis tails; max-width in px/ch banned (fluid containers, reading measures in % or grid columns); KPI figures, units and mono spans aligned on the shared baseline; shipped components and templates rewritten Tailwind-free with colocated plain CSS.

v2.0.0 (de-slop release): Tailwind removed from the stack (plain CSS: tokens + semantic classes + colocated per-slide CSS); eyebrow and decorative-bar discipline reversed (headline carries the slide); VOICE.md doubled (contrast-frame rationing, data attribution, es-ES number idiom); data-viz language, media rules and the opt-in HMAC access gate codified. Distilled from the ivi-mid-2026 production deck.

Install as an agent skill / rules file

cd your-project-root

# 1. Auto-detect: writes AGENTS.md + files for any agent dir already present
curl -fsSL https://sd.michelvalles.com/install.sh | bash

# 2. All supported agents at once
curl -fsSL https://sd.michelvalles.com/install.sh | bash -s -- --all

# 3. Pick specific agents
curl -fsSL https://sd.michelvalles.com/install.sh | bash -s -- --agents=claude,cursor,codex,gemini

Supported agents and where the installer writes their rules file:

  claude    → .claude/skills/sd-design/SKILL.md  +  CLAUDE.md
  codex     → AGENTS.md                          (OpenAI Codex CLI / agents.md standard)
  cursor    → .cursor/rules/sd-design.mdc        +  .cursorrules (legacy)
  windsurf  → .windsurf/rules/sd-design.md       +  .windsurfrules (legacy)
  copilot   → .github/copilot-instructions.md    (GitHub Copilot)
  gemini    → GEMINI.md                          (Gemini CLI)
  aider     → CONVENTIONS.md                     (Aider)
  continue  → .continuerules                     (Continue)
  kiro      → .kiro/steering/sd-design.md        (Kiro)
  universal → AGENTS.md                          (always written; agents.md fallback)

After install, every agent receives the same instructions and fetches asset files on demand from this host. Full detail in AGENTS-SUPPORTED.md.

Manual usage (without the skill)

fetch the docs in order, then copy each file to the matching path in your project:

  https://sd.michelvalles.com/OVERVIEW.md
  https://sd.michelvalles.com/STACK.md
  https://sd.michelvalles.com/INSTALL.md
  https://sd.michelvalles.com/RULES.md
  https://sd.michelvalles.com/MOTION.md
  https://sd.michelvalles.com/ANTIPATTERNS.md
  https://sd.michelvalles.com/VOICE.md

  https://sd.michelvalles.com/files/globals.css       -> app/globals.css
  https://sd.michelvalles.com/files/layout.tsx        -> app/layout.tsx
  https://sd.michelvalles.com/files/page.example.tsx  -> app/page.tsx
  https://sd.michelvalles.com/files/tsconfig.json     -> tsconfig.json
  https://sd.michelvalles.com/files/next.config.ts    -> next.config.ts
  (no PostCSS config since v2.0.0 -- no Tailwind)

  https://sd.michelvalles.com/components/utils.ts     -> lib/utils.ts
  https://sd.michelvalles.com/components/format.ts    -> lib/format.ts
  ... (see INSTALL.md for the full path mapping)

  https://sd.michelvalles.com/logos/flat101.svg       -> public/logos/flat101.svg
  https://sd.michelvalles.com/logos/flat101-light.svg -> public/logos/flat101-light.svg
  https://sd.michelvalles.com/logos/indra.svg         -> public/logos/indra.svg
  https://sd.michelvalles.com/logos/indra-light.svg   -> public/logos/indra-light.svg

Docs

files/

components/

templates/

logos/