Guia

Faça o Claude Code e o Cursor criarem UI com o visual de um site

Peça a um agente de código “uma página de configurações limpa” e você recebe uma página genérica. Dê a ele um DESIGN.md tirado de um site que você curte, e ele constrói com as cores, a escala tipográfica, os raios e as regras de componentes reais desse site, sem chutar.

Este guia mostra o ciclo completo no Claude Code e no Cursor, usando como exemplo o arquivo de Linear da galeria.

Escrito para desenvolvedores que programam com um agente de código com IA. Atualizado em .

O que você vai ter

  • Um DESIGN.md de um site que você curte, salvo no seu repositório, onde seu agente consegue ler.
  • Uma referência curta no CLAUDE.md para o Claude Code e uma regra de projeto para o Cursor, para que toda tarefa de UI comece pelo arquivo.
  • Prompts que citam os tokens, para o agente usar os valores exatos em vez de aproximações.
  • Uma rotina rápida de revisão para pegar os pontos em que o agente se desviou.

Por que um DESIGN.md é melhor que uma captura de tela

Uma captura de tela dá ao seu agente pixels para adivinhar. Ele acerta mais ou menos o clima e erra os valores: um azul parecido, um raio alguns pixels diferente, uma fonte escolhida porque parecia similar. Cada tela nova é um novo chute, e o app vai se desviando aos poucos.

Um DESIGN.md dá a ele os valores exatos. O arquivo segue a especificação de DESIGN.md do Google: o front matter em YAML no topo guarda os tokens (cores em hex, famílias e tamanhos de fonte, raios, componentes), e o Markdown abaixo explica onde cada um se aplica. Ainda não conhece o formato? Leia o que é um DESIGN.md.

Passos

  1. Escolha um site com uma interface parecida com o que você está criando

    Telas de produto com densidade parecida funcionam melhor que uma landing page com um hero enorme. Se você está criando um dashboard, escolha um produto que tenha um. Veja primeiro a galeria de DESIGN.md: o arquivo pode já estar lá.

  2. Pegue o DESIGN.md dele

    Copie da página da galeria, ou cole a URL na página inicial do Design Extractor e faça uma extração Pro. O modo Pro analisa as principais páginas do site, e uma extração leva pelo menos um minuto.

  3. Salve como DESIGN.md na raiz do seu repositório

    Coloque ao lado do README.md e do AGENTS.md e faça commit, para que toda branch e o agente de cada pessoa do time leiam o mesmo arquivo.

  4. Aponte seu agente para ele

    Adicione uma referência curta no CLAUDE.md para o Claude Code, ou uma regra de projeto para o Cursor. Os blocos estão abaixo.

  5. Peça a UI nos termos do arquivo

    Cite tokens e componentes no seu prompt (primary, body-md, uma receita de botão) e peça ao agente para listar qualquer valor que não encontrou, em vez de inventar um.

  6. Revise o resultado com base no arquivo

    Confira cores, fontes, raios e estados com o DESIGN.md antes de aceitar a mudança.

Exemplo prático: Linear

O DESIGN.md de Linear na galeria foi extraído de linear.app com uma extração Pro que analisou 5 páginas. Ele tem 17 tokens de cor, 16 estilos tipográficos e 12 raios. É com isso que seu agente trabalha.

Cores

Tipografia

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

Formas

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

Os primeiros itens do DESIGN.md de Linear, renderizados a partir do arquivo: 12 cores, 6 estilos tipográficos e 8 raios. Clique em uma amostra para copiar o valor hex.

O topo do arquivo, resumido: 8 de 17 cores, 2 de 16 estilos tipográficos e 4 de 12 raios. Estes são os valores exatos que o agente copia.
---
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
---

Extraído do site público de Linear. Não é uma diretriz oficial da marca. Ler o DESIGN.md completo de Linear

Como o arquivo descreve o visual

O texto abaixo dos tokens diz ao agente onde cada valor se aplica. Ele começa assim:

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.

Regras que o arquivo dá ao seu agente

A seção Do's and Don'ts transforma o visual em regras. As primeiras:

Faça

  • 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.

Não faça

  • 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.

Componentes

O arquivo tem 30 receitas de componentes em HTML e CSS. Passaram na verificação contra a página ao vivo: 13. Para as outras, o arquivo diz por que não passaram ou não puderam ser verificadas. O arquivo inteiro tem cerca de 276.000 caracteres, a maior parte em receitas. É por isso que você aponta seu agente para ele em vez de colar o conteúdo nos prompts.

Aponte seu agente para o arquivo

A maioria dos agentes não abre o DESIGN.md por conta própria. Algumas linhas nas instruções que eles já carregam resolvem isso. No Claude Code, adicione isto ao CLAUDE.md na raiz do seu repositório:

## 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.

No Cursor, adicione uma regra de projeto. Salve isto como .cursor/rules/design.mdc; alwaysApply carrega a regra em toda solicitação do projeto:

---
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.

Use uma referência em vez de colar o arquivo nas instruções. Um DESIGN.md Pro traz uma receita para cada componente que pegou do site, então é longo, e seu agente só precisa dele para trabalho de UI.

Prompts que usam os tokens

Cite o arquivo e os tokens dele, e dê ao agente uma saída em vez de um motivo para chutar. Estes prompts foram escritos para este guia com os nomes reais dos tokens de Linear; troque pela sua própria tarefa.

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.

No Cursor, @DESIGN.md anexa o arquivo ao chat, o que ajuda além da regra quando a tarefa é principalmente sobre aparência.

Como o resultado deve ficar? Mais ou menos como este card, que esta página desenha direto dos tokens. Ele mostra o que os valores fazem, não o que um agente produziu.

Planeje a próxima versão

Cada tarefa, data e decisão em um só lugar, para o time entregar no prazo.

Começar a criarFalar com vendas
Ilustração desenhada por esta página a partir dos tokens de Linear: canvas #08090A, ink #F7F8F8, primary #5E6AD2 e button-ghost.rounded 9999px. Não é resultado de um agente de código, e a fonte só aparece se o seu dispositivo a tiver.

Revise o que o agente criou

  • Cores. Procure valores hex no diff. Cada um deve estar no DESIGN.md. Um valor novo geralmente significa que o agente chutou.
  • Fontes. Muitas marcas usam fontes comerciais que você não pode distribuir. A seção Typography do arquivo geralmente indica uma substituta open source; confirme que o agente carregou essa, e não um fallback qualquer.
  • Raios e espaçamento. Botões e cards devem usar os tokens de arredondamento do arquivo, não um padrão como 8px em tudo.
  • Estados. Os estilos de hover e foco fazem parte de cada receita de componente. Navegue pela página com Tab e confira o anel de foco.
  • Receitas sinalizadas. Se o arquivo marca uma receita como sinalizada, a geometria dela é uma aproximação. Compare esse componente com o site real.

Se você editar o DESIGN.md à mão, confira o arquivo no Validador de DESIGN.md gratuito antes que seu agente o leia de novo.

FAQ

Siga o visual de um site no Claude Code e no Cursor: perguntas

Respostas curtas para o que as pessoas perguntam antes de experimentar.

Não. Salve o arquivo uma vez como DESIGN.md na raiz do seu repositório e aponte para ele no CLAUDE.md, para o Claude Code, ou em uma regra de projeto, para o Cursor. O agente lê o arquivo quando uma tarefa mexe na interface. Um DESIGN.md Pro com receitas de componentes é longo, então apontar para ele mantém seus prompts curtos.

Não, e esse não é o objetivo. O agente recebe os tokens do site (cores, tipografia, raios), as receitas de componentes e as regras. Seu layout, seu conteúdo e suas funcionalidades continuam seus. Receitas que não passaram na verificação contra o site ao vivo aparecem como sinalizadas no arquivo, então trate essas como aproximações.

Sim. Qualquer agente que consiga ler arquivos no seu repositório pode usar um DESIGN.md. Aponte para ele nas instruções que esse agente já lê, como AGENTS.md ou .github/copilot-instructions.md, ou cite o arquivo no seu prompt.

Sim. Cada página da galeria tem o DESIGN.md completo para copiar. Os arquivos da galeria são extraídos do site público de cada marca, não são diretrizes oficiais da marca. Para um site que não está na galeria, cole a URL dele na página inicial e faça uma extração.

Gere um DESIGN.md do site que você curte

Cole qualquer URL pública. Uma extração Pro analisa as principais páginas do site e devolve um DESIGN.md que seu agente consegue ler.

Ver todos os guias de DESIGN.md