¿Qué es DESIGN.md? El formato, su contenido y los errores más comunes

Cualquier guía sobre este tema describe el formato. Nosotros hemos analizado lo que la gente escribe realmente: 299 archivos DESIGN.md públicos extraídos de GitHub. La mayoría no es lo que cabría esperar, y la brecha entre el formato y la práctica es la parte más útil.

Actualizado 2026-07-27

¿Qué es DESIGN.md y de dónde viene?

DESIGN.md comenzó en Google Labs como el formato detrás de Stitch, su herramienta de generación de UI. Google publicó la especificación como código abierto y la especificación ahora reside en GitHub. Se extendió rápidamente más allá de Google: Atlassian publicó un relato sobre las pruebas de contexto de diseño portátil en la práctica, y surgió un ecosistema de catálogos a su alrededor.

La extensión .md es simplemente markdown. El archivo no tiene una sintaxis especial, ni un esquema contra el cual validar, ni un paso de compilación. Esto es deliberado: un agente lo lee de la misma manera que lee cualquier otro archivo de su repositorio.

Por qué un archivo en lugar de un prompt

Un agente de código al que se le pide construir una UI debe obtener sus valores visuales de algún lugar. A falta de una fuente, utiliza los valores predeterminados de la librería, que es por qué los productos creados con IA convergen en una misma apariencia. Puede proporcionar valores en un prompt, pero los prompts viven en una conversación y las conversaciones se degradan a medida que crecen.

Un archivo no se degrada. Ese es el mecanismo fundamental, y todo lo demás sobre el formato se deriva de ello.

El formato no es complejo. Simplemente reside en un lugar que se vuelve a leer, lo cual resulta ser la clave de todo el problema.

¿Qué contienen realmente los archivos DESIGN.md reales?

En lugar de suponer, hemos tomado una muestra. Extrajimos 299 archivos DESIGN.md de la raíz de repositorios mediante la búsqueda de código de GitHub y analizamos el contenido de cada uno. El primer resultado fue una sorpresa y redefine todo lo demás.

Solo el 24% de los archivos DESIGN.md públicos tratan sobre diseño

De 299 archivos, solo 72 incluían una sección de color o tipografía. El resto son documentos de arquitectura de software: cómo se construye un sistema, no cómo se ve un producto. DESIGN.md es una colisión de nombres de archivo, y el significado de diseño visual es actualmente el minoritario. Si añade uno a un repositorio, espere que algunos lectores lleguen buscando un documento de arquitectura.

Dentro de esos 72 archivos genuinos de diseño visual, el panorama es consistente. El archivo mediano tiene 1,337 palabras en 263 líneas, por lo que no son borradores simples: la gente está dedicando un esfuerzo real. Lo están aplicando a las mismas tres secciones y omitiendo las mismas cuatro.

Archivos que lo incluyen
Tipografía83%
Color67%
Componentes67%
Espaciado57%
Motivos o principios43%
Elevación26%
Movimiento25%
Lo que se debe y no se debe hacer24%
Accesibilidad22%
Radio21%
Iconografía10%
Cobertura de secciones en 72 archivos DESIGN.md públicos de diseño visual. La detección se basa en los encabezados y es deliberadamente generosa, por lo que estos datos representan un límite superior; la cobertura real es menor, no mayor.

El color y la tipografía son casi universales. El radio, la elevación, la iconografía y la accesibilidad son poco comunes. Y hay una omisión más grave que todas estas, porque es invisible hasta que alguien pulsa un interruptor.

El problema del modo oscuro: el 69% de los archivos lo omiten

De los 72 archivos de diseño visual que analizamos, 50 no contienen ningún modo oscuro: sin bloques .dark, sin prefers-color-scheme, sin un segundo conjunto de valores. Eso es el 69%.

Este es el vacío más crítico en la forma en que se aplica el formato, y falla silenciosamente. Todo parece correcto en modo claro. Entonces, el usuario cambia el tema y el agente tiene que inventar cada valor oscuro sobre la marcha: un fondo que nunca fue elegido, un primer plano cuyo contraste nunca se comprobó, un color de acento que se desvanece porque nadie aumentó su croma para un fondo oscuro.

El modo oscuro no es una inversión

Invertir la escala de luminosidad produce un tema oscuro donde el acento es un lavado pálido y la elevación deja de funcionar, ya que las sombras apenas se perciben en fondos oscuros. En su lugar, eleve las superficies en vez de profundizar las sombras, evite que el fondo sea negro puro, que el primer plano no llegue al blanco puro y aumente el croma del acento en lugar de reducirlo.

## 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 modos definidos conjuntamente. Esta es la mejora de mayor valor que puede añadir a un archivo existente.

Solo el 6% de los archivos analizados utilizan OKLCH. Vale la pena hacer el cambio específicamente aquí porque su canal de luminosidad es perceptualmente uniforme, por lo que puede cambiar un tono sin tener que volver a comprobar cada par de contraste.

¿Qué debe incluir un DESIGN.md, sección por sección?

Color: roles semánticos, ambos modos

La decisión más trascendental del archivo es nombrar por *rol* en lugar de por tono. --primary le indica al agente dónde va el valor; --blue-600 no. Los roles le permiten aplicar su sistema correctamente en situaciones que nunca anticipó y sobreviven a un cambio de marca.

El 86% de los archivos analizados no utilizan nombres de roles semánticos. Enumeran códigos hex o nombran los colores por su tono. Esa es la diferencia entre un archivo que un agente puede aplicar a un componente que nunca describió y un archivo del que solo puede copiar. La capa de tokens semánticos es la que realiza el trabajo real aquí.

Tipografía: familias, escala y función de cada una

Defina las familias, los pesos, el tracking y los pasos de la escala. El error común es escribir *una serif para encabezados, una sans para el cuerpo*; una instrucción que el agente debe resolver, y la resolverá de forma distinta 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.

Espaciado, radio, elevación

Una escala de espaciado, un radio que varíe según el tamaño del elemento y dos o tres niveles de elevación que coincidan con una fuente de luz. El radio solo está cubierto en el 21% de los archivos y la elevación en el 26%, razón por la cual gran parte de la UI generada tiene una esquina de 0.5rem en cada elemento, independientemente de su tamaño.

## 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 y prohibiciones: la parte que la mayoría de los archivos omiten

Los tokens indican al agente qué valores usar. No dicen nada sobre qué hacer cuando se encuentra con un componente que su archivo nunca mencionó. Los motivos y las prohibiciones cubren ese vacío, y son la diferencia entre un archivo que restringe el resultado y uno que simplemente le da color.

El 76% de los archivos no definen prohibiciones y el 57% no definen motivos. Estas son las dos secciones más sencillas de escribir y las dos que más a menudo faltan.

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

Tratamiento de componentes e iconografía

Cubra las primitivas que aportan más identidad: botones, inputs y tarjetas, con sus estados. No necesita incluir cada componente. La iconografía es la sección más sencilla del archivo y la más rara en la práctica, con un 10%: nombre la librería de iconos, el grosor del trazo, los pasos de tamaño y una línea sobre el tratamiento de imágenes.

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

¿Cuáles son los errores más comunes?

Más allá de las secciones faltantes, un modo de fallo aparece en más de la mitad del corpus: escribir un adjetivo donde debería ir un valor.

El 54% de los archivos analizados contienen al menos un adjetivo vago que sustituye a una decisión. Los más comunes fueron *clean* (39% de los archivos), *modern* (36%) y *professional* (22%), seguidos de *generous whitespace*, *elegant* y *beautiful*. Además, el 44% no contiene ningún valor concreto de espaciado o tamaño en ningún lugar del archivo.

La prueba para cada línea

Lea una línea y pregúntese si dos personas competentes producirían los mismos píxeles a partir de ella. 'Clean and modern' falla. '96px between sections on desktop' pasa. Cualquier elemento que falle es una decisión que aún no ha tomado, y el agente la tomará por usted, de forma distinta cada vez.

  1. Adjetivos en lugar de valores. El defecto más común, presente en más de la mitad de los archivos.
  2. Dark mode omitido. En el 69%, y falla silenciosamente.
  3. Colores nombrados por tono en lugar de por rol. En el 86%, y se rompe en cuanto el agente se encuentra con un componente que usted no describió.
  4. Sin prohibiciones. En el 76%. Las prohibiciones se siguen con más fiabilidad que las preferencias.
  5. Una sección que dice 'use your judgment'. Peor que no tener sección, porque devuelve exactamente la discreción que el resto del archivo intentaba restringir.

¿Dónde se ubica el archivo y cómo lo encuentran los agentes?

Colóquelo en la raíz del repositorio, junto a AGENTS.md. La raíz es fundamental: un DESIGN.md anidado en docs/ es un documento para humanos, y los agentes que buscan la convención miran en la raíz.

A continuación, haga referencia a él desde las instrucciones de su agente en una sola línea, para que sea descubierto en lugar de hallado por azar. Es un elemento hermano de esos archivos en lugar de un competidor: los cuatro archivos realizan tareas distintas.

# AGENTS.md

## Design
Never hardcode theme colors, spacing or radii. Use the tokens in DESIGN.md.
Defínalo como una prohibición. Las prohibiciones se siguen con más fiabilidad que las preferencias.

AGENTS.md es la convención más amplia para las instrucciones de los agentes y es leída por un conjunto creciente de herramientas. DESIGN.md contiene el contrato visual; AGENTS.md lo señala.

¿Cómo se ve un archivo completo cuando se renderiza?

Esta es la parte que omiten todos los demás tutoriales. Un DESIGN.md es tan bueno como la interfaz que produce, y las secciones anteriores no son una ilustración: son la forma serializada del kit que se muestra a continuación.

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

Los tokens, la tipografía y los motivos de las secciones anteriores, renderizados como un sistema en 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
El mismo archivo aplicado en tres superficies distintas. La coherencia entre contextos es lo que se consigue con un DESIGN.md.

¿Debe escribir uno a mano o generarlo?

Escrito a manoGenerado a partir de un kit
Es mejor cuandoYa existe una marca que transcribirSe parte de cero
Fallo habitualAdjetivos en lugar de valores; dark mode omitidoAceptar el primer resultado sin editar
Dark modeAusente en el 69% de los archivos realesDerivado junto con el modo claro
Motivos y prohibicionesOmitidos en el 57% y 76%Incluidos, merece la pena revisarlos
Ambos funcionan. Fallan de forma distinta.

Si lo escribe a mano, las dos secciones por las que debe obligarse a pasar son el dark mode y las prohibiciones. El corpus es inequívoco en que esas son las que la gente omite, y son las que determinan si el archivo restringe algo o no.

Obtenga un DESIGN.md completo con un solo comando

Cada kit de Identity Forge se serializa en un DESIGN.md completo —con design tokens para modo claro y oscuro, una combinación de fuentes real, motivos y restricciones— e instala los archivos de tokens junto a él. Los kits gratuitos no requieren cuenta.

Who created DESIGN.md?

Google Labs, como el formato detrás de su herramienta de generación de UI, Stitch. Google liberó la especificación como código abierto, que ahora se encuentra en github.com/google-labs-code/design.md. Su adopción se ha extendido mucho más allá de Google; Atlassian ha publicado su propio relato sobre cómo lo utiliza.

¿Qué significa la extensión .md en DESIGN.md?

Simplemente markdown. No hay sintaxis especial, ni esquema, ni paso de compilación. El archivo es markdown puro, por lo que un agente lo lee exactamente igual que cualquier otro archivo del repositorio.

¿Es DESIGN.md un estándar oficial?

Es una especificación publicada y de código abierto con un origen claro, más que un estándar ratificado. En la práctica, las herramientas coinciden en la estructura —un archivo markdown de valores visuales en la raíz del repositorio— y varían en qué secciones leen.

¿Dónde debe ubicarse el archivo?

En la raíz del repositorio, junto a AGENTS.md. Un archivo DESIGN.md ubicado en docs/ se interpreta como documentación para humanos; los agentes que siguen esta convención buscan el archivo en la raíz.

¿Qué longitud debe tener?

La mediana de los archivos públicos es de 1,337 palabras. La longitud no es lo importante, sino la exhaustividad. Un archivo de 400 palabras con ambos modos de color, una escala tipográfica y cinco prohibiciones es mejor que un archivo de 2,000 palabras lleno de adjetivos.

¿Puedo copiar el DESIGN.md de otra persona?

Puede hacerlo, pero obtendrá la marca de esa persona. Es una forma razonable de estudiar el formato, pero una forma deficiente de definir una identidad. Copie la estructura y genere los valores a partir de su propia marca.

¿Sustituye a un sistema de diseño?

Es la proyección de un sistema de diseño legible para el agente. Si dispone de librerías de Figma y una librería de componentes, DESIGN.md es el medio por el cual sus decisiones llegan a un agente de código, no un sustituto de estas.

¿Qué pasa si mi agente lo ignora?

Verifique tres cosas en orden: que se haga referencia a él desde AGENTS.md, que esté redactado como una prohibición en lugar de una preferencia y que los valores sean realmente valores. La mayoría de los informes de «archivos ignorados» resultan ser un archivo lleno de adjetivos.