O que é o DESIGN.md? O formato, o que incluir e os erros mais comuns

Todo guia sobre o assunto descreve o formato. Nós fomos além e analisamos o que as pessoas realmente escrevem: 299 arquivos DESIGN.md públicos extraídos do GitHub. A maioria não é o que você esperaria, e a lacuna entre o formato e a prática é a parte mais útil.

Atualizado 2026-07-27

O que é o DESIGN.md e de onde ele veio?

O DESIGN.md começou no Google Labs como o formato por trás do Stitch, sua ferramenta de geração de UI. O Google abriu a especificação e a spec agora reside no GitHub. Ela se espalhou rapidamente além do Google: a Atlassian publicou um relato sobre a testagem de contextos de design portáteis na prática, e um ecossistema de catálogos cresceu ao seu redor.

O .md é simplesmente markdown. O arquivo não possui sintaxe especial, nenhum schema para validação e nenhuma etapa de build. Isso é deliberado: um agente o lê da mesma forma que lê qualquer outro arquivo no seu repositório.

Por que um arquivo em vez de um prompt

Um agente de código encarregado de construir a UI precisa obter seus valores visuais de algum lugar. Na ausência de uma fonte, ele usa os padrões da biblioteca — e é por isso que produtos criados por IA convergem para a mesma aparência. Você pode fornecer valores em um prompt, mas prompts vivem em uma conversa, e conversas se degradam à medida que crescem.

Um arquivo não se degrada. Esse é todo o mecanismo, e tudo mais sobre o formato deriva disso.

O formato não é complexo. Ele apenas reside em um lugar que é relido constantemente, o que acaba sendo a solução para todo o problema.

O que arquivos DESIGN.md reais realmente contêm?

Em vez de presumir, nós amostramos. Extraímos 299 arquivos DESIGN.md da raiz de repositórios via busca de código do GitHub e medimos o que havia em cada um. O primeiro resultado foi surpreendente e ressignifica todo o resto.

Apenas 24% dos arquivos DESIGN.md públicos são sobre design

De 299 arquivos, apenas 72 possuíam uma seção de cores ou tipografia. O restante são documentos de arquitetura de software — como um sistema é construído, não como um produto se parece. DESIGN.md é uma colisão de nomes de arquivos, e o significado de design visual é atualmente a minoria. Se você adicionar um ao repositório, espere que alguns leitores cheguem esperando um documento de arquitetura.

Dentro desses 72 arquivos genuínos de design visual, o cenário é consistente. O arquivo mediano tem 1.337 palavras em 263 linhas, portanto não são apenas esboços — as pessoas estão dedicando esforço real. Elas estão focando nas mesmas três seções e ignorando as mesmas quatro.

Arquivos que o cobrem
Tipografia83%
Cor67%
Componentes67%
Espaçamento57%
Motivos ou princípios43%
Elevação26%
Movimento25%
O que fazer e o que não fazer24%
Acessibilidade22%
Raio21%
Iconografia10%
Cobertura de seções em 72 arquivos DESIGN.md públicos de design visual. A detecção é baseada em cabeçalhos e deliberadamente generosa, portanto, estes são o limite superior — a cobertura real é menor, não maior.

Cores e tipografia são quase universais. Raio, elevação, iconografia e acessibilidade são raros. E há uma omissão maior do que todas essas, pois ela é invisível até que alguém mude uma chave.

O problema do modo escuro: 69% dos arquivos o ignoram

Dos 72 arquivos de design visual que analisamos, 50 não contêm modo escuro — sem bloco .dark, sem prefers-color-scheme, sem um segundo conjunto de valores. Isso representa 69%.

Esta é a lacuna mais consequente no formato como ele é praticado, e ela falha silenciosamente. Tudo parece correto no modo claro. Então, o usuário alterna o tema e o agente precisa inventar cada valor escuro na hora: um fundo que nunca foi escolhido, um primeiro plano que nunca teve o contraste verificado, um destaque que desaparece porque ninguém aumentou seu croma para um fundo escuro.

Modo escuro não é uma inversão

Inverter a escala de luminosidade produz um tema escuro onde o destaque é pálido e a elevação deixa de funcionar, pois as sombras mal são percebidas em fundos escuros. Em vez de aprofundar as sombras, eleve as superfícies; mantenha o fundo longe do preto puro, o primeiro plano longe do branco puro e aumente o croma do destaque em vez de diminuí-lo.

## Color

### Light
--background: oklch(0.98 0.006 85)
--foreground: oklch(0.22 0.014 85)
--card:       oklch(1 0 0)
--muted-foreground: oklch(0.48 0.012 85)
--primary:    oklch(0.52 0.13 152)
--border:     oklch(0.90 0.008 85)

### Dark
--background: oklch(0.17 0.010 85)   /* not pure black */
--foreground: oklch(0.95 0.006 85)   /* not pure white */
--card:       oklch(0.22 0.010 85)   /* raised, not shadowed */
--muted-foreground: oklch(0.70 0.010 85)
--primary:    oklch(0.68 0.16 152)   /* higher chroma to survive the dark ground */
--border:     oklch(0.30 0.010 85)
Ambos os modos declarados juntos. Esta é a adição de maior valor que você pode fazer a um arquivo existente.

Apenas 6% dos arquivos analisados usam OKLCH. Vale a pena a mudança especificamente porque seu canal de luminosidade é perceptualmente uniforme, permitindo alterar um matiz sem precisar re-verificar cada par de contraste.

O que deve constar em um DESIGN.md, seção por seção?

Cores — papéis semânticos, ambos os modos

A decisão mais consequente no arquivo é nomear por *papel* (role) em vez de matiz. --primary diz ao agente onde o valor deve ser aplicado; --blue-600 não. Os papéis permitem que ele aplique seu sistema corretamente em situações que você nunca previu e sobrevivem a um rebrand.

86% dos arquivos analisados não usam nomes de papéis semânticos. Eles listam hexadecimais ou nomeiam cores por matiz. Essa é a diferença entre um arquivo que o agente consegue aplicar a um componente que você nunca descreveu e um arquivo do qual ele consegue apenas copiar. A camada de tokens semânticos é quem faz o trabalho real aqui.

Tipografia — famílias, escala e a função de cada uma

Nomeie as famílias, os pesos, o tracking e os degraus da escala. A falha comum é escrever *uma serifada para títulos, uma sans para o corpo* — uma instrução que o agente precisa resolver, e ele a resolverá de forma diferente a cada vez.

## Typography

Heading: "Fraunces", serif — 600, tracking -0.02em
Body:    "Inter", sans-serif — 400, line-height 1.6
Mono:    "JetBrains Mono" — 400, tabular figures in tables

Scale: 0.8125 / 0.875 / 1 / 1.25 / 1.5 / 2 / 3rem
H1 uses 3rem at 1.05 line-height; body copy never exceeds 68ch.
Preview unavailable here. Browse complete kits in the kit gallery.

Espaçamento, raio, elevação

Uma escala de espaçamento, raio que varia conforme o tamanho do elemento e dois ou três níveis de elevação que concordem com uma fonte de luz. O raio é coberto por apenas 21% dos arquivos e a elevação por 26%, razão pela qual tantas UIs geradas apresentam um canto de 0.5rem em cada elemento, independentemente do tamanho.

## Spacing
Scale: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96px
Section rhythm: 96px desktop, 64px mobile.

## Radius
sm 0.25rem (inputs) · md 0.5rem (buttons) · lg 0.875rem (cards) · xl 1.25rem (modals)

## Elevation
0 flush — use a border, no shadow
1 cards — 0 1px 2px rgb(0 0 0 / 0.06)
2 dropdowns — 0 4px 12px rgb(0 0 0 / 0.08)
Dark mode: raise the surface, do not deepen the shadow.

Motivos e proibições — a parte que a maioria dos arquivos ignora

Tokens dizem ao agente quais valores usar. Eles não dizem nada sobre o que fazer ao encontrar um componente que seu arquivo nunca mencionou. Motivos e proibições preenchem essa lacuna, e são a diferença entre um arquivo que restringe o resultado e um que apenas o colore.

76% dos arquivos não declaram proibições e 57% não declaram motivos. Estas são as duas seções mais simples de escrever e as duas mais ausentes.

## Motifs
- Hairline rules separate sections; no boxed cards on marketing pages.
- Numerals are tabular everywhere they can be compared.
- One accent per screen. If two things compete, one becomes muted.

## Don't
- No gradient text, ever.
- No shadow on a flush surface — use --border.
- Never hardcode a hex. If a role is missing, add the role.

Tratamento de componentes e iconografia

Cubra as primitivas que carregam mais identidade: botões, inputs e cards, com seus estados. Você não precisa de todos os componentes. A iconografia é a seção mais simples do arquivo e a mais rara na prática, com 10% — nomeie a biblioteca de ícones, a espessura do traço, os degraus de tamanho e inclua uma linha sobre o tratamento de imagens.

Preview unavailable here. Browse complete kits in the kit gallery.

Quais são os erros mais comuns?

Além das seções ausentes, um modo de falha aparece em mais da metade do corpus: escrever um adjetivo onde deveria estar um valor.

54% dos arquivos que analisamos contêm pelo menos um adjetivo vago substituindo uma decisão. Os mais comuns foram *clean* (39% dos arquivos), *modern* (36%) e *professional* (22%), seguidos por *generous whitespace*, *elegant* e *beautiful*. Além disso, 44% não contêm nenhum valor concreto de espaçamento ou tamanho em lugar nenhum do arquivo.

O teste para cada linha

Leia uma linha e pergunte se duas pessoas competentes produziriam os mesmos pixels a partir dela. 'Clean and modern' falha. '96px entre seções no desktop' passa. Qualquer coisa que falhe ainda é uma decisão que você não tomou, e o agente a tomará por você — de forma diferente a cada vez.

  1. Adjetivos em vez de valores. O defeito mais comum, presente em mais da metade dos arquivos.
  2. Dark mode omitido. Em 69%, e a falha ocorre silenciosamente.
  3. Cores nomeadas por matiz em vez de função. Em 86%, e isso quebra no momento em que o agente encontra um componente que você não descreveu.
  4. Sem proibições. Em 76%. Proibições são seguidas com mais rigor do que preferências.
  5. Uma seção que diz 'use seu julgamento'. Pior do que a ausência de uma seção, pois devolve exatamente a discricionariedade que o restante do arquivo tentava retirar.

Onde o arquivo deve ficar e como os agentes o encontram?

Coloque-o na raiz do repositório, ao lado do AGENTS.md. A raiz é fundamental: um DESIGN.md aninhado em docs/ é um documento para humanos, e os agentes que buscam a convenção olham para a raiz.

Depois, referencie-o nas instruções do seu agente em uma única linha, para que ele seja descoberto em vez de encontrado por acaso. Ele é um complemento desses arquivos, não um concorrente — os quatro arquivos desempenham funções diferentes.

# AGENTS.md

## Design
Never hardcode theme colors, spacing or radii. Use the tokens in DESIGN.md.
Declare como uma proibição. Proibições são seguidas com mais rigor do que preferências.

AGENTS.md é a convenção mais ampla para instruções de agentes e é lido por um conjunto crescente de ferramentas. O DESIGN.md detém o contrato visual; o AGENTS.md aponta para ele.

Como fica um arquivo completo quando renderizado?

Esta é a parte que todos os outros tutoriais omitem. Um DESIGN.md é tão bom quanto a interface que ele produz, e as seções acima não são uma ilustração — elas são a forma serializada do kit abaixo.

Terrain Vivant

Live render

Rendered from the kit's actual tokens, fonts, and treatments

Terrain Vivant/Dashboard
Search...⌘K
TV

Dashboard

Welcome back — here's how Terrain Vivant is performing today.

Jan 1 – Jan 30, 2026
Overview
Analytics
Reports
Notifications

Active users

12.6k

+4%

Trending up this month

vs. previous 30 days

MRR

$64.6k

+12%

Strong recurring growth

Net of churn

Retention

94%

+1%

Engagement above target

Rolling 28-day window

NPS

54

+6

Meets growth projections

Survey · n=1,204

Total revenue

Last 12 months

$64.6k+18.2%

12m30d7d
JanFebMarAprMayJunJulAugSepOctNovDec

Recent sales

You closed 265 deals this month.

AR

Alex Rivera

alex@terrainvivant.com

+$1,999.00
MO

Mira Okonkwo

mira@terrainvivant.com

+$39.00
JF

Jonas Feld

jonas@terrainvivant.com

+$299.00
SQ

Sana Qureshi

sana@terrainvivant.com

+$99.00
TL

Theo Lindgren

theo@terrainvivant.com

+$2,400.00

Recent transactions

View all
CustomerStatusDateAmount
AR

Alex Rivera

Founder & CEO

Paid2m ago$1,999.00
MO

Mira Okonkwo

Head of Product

Pending1h ago$39.00
JF

Jonas Feld

Design Lead

Processing3h ago$299.00
SQ

Sana Qureshi

Engineering Lead

PaidYesterday$99.00
TL

Theo Lindgren

Brand Director

Refunded2d ago$2,400.00

Typography

Space Mono

Color system

28 semantic roles, light + dark

Agent outputs

DESIGN.md, CSS, Tailwind, shadcn

Os tokens, tipografia e motivos das seções acima, renderizados como um sistema vivo.

Kit showcase · live surfaces

Terrain Vivant

Live render

Terrain Vivant rendered from its real tokens across 3 surfaces.

Landing pageFull marketing page — hero, social proof, features, a metrics/graph section, and CTA — as alternating full-bleed bands in the kit's captured surfaces. Scroll to explore.
TV
Terrain Vivant
Sign in
Institutional, report, and campaign microsite teams

Sample headline

Supporting copy goes here.

terrainvivant.com/overview

Active users

12.6k

+4%

MRR

$64.6k

+12%

Retention

94%

+1%

Trusted by teams atNorthwindLumenCedarVertexHalcyon

Why Terrain Vivant

Everything you need to ship

Brochure websites

Clear defaults keep every screen consistent from first draft to launch.

Annual reports

Accessible components and visible states are built into the system.

Event microsites

Reusable patterns give product, marketing, and content one visual language.

By the numbers

Growth you can measure

Live

Monthly recurring revenue

$64.6k+12%

Targets

Active users12.6k
MRR$64.6k
Retention94%
All targets on track this quarter

Activity

Last 12 months of usage

Retention 94%NPS 54
JFMAMJJASOND

Start building with Terrain Vivant today

A bold two-color institutional editorial system built on vivid green and cobalt blue full-screen surfaces, with monospace type throughout and zero-radius geometry.

TV
Terrain Vivant

terrainvivant.com

Product

  • Features
  • Pricing
  • Changelog

Company

  • About
  • Careers
  • Contact

Resources

  • Docs
  • Guides
  • Status

© 2026 Terrain Vivant. All rights reserved.

App dashboardProduct UI: sidebar, KPI cards, area chart, recent sales, and a transactions table.
Terrain Vivant/Dashboard
Search...⌘K
TV

Dashboard

Welcome back — here's how Terrain Vivant is performing today.

Jan 1 – Jan 30, 2026
Overview
Analytics
Reports
Notifications

Active users

12.6k

+4%

Trending up this month

vs. previous 30 days

MRR

$64.6k

+12%

Strong recurring growth

Net of churn

Retention

94%

+1%

Engagement above target

Rolling 28-day window

NPS

54

+6

Meets growth projections

Survey · n=1,204

Total revenue

Last 12 months

$64.6k+18.2%

12m30d7d
JanFebMarAprMayJunJulAugSepOctNovDec

Recent sales

You closed 265 deals this month.

AR

Alex Rivera

alex@terrainvivant.com

+$1,999.00
MO

Mira Okonkwo

mira@terrainvivant.com

+$39.00
JF

Jonas Feld

jonas@terrainvivant.com

+$299.00
SQ

Sana Qureshi

sana@terrainvivant.com

+$99.00
TL

Theo Lindgren

theo@terrainvivant.com

+$2,400.00

Recent transactions

View all
CustomerStatusDateAmount
AR

Alex Rivera

Founder & CEO

Paid2m ago$1,999.00
MO

Mira Okonkwo

Head of Product

Pending1h ago$39.00
JF

Jonas Feld

Design Lead

Processing3h ago$299.00
SQ

Sana Qureshi

Engineering Lead

PaidYesterday$99.00
TL

Theo Lindgren

Brand Director

Refunded2d ago$2,400.00
Component sheetButtons, inputs, badges, controls — all shadcn, all themed.

Terrain Vivant UI

Every shadcn component, themed by this kit.

Buttons

Badges

Default
Secondary
Outline
SuccessWarning

Avatar / chips

TV
editorialinstitutionalflat

Form

Controls

Feedback

Onboarding72%

Sample headline

A bold two-color institutional editorial system built on vivid green and cobalt blue full-screen surfaces, with monospace type throughout and zero-radius geometry.

Tabs

AccountTeamBilling

Manage your account settings and preferences.

Alert

Heads up

Your trial ends in 7 days. Upgrade to keep access.

Tooltip

Add to library
O mesmo arquivo aplicado em três superfícies. Coerência entre contextos é o que um DESIGN.md proporciona.

Você deve escrever um manualmente ou gerá-lo?

Escrito à mãoGerado a partir de um kit
Melhor quandoJá existe uma marca para transcreverComeçando do zero
Falha comumAdjetivos em vez de valores; dark mode omitidoAceitar o primeiro resultado sem editar
Dark modeAusente em 69% dos arquivos reaisDerivado junto com o light mode
Motivos e proibiçõesIgnorados em 57% e 76%Incluídos, vale revisar
Ambos funcionam. Eles falham de formas diferentes.

Se você escrever à mão, as duas seções que deve se forçar a preencher são o dark mode e as proibições. O corpus é inequívoco ao mostrar que essas são as partes que as pessoas pulam, e são elas que determinam se o arquivo realmente impõe restrições.

Obtenha um DESIGN.md completo com um único comando

Cada kit do Identity Forge é serializado em um DESIGN.md completo — tokens light e dark, combinações reais de fontes, motivos e o que evitar — e instala os arquivos de tokens junto a ele. Kits gratuitos não exigem conta.

Who created DESIGN.md?

O Google Labs, como o formato por trás de sua ferramenta de geração de UI, o Stitch. O Google tornou a especificação open source, que agora reside em github.com/google-labs-code/design.md. A adoção se espalhou muito além do Google — a Atlassian publicou seu próprio relato sobre o uso do formato.

O que significa o .md em DESIGN.md?

Apenas markdown. Não há sintaxe especial, nem schema, nem etapa de build. O arquivo é markdown puro, portanto, um agente o lê exatamente como lê qualquer outra coisa no repositório.

O DESIGN.md é um padrão oficial?

É uma especificação publicada e open source com uma origem clara, em vez de um padrão ratificado. Na prática, as ferramentas concordam com a estrutura — um arquivo markdown de valores visuais na raiz do repositório — e variam em quais seções leem.

Onde o arquivo deve ficar?

A raiz do repositório, ao lado do AGENTS.md. Um DESIGN.md aninhado em docs/ é interpretado como documentação para humanos; agentes que buscam por essa convenção procuram na raiz.

Qual deve ser a extensão do arquivo?

A mediana dos arquivos públicos é de 1.337 palavras. O comprimento não é o ponto central — a completude sim. Um arquivo de 400 palavras com ambos os modos de cor, uma escala tipográfica e cinco proibições é melhor que um arquivo de 2.000 palavras cheio de adjetivos.

Posso copiar o DESIGN.md de outra pessoa?

Você pode, mas terá a marca dela. É uma maneira razoável de estudar o formato e uma maneira ruim de chegar a uma identidade. Copie a estrutura, gere os valores a partir da sua própria marca.

Ele substitui um design system?

Ele é a projeção de um design system legível por agentes. Se você possui bibliotecas no Figma e uma biblioteca de componentes, o DESIGN.md é a forma como as decisões tomadas nelas chegam a um agente de código — e não um substituto para elas.

E se o meu agente ignorá-lo?

Verifique três coisas em ordem: se ele é referenciado no AGENTS.md, se está redigido como uma proibição em vez de uma preferência e se os valores são, de fato, valores. A maioria dos relatos de 'arquivos ignorados' acaba sendo apenas um arquivo cheio de adjetivos.