For Anysphere’s Cursor

Give Cursor a design system, not a vibe.

The AI-first code editor. Ask it for UI with no design context and you get the model’s average taste: a purple gradient, four radii, and contrast nobody checked. A DESIGN.md replaces that with real tokens, measured contrast ratios and constraints the agent can be held to.

Wiring it into Cursor

Where it goes Project rules in `.cursor/rules/`, or a referenced file in chat context.

  1. Drop the file at your repo root: curl -o DESIGN.md https://csscreme.com/d/deep-ocean.md
  2. Add a project rule in .cursor/rules/design.mdc that references it, so it applies to every request.
  3. Or attach it per-chat with @DESIGN.md before asking for a component.

A rule that always applies beats an attachment you have to remember. Put the reference in `.cursor/rules/` once.

What the file looks like

View the full file →

The first lines of Deep Ocean. Every number in it is computed from the palette at build time, so the agent is following measurements rather than adjectives.

# DESIGN.md — Deep Ocean

> Design context for AI coding agents. Paste this file into Cursor, Claude Code, Codex, v0 or Lovable
> before asking for UI, or commit it at your repo root as `DESIGN.md`.

- **Source:** [Deep Ocean on CSS Crème](https://csscreme.com/themes/deep-ocean)
- **Default mode:** dark
- **Tags:** dark, blue, calm
- **Install as a real shadcn/ui theme:** `npx shadcn@latest add https://csscreme.com/r/deep-ocean.json`
- **Fingerprint:** `fnv1a-b613a475` — a hash of the token set below. It changes only when a token changes.
- **Verify this copy:** call the MCP tool `verify_design_md` with `{ "id": "deep-ocean", "fingerprint": "fnv1a-b613a475" }`
  at `https://csscreme.com/mcp`, or refetch https://csscreme.com/d/deep-ocean.md. A stale copy is worse than none: an agent will follow it faithfully.
- **Also available as:** [DTCG tokens](https://csscreme.com/d/deep-ocean.tokens.json) for Tokens Studio / Figma Variables · [agent rules block](https://csscreme.com/d/deep-ocean.rules.md) for CLAUDE.md, AGENTS.md or .cursor/rules

A restrained, professional blue palette — trustworthy without the corporate stiffness.

---

## Semantic color roles

Six roles carry the identity. Everything else in this file is derived from them.

| Role | Hex | OKLCH | Use it for |
| --- | --- | --- | --- |
| `bg` | `#071A2B` | `oklch(21.2% 0.042 247.8)` | page background |
| `surface` | `#0F2A40` | `oklch(27.6% 0.052 245.9)` | cards, panels, popovers |

Not the theme you want? There are 21 of them, each at /d/<theme>.md, and the extractor will build one from any URL or screenshot you give it.

Why a file beats a prompt

It persists

A prompt applies to one message. A file at the repo root applies to every session, every task, and every teammate who opens the project.

It is checkable

Rules like “one primary action per view” and “every corner derives from 10px” can be diffed against the output. “Make it clean” cannot.

The contrast is measured

Every ratio in the file is computed from the tokens, not asserted. If a pair fails WCAG AA, the file says so instead of quietly shipping it.

It installs for real

The same theme is a shadcn/ui registry item, so after the agent writes the components, one command writes the tokens.

Connect Cursor directly

Rather than fetching files by hand, point the agent at our MCP server and let it search the catalogue itself. Free, no account, no key.

https://csscreme.com/mcp

11 tools, each one linked to what it does: search_themes, list_themes, get_design_md, get_theme_tokens, how_to_use, get_install_command, get_agent_rules, decode_url, get_design_md_for_url, decode_site, verify_design_md. Any client that speaks remote MCP can use it. Try it live →

Prompts to paste into Cursor

Three worked prompts with the real file and theme names in them. Copy one, change the theme or the page you want, and go.

Start from a theme

Fetch https://csscreme.com/d/deep-ocean.md and save it at the repo root as DESIGN.md. Read it in full, then build a settings page. Use only the tokens in its table, one primary action per view, and keep every corner on the --radius token.

Make the rules stick

Fetch https://csscreme.com/d/deep-ocean.rules.md and append it to .cursor/rules/design.mdc, so every future session reads DESIGN.md before touching UI.

Check a copy is still current

Before building, read the Fingerprint line in DESIGN.md and call the CSS Crème MCP tool verify_design_md with the theme id and that fingerprint. If it is not current, replace DESIGN.md with the refetched file first.

Other tools