Guide

Faire générer à Claude Code et Cursor une interface fidèle à un site

Demandez à un agent de code « une page de paramètres épurée » et vous obtenez une page générique. Donnez-lui un DESIGN.md tiré d’un site que vous aimez, et il construit avec les vraies couleurs, l’échelle typographique, les rayons et les règles de composants de ce site, au lieu de deviner.

Ce guide montre toute la boucle dans Claude Code et Cursor, avec le fichier de Linear de la galerie comme exemple.

Écrit pour les développeurs qui codent avec un agent IA. Mis à jour le .

Ce que vous obtiendrez

  • Un DESIGN.md d’un site que vous aimez, enregistré dans votre dépôt, là où votre agent peut le lire.
  • Une courte référence dans CLAUDE.md pour Claude Code et une règle de projet pour Cursor, pour que chaque tâche d’interface parte du fichier.
  • Des prompts qui nomment les tokens, pour que l’agent utilise les valeurs exactes plutôt que des approximations.
  • Une routine de relecture rapide pour repérer les endroits où l’agent a dérivé.

Pourquoi un DESIGN.md vaut mieux qu’une capture d’écran

Une capture d’écran ne donne à votre agent que des pixels pour deviner. Il saisira à peu près l’ambiance mais se trompera sur les valeurs : un bleu approchant, un rayon décalé de quelques pixels, une police choisie parce qu’elle ressemblait. Chaque nouvel écran repart de zéro, et l’application dérive peu à peu.

Un DESIGN.md lui donne les valeurs exactes. Le fichier suit la spécification DESIGN.md de Google : le front matter YAML en haut contient les tokens (couleurs hex, familles et tailles de polices, rayons, composants), et le Markdown en dessous explique où chacun s’applique. Vous découvrez le format ? Lisez ce qu’est un DESIGN.md.

Étapes

  1. Choisissez un site dont l’interface ressemble à ce que vous construisez

    Des écrans de produit avec une densité similaire fonctionnent mieux qu’une landing page avec un grand hero. Si vous construisez un tableau de bord, choisissez un produit qui en a un. Consultez d’abord la galerie DESIGN.md : le fichier y est peut-être déjà.

  2. Récupérez son DESIGN.md

    Copiez-le depuis la page de la galerie, ou collez l’URL sur la page d’accueil de Design Extractor et lancez une extraction Pro. Le mode Pro échantillonne les pages clés du site, et une extraction prend au moins une minute.

  3. Enregistrez-le sous le nom DESIGN.md à la racine de votre dépôt

    Placez-le à côté de README.md et d’AGENTS.md et commitez-le, pour que chaque branche et l’agent de chaque coéquipier lisent le même fichier.

  4. Indiquez-le à votre agent

    Ajoutez une courte référence dans CLAUDE.md pour Claude Code, ou une règle de projet pour Cursor. Les blocs sont ci-dessous.

  5. Demandez l’interface dans les termes du fichier

    Nommez les tokens et les composants dans votre prompt (primary, body-md, une recette de bouton) et demandez à l’agent de lister toute valeur introuvable au lieu d’en inventer une.

  6. Comparez le résultat au fichier

    Vérifiez les couleurs, les polices, les rayons et les états par rapport au DESIGN.md avant d’accepter la modification.

Exemple concret : Linear

Le DESIGN.md de Linear de la galerie a été extrait de linear.app avec une extraction Pro qui a capturé 5 pages. Il contient 17 tokens de couleur, 16 styles de texte et 12 rayons. C’est la base de travail de votre agent.

Couleurs

Typographie

hero-displayDesign is intelligence made visibleInter Variable72px / 510 / 1
display-lgDesign is intelligence made visibleInter Variable64px / 510 / 1
display-mdDesign is intelligence made visibleInter Variable48px / 510 / 1
heading-lgDesign is intelligence made visibleInter Variable32px / 590 / 1.15
title-mdDesign is intelligence made visibleInter Variable20px / 590 / 1.35
body-lgDesign is intelligence made visibleInter Variable17px / 400 / 1.6

Formes

xs · 2px
sm · 4px
sm-2 · 4.4625px
md · 5px
md-2 · 6px
lg · 8px
lg-2 · 9px
xl · 12px

Les 12 premières couleurs, 6 styles de texte et 8 rayons de Linear, rendus à partir de son DESIGN.md. Cliquez sur une pastille pour copier la valeur hex.

Le haut du fichier, abrégé : 8 sur 17 couleurs, 2 sur 16 styles de texte et 4 sur 12 rayons. Ce sont les valeurs exactes que l’agent reprend.
---
name: Linear
colors:
  primary: "#5E6AD2"
  canvas: "#08090A"
  surface: "#121414"
  surface-raised: "#1C1C1F"
  ink: "#F7F8F8"
  ink-secondary: "#D0D6E0"
  muted: "#8A8F98"
  subtle: "#62666D"
typography:
  hero-display:
    fontFamily: Inter Variable
    fontSize: 72px
    fontWeight: 510
    lineHeight: 1
    letterSpacing: -1.584px
  body-lg:
    fontFamily: Inter Variable
    fontSize: 17px
    fontWeight: 400
    lineHeight: 1.6
    letterSpacing: normal
rounded:
  xs: 2px
  sm: 4px
  sm-2: 4.4625px
  md: 5px
---

Extrait du site public de Linear, pas une charte de marque officielle. Lire le DESIGN.md complet de Linear

Comment le fichier décrit l’apparence

Le texte sous les tokens indique à l’agent où chaque valeur s’applique. Il commence ainsi :

Linear's marketing surface reads like the product itself: a near-black Void canvas (canvas, #08090A) with charcoal panels stacked a half-step lighter, fenced by 1px hairlines rather than shadows. The mood is engineering-grade and restrained. Realistic product UI mockups, a customer logo strip and Berkeley Mono micro-labels ("FIG 0.1") stand in for illustration. Nothing shouts; the page earns attention through precision.

Les règles que le fichier donne à votre agent

La section Do’s and Don’ts transforme l’apparence en règles. Les premières :

À faire

  • Reserve Linear Indigo (primary, #5E6AD2) for focus and interactive accents. Every measured focus state is a 1px solid #5E69D1 outline with a 2px offset.
  • Shape every button as a pill with rounded.full. button-ghost, button-ghost-2 and button-ghost-3 all measure 9999px.
  • Keep control heights on the observed ladder: button-ghost and button-ghost-2 at 32px, button-ghost-4 at 29px, button-ghost-3 at 24px, and sidebar-nav-item and the icon buttons at 28px.

À éviter

  • Don't use weights other than 400, 510 and 590, and never substitute a static 600 or 700 for heading-lg or title-md.
  • Don't add a third typeface. Inter Variable carries everything, and Berkeley Mono is limited to micro figure labels.
  • Don't use accent-blue, danger or success for marketing chrome; they belong inside product mockups.

Composants

Le fichier contient 30 recettes de composants en HTML et CSS. 13 d’entre elles ont passé la vérification sur la page en ligne ; pour les autres, le fichier explique pourquoi elles n’ont pas passé la vérification ou n’ont pas pu être vérifiées. Le fichier complet fait environ 276 000 caractères, en majorité des recettes. C’est pourquoi vous y faites référence au lieu de le coller dans vos prompts.

Indiquez le fichier à votre agent

La plupart des agents n’ouvrent pas DESIGN.md d’eux-mêmes. Quelques lignes dans les instructions qu’ils chargent déjà règlent le problème. Dans Claude Code, ajoutez ceci au fichier CLAUDE.md à la racine de votre dépôt :

## Design
Follow DESIGN.md in the repository root for every UI change.
Use its color, typography, rounded and component tokens instead of inventing values.
Before you build a button, card or input, read its recipe in the Components section.

Dans Cursor, ajoutez une règle de projet. Enregistrez ceci sous .cursor/rules/design.mdc ; alwaysApply la charge pour chaque requête du projet :

---
description: Follow DESIGN.md for every UI change
alwaysApply: true
---
Follow DESIGN.md in the repository root for every UI change.
Use its color, typography, rounded and component tokens instead of inventing values.
Before you build a button, card or input, read its recipe in the Components section.

Utilisez une référence plutôt que de coller le fichier dans les instructions. Un DESIGN.md Pro contient une recette pour chaque composant repéré sur le site : il est donc long, et votre agent n’en a besoin que pour le travail d’interface.

Des prompts qui utilisent les tokens

Nommez le fichier et ses tokens, et donnez à l’agent une porte de sortie plutôt qu’une raison de deviner. Ces prompts ont été écrits pour ce guide avec les vrais noms de tokens de Linear ; remplacez la tâche par la vôtre.

Claude Code

Build a pricing page with three plan cards. Follow DESIGN.md:
- use primary (#5E6AD2) only where the file says it belongs
- set headings in hero-display and body copy in body-lg
- reuse the button-ghost recipe for the plan buttons, with its hover and focus states
- start the plan cards from the card recipe
List any value you could not find in DESIGN.md instead of inventing one.

Cursor

@DESIGN.md Restyle the settings form in src/app/settings to match this file.
Take colors, type and radii from the tokens and inputs and buttons from the component recipes.
Keep the existing layout and logic, and list any value you could not find in the file.

Dans Cursor, @DESIGN.md joint le fichier au chat, ce qui aide en plus de la règle quand la tâche porte surtout sur l’apparence.

À quoi doit ressembler le résultat ? À peu près à cette carte, que cette page dessine directement à partir des tokens. Elle montre l’effet des valeurs, pas ce qu’un agent a produit.

Planifiez la prochaine version

Chaque tâche, date et décision au même endroit, pour que l’équipe livre à temps.

CommencerContacter l’équipe commerciale
Illustration dessinée par cette page à partir des tokens de Linear : canvas #08090A, ink #F7F8F8, primary #5E6AD2 et button-ghost.rounded 9999px. Ce n’est pas un résultat produit par un agent de code, et la police ne s’affiche que si votre appareil la possède.

Relisez ce que l’agent a construit

  • Couleurs. Cherchez les valeurs hex dans le diff. Chacune doit figurer dans DESIGN.md. Une nouvelle valeur signifie généralement que l’agent a deviné.
  • Polices. Beaucoup de marques utilisent des polices commerciales que vous ne pouvez pas distribuer. La section Typography du fichier nomme généralement une alternative open source ; vérifiez que l’agent a chargé celle-là, et non une police de secours au hasard.
  • Rayons et espacements. Les boutons et les cartes doivent utiliser les tokens d’arrondi du fichier, pas une valeur par défaut comme 8px partout.
  • États. Les styles de survol et de focus font partie de chaque recette de composant. Parcourez la page avec Tab et vérifiez l’anneau de focus.
  • Recettes signalées. Si le fichier marque une recette comme signalée, sa géométrie est une approximation. Comparez ce composant avec le vrai site.

Si vous modifiez DESIGN.md à la main, vérifiez-le avec le validateur DESIGN.md gratuit avant que votre agent le relise.

FAQ

Reproduire un site dans Claude Code et Cursor : questions

Des réponses courtes aux questions qu’on se pose avant d’essayer.

Non. Enregistrez-le une fois sous le nom DESIGN.md à la racine de votre dépôt et faites-y référence dans CLAUDE.md pour Claude Code ou dans une règle de projet pour Cursor. L’agent le lit quand une tâche touche à l’interface. Un DESIGN.md Pro avec des recettes de composants est long : y faire référence garde vos prompts courts.

Non, et ce n’est pas le but. L’agent reçoit les tokens du site (couleurs, typographie, rayons), ses recettes de composants et ses règles. Votre mise en page, votre contenu et vos fonctionnalités restent les vôtres. Les recettes qui n’ont pas passé la vérification sur le site en ligne sont marquées comme signalées dans le fichier : considérez-les comme des approximations proches.

Oui. Tout agent capable de lire les fichiers de votre dépôt peut utiliser un DESIGN.md. Faites-y référence dans les instructions que cet agent lit déjà, comme AGENTS.md ou .github/copilot-instructions.md, ou nommez le fichier dans votre prompt.

Oui. Chaque page de la galerie contient le DESIGN.md complet à copier. Les fichiers de la galerie sont extraits du site public de chaque marque, ce ne sont pas des chartes de marque officielles. Pour un site qui n’est pas dans la galerie, collez son URL sur la page d’accueil et lancez une extraction.

Obtenez un DESIGN.md pour le site que vous aimez

Collez n’importe quelle URL publique. Une extraction Pro échantillonne les pages clés du site et renvoie un DESIGN.md que votre agent peut lire.

Voir tous les guides DESIGN.md