Cursor rule
.cursor/rules/design-systems.mdcDesign system mechanics: tokens, shadcn/ui, Tailwind v4, composition, theming. Load for UI implementation — aesthetics and anti-slop live in the anti-slop-design skill.
Cursor rules
Quality
77/100
Scores the file, not the repository.Length
769 words
11 headings · 2 code blocksRepository
124
— · pushed 49 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# Design System Mechanics89Token structure, shadcn/ui usage, Tailwind v4 features, and component composition — not aesthetic direction.1011For palettes, font pairings, category tone, layout direction, and the slop checklist, load the **`anti-slop-design`** skill (and its `reference.md` for full pages / responsive matrices). For general coding workflow, use core **Code Discipline**.1213Inspect the project first: `package.json`, `tailwind.config.*`, `globals.css`, `components.json`, existing fonts and icon library. Extend what exists; do not replace the design system unprompted.1415---1617## Token Shape (semantic, not hex soup)1819Prefer **semantic names** mapped to CSS variables so themes and shadcn primitives stay aligned:2021```css22/* globals.css — Tailwind v4 @theme or :root */23@theme {24 --color-background: …;25 --color-foreground: …;26 --color-primary: …;27 --color-muted: …;28 --color-border: …;29 --radius-md: 8px;30 --font-body: …;31 --font-display: …;32}33```3435- Derive real values from the project brand or `anti-slop-design` Category Guide — placeholders above are structural only.36- Prefer **OKLCH** for new token values (`oklch(0.65 0.15 250)`) — perceptually uniform lightness makes scales and dark-mode variants predictable. Tint neutrals toward the brand hue (chroma 0.005–0.01); never ship pure-gray scales or pure `#000`/`#FFF`.37- Three token tiers when the system grows: **primitive** (`--blue-600`) → **semantic** (`--color-primary`) → **component** (`--button-bg`). Components consume semantic tokens; only semantic tokens reference primitives. Skip the component tier until a component actually needs an override.38- Do not default to generic blue/indigo scales or `Inter` / `Roboto` unless the project already uses them.39- Status colors: `--destructive`, `--success`, etc. — keep consistent with shadcn semantic tokens when present.4041---4243## Typography Mechanics4445- Fluid display sizes with `clamp()`: `font-size: clamp(2rem, 1.2rem + 3.5vw, 4rem)` — no breakpoint jumps on headings.46- Pair line-height inversely with size: body `1.6–1.8`, headings `1.1–1.2`. A 56px heading at `line-height: 1.6` is broken.47- Tighten tracking as display size grows (`letter-spacing: -0.01em` to `-0.04em` above ~32px); never negative-track body text.48- Body measure: `max-width: 65ch` on prose containers, not pixel guesses.49- Keep ≥1.25 ratio between adjacent type-scale steps; expose the scale as tokens, not ad-hoc `text-[17px]` values.50- Load fonts with `font-display: swap` and preconnect; subset when the toolchain supports it.5152---5354## Motion Mechanics5556- Animate only `transform` and `opacity`; never `width`/`height`/`top`/`margin` (layout thrash).57- Tokenize easing and duration: `--ease-out: cubic-bezier(0.22, 1, 0.36, 1)`, durations 150–250ms for micro-interactions, 400–600ms for entrances.58- Gate all non-essential motion behind `@media (prefers-reduced-motion: no-preference)`.59- Stagger entrances with `animation-delay` increments (60–100ms); one orchestrated page entrance beats scattered micro-animations.6061---6263## shadcn/ui6465```bash66npx shadcn@latest init67npx shadcn@latest add button card input label form dialog68```6970- Compose from primitives (`Card`, `Button`, `Form`, `Dialog`) — do not fork components unless layout truly requires it.71- Map theme overrides at **CSS variable** layer (`--primary`, `--radius`, `--background`) before editing component source.72- Forms: use shadcn `Form` + project validation library (e.g. zod + react-hook-form) when already in the stack.7374---7576## Tailwind v4 Essentials7778- Define tokens in `@theme` in CSS; avoid duplicating palettes in JS config when v4 CSS-first setup is used.79- Container queries: `container-type: inline-size` on parent, `@container` for child layout.80- Use semantic utilities (`bg-background`, `text-muted-foreground`) when shadcn tokens exist — not raw `bg-gray-200` / `text-black`.8182---8384## Composition Rules8586- One primary CTA per section; secondary actions visually quieter.87- Consistent `max-width` and horizontal padding across sections (hero → footer).88- Extract repeated class strings into components — do not paste 20-class strings everywhere.89- Never nest cards; separate grouped content with background shifts or whitespace instead.90- Charts and fixed-height embeds (Chart.js, maps): parent container **must** have explicit height (same discipline as 3D canvases).9192---9394## Dark Mode9596- Prefer `class` strategy with CSS variables when shadcn is present.97- Pair `--background` / `--foreground` for contrast; test muted text ≥ 4.5:1 on body copy.9899---100101## Responsive & Accessibility102103- Mobile-first breakpoints; 44px minimum touch targets on primary actions.104- Every input has a label; errors use color + text (and icon when helpful).105- Visible focus rings — never `outline: none` without an alternative.106- Full responsive hide/reorder/transform guidance: `anti-slop-design` → `reference.md`.107108---109110## Verification (UI changes)111112| Change | Minimum proof |113|--------|----------------|114| Token/theme | Styles apply in browser; no unstyled flash on load |115| New component | Renders at 375px and desktop; focus/hover work |116| Form | Label association, error state, keyboard submit |117| shadcn add | Component imports resolve; theme tokens applied |118119Browser verification required for layout/interaction claims (see status-verification rule).120121---122123## When NOT to Load This File124125- Backend-only or non-UI tasks.126- Distinctive marketing/landing aesthetic from scratch — start with **`anti-slop-design`** (Step 1: design thinking), then return here for token/shadcn mechanics.127
Also in madebyaris/advance-minimax-m3-cursor-rules
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/3d-graphics.mdc · 124 | Cursor rules | lint-formatstyle | 62/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/agent-teams.mdc · 124 | Cursor rules | setupstylegitapi+3 | 73/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-agent-orchestration.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 73/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-mcp-optimization.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/cursor-tools-mastery.mdc · 124 | Cursor rules | stylemonorepoagent-behaviour | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/fable5-reasoning.mdc · 124 | Cursor rules | style | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/devops-infrastructure.mdc · 124 | Cursor rules | stylesecuritydeploymentdo-not | 79/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/language-agnostic-patterns.mdc · 124 | Cursor rules | teststylearchtesting-strategy+5 | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-core.mdc · 124 | Cursor rules | buildtestlint-formatstyle+4 | 75/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-self-evolution.mdc · 124 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-status-verification.mdc · 124 | Cursor rules | styletypestesting-strategyapi+1 | 65/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-m3-verification.mdc · 124 | Cursor rules | buildtestlint-formatstyle+3 | 89/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/minimax-mcp-tools.mdc · 124 | Cursor rules | styleagent-behaviour | 54/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/mobile-cross-platform.mdc · 124 | Cursor rules | setupperformancedeployment | 68/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/skill-authoring.mdc · 124 | Cursor rules | stylesecurityapi | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/clarify-first-prompting.mdc · 124 | Cursor rules | styledo-not | 61/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/fable5-coding-craft.mdc · 124 | Cursor rules | teststylearchtesting-strategy+1 | 58/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/model-compatibility.mdc · 124 | Cursor rules | styledeploymentagent-behaviour | 66/100 | 3 days ago | |
| madebyaris/advance-minimax-m3-cursor-rules.cursor/rules/tool-discovery.mdc · 124 | Cursor rules | styletypesdatabaseagent-behaviour | 58/100 | 3 days ago |
Diff against .cursor/rules/3d-graphics.mdc Diff against .cursor/rules/agent-teams.mdc Diff against .cursor/rules/cursor-agent-orchestration.mdc Diff against .cursor/rules/cursor-mcp-optimization.mdc Diff against .cursor/rules/cursor-tools-mastery.mdc Diff against .cursor/rules/fable5-reasoning.mdc Diff against .cursor/rules/devops-infrastructure.mdc Diff against .cursor/rules/language-agnostic-patterns.mdc Diff against .cursor/rules/minimax-m3-core.mdc Diff against .cursor/rules/minimax-m3-self-evolution.mdc Diff against .cursor/rules/minimax-m3-status-verification.mdc Diff against .cursor/rules/minimax-m3-verification.mdc Diff against .cursor/rules/minimax-mcp-tools.mdc Diff against .cursor/rules/mobile-cross-platform.mdc Diff against .cursor/rules/skill-authoring.mdc Diff against .cursor/rules/clarify-first-prompting.mdc Diff against .cursor/rules/fable5-coding-craft.mdc Diff against .cursor/rules/model-compatibility.mdc Diff against .cursor/rules/tool-discovery.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 3 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 3 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 3 days ago | |
| nerds-odd-e/doughnut.cursor/rules/cli.mdc · 49 | Cursor rules | setupbuildteststyle+4 | 96/100 | 3 days ago | |
| iloveitaly/llm-ide-rules.cursor/rules/general.mdc · 13 | Cursor rules | teststyledo-notagent-behaviour+1 | 92/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/organize-workspace.mdc · 119 | Cursor rules | buildstylegitdeployment+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/guard-git.mdc · 119 | Cursor rules | stylearchgitsecurity+2 | 89/100 | 3 days ago | |
| dotCMS/core.cursor/rules/e2e-rules.mdc · 949 | Cursor rules | setupteststylearch+5 | 89/100 | 3 days ago |
