Was ist DESIGN.md und woher kommt es?
DESIGN.md begann bei Google Labs als Format hinter Stitch, einem Tool zur UI-Generierung. Google hat die Spezifikation als Open Source veröffentlicht, und die Spec liegt nun auf GitHub. Sie verbreitete sich schnell über Google hinaus: Atlassian veröffentlichte einen Bericht über Tests zu portablem Design-Kontext in der Praxis, und es entstand ein entsprechendes Katalog-Ökosystem.
Das .md steht schlicht für Markdown. Die Datei hat keine spezielle Syntax, kein zu validierendes Schema und keinen Build-Schritt. Das ist beabsichtigt: Ein Agent liest sie genau so, wie er jede andere Datei in Ihrem Repository liest.
Warum eine Datei statt eines Prompts
Ein Coding-Agent, der eine UI erstellen soll, muss die visuellen Werte irgendwoher beziehen. Fehlt eine Quelle, nutzt er die Standardwerte der Library, weshalb KI-generierte Produkte oft gleich aussehen. Man kann Werte in einem Prompt angeben, aber Prompts existieren innerhalb einer Konversation, und Konversationen verlieren an Präzision, je länger sie werden.
Eine Datei verliert nicht an Präzision. Das ist der Kern des Mechanismus, und alles andere am Format leitet sich daraus ab.
Das Format ist nicht komplex. Es liegt einfach an einem Ort, der immer wieder neu gelesen wird – und genau darin liegt die Lösung des Problems.
Was enthalten echte DESIGN.md-Dateien tatsächlich?
Statt zu mutmaßen, haben wir Stichproben gezogen. Wir haben 299 DESIGN.md-Dateien aus dem Root-Verzeichnis via GitHub-Code-Suche extrahiert und analysiert. Das erste Ergebnis war überraschend und rückt alles andere in ein neues Licht.
Nur 24 % der öffentlichen DESIGN.md-Dateien behandeln Design
Von 299 Dateien enthielten nur 72 einen Abschnitt zu Farben oder Typografie. Der Rest sind Dokumente zur Software-Architektur: wie ein System aufgebaut ist, nicht wie ein Produkt aussieht. DESIGN.md ist ein Fall von Namenskollision, und die Bedeutung im Sinne des visuellen Designs ist derzeit in der Minderheit. Wenn Sie eine solche Datei zu einem Repository hinzufügen, sollten Sie damit rechnen, dass einige Leser ein Architektur-Dokument erwarten.
Innerhalb dieser 72 echten Visual-Design-Dateien ist das Bild konsistent. Die mittlere Dateigröße liegt bei 1.337 Wörtern auf 263 Zeilen – es handelt sich also nicht um bloße Entwürfe; hier steckt echte Arbeit drin. Diese Arbeit fließt jedoch in dieselben drei Abschnitte, während dieselben vier konsequent ausgelassen werden.
| Dateien mit Abdeckung | |
|---|---|
| Typografie | 83% |
| Farbe | 67% |
| Komponenten | 67% |
| Spacing | 57% |
| Motive oder Prinzipien | 43% |
| Elevation | 26% |
| Motion | 25% |
| Do's and don'ts | 24% |
| Barrierefreiheit | 22% |
| Radius | 21% |
| Ikonografie | 10% |
Farbe und Typografie sind nahezu universell. Radius, Elevation, Ikonografie und Barrierefreiheit sind selten. Und ein Versäumnis wiegt schwerer als all diese, da es unsichtbar bleibt, bis jemand einen Schalter umlegt.
Das Dark-Mode-Problem: 69% der Dateien lassen ihn aus
Von den 72 analysierten Visual-Design-Dateien enthalten 50 keinerlei Dark Mode: keinen .dark-Block, kein prefers-color-scheme, keinen zweiten Satz an Werten. Das sind 69%.
Dies ist die folgenschwerste Lücke in der gängigen Praxis, und sie führt zu stillen Fehlern. Im Light Mode sieht alles korrekt aus. Sobald ein Nutzer jedoch das Theme umschaltet, muss der Agent jeden Dark-Mode-Wert spontan erfinden: einen Hintergrund, der nie ausgewählt wurde, einen Vordergrund, dessen Kontrast nie geprüft wurde, und einen Akzent, der verblasst, weil niemand die Chroma für einen dunklen Untergrund erhöht hat.
Dark Mode ist keine Invertierung
Die Invertierung der Helligkeitsskala erzeugt ein dunkles Theme, bei dem der Akzent blass wirkt und die Elevation nicht mehr funktioniert, da Schatten auf dunklen Hintergründen kaum wahrnehmbar sind. Erhöhen Sie stattdessen die Oberflächen, anstatt die Schatten zu vertiefen; vermeiden Sie reines Schwarz für den Hintergrund und reines Weiß für den Vordergrund, und steigern Sie die Chroma der Akzentfarben, anstatt sie zu senken.
## 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)Nur 6% der analysierten Dateien verwenden OKLCH. Der Wechsel lohnt sich hier insbesondere deshalb, weil der Helligkeitskanal wahrnehmungsuniform ist. So kann ein Farbton geändert werden, ohne jedes Kontrastpaar erneut prüfen zu müssen.
Was gehört in eine DESIGN.md, Abschnitt für Abschnitt?
Farbe: semantische Rollen, beide Modi
Die folgenschwerste Entscheidung in der Datei ist die Benennung nach *Rolle* statt nach Farbton. --primary sagt einem Agenten, wo der Wert hingehört; --blue-600 nicht. Rollen ermöglichen es ihm, Ihr System auch in Situationen korrekt anzuwenden, die Sie nie vorhergesehen haben, und sie überstehen ein Rebranding.
86% der analysierten Dateien verwenden keine semantischen Rollennamen. Sie listen Hex-Werte auf oder benennen Farben nach ihrem Farbton. Das ist der Unterschied zwischen einer Datei, die ein Agent auf eine nie beschriebene Komponente anwenden kann, und einer Datei, aus der er nur kopieren kann. Die semantische Token-Ebene leistet hier die eigentliche Arbeit.
Typografie: Schriftfamilien, Skalierung und deren Funktion
Benennen Sie die Schriftfamilien, die Schriftschnitte, das Tracking und die Skalierungsschritte. Ein häufiger Fehler ist die Formulierung *eine Serifenschrift für Überschriften, eine Sans-Serif für den Fließtext*. Dies ist eine Anweisung, die der Agent selbst auflösen muss – und er wird dies jedes Mal anders tun.
## 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.Spacing, Radius, Elevation
Eine Spacing-Skala, ein Radius, der mit der Elementgröße variiert, und zwei oder drei Elevationsstufen, die auf einer gemeinsamen Lichtquelle basieren. Der Radius wird nur in 21% der Dateien abgedeckt und die Elevation in 26%. Deshalb weisen so viele generierte UIs an jedem Element unabhängig von der Größe den gleichen 0.5rem Eckenradius auf.
## 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.Motive und Don'ts: der Teil, den die meisten Dateien auslassen
Tokens sagen einem Agenten, welche Werte zu verwenden sind. Sie sagen jedoch nichts darüber aus, was zu tun ist, wenn er auf eine Komponente stößt, die in Ihrer Datei nie erwähnt wurde. Motive und Verbote schließen diese Lücke; sie entscheiden darüber, ob eine Datei die Ausgabe präzise einschränkt oder sie lediglich einfärbt.
76% der Dateien enthalten keine Verbote und 57% keine Motive. Dies sind die zwei am einfachsten zu schreibenden Abschnitte und gleichzeitig die zwei am häufigsten fehlenden.
## 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.Komponenten-Styling und Ikonografie
Definieren Sie die Primitiven, die am stärksten zur Identität beitragen: Buttons, Inputs und Cards inklusive ihrer Zustände. Sie müssen nicht jede Komponente aufführen. Die Ikonografie ist der kürzeste Abschnitt der Datei und in der Praxis mit 10% am seltensten: Benennen Sie die Icon-Library, die Strichstärke, die Größenschritte und geben Sie eine Zeile zur Bildbehandlung an.
Was sind die häufigsten Fehler?
Neben den fehlenden Abschnitten zeigt sich in über der Hälfte des Korpus ein Fehlerbild: Es wird ein Adjektiv verwendet, wo eigentlich ein Wert stehen sollte.
54 % der von uns gemessenen Dateien enthalten mindestens ein vages Adjektiv anstelle einer Entscheidung. Die häufigsten waren *clean* (39 % der Dateien), *modern* (36 %) und *professional* (22 %), gefolgt von *generous whitespace*, *elegant* und *beautiful*. Zudem enthalten 44 % der Dateien an keiner Stelle einen konkreten Abstands- oder Größenwert.
Der Test für jede Zeile
Lesen Sie eine Zeile und fragen Sie sich, ob zwei kompetente Personen daraus dieselben Pixel erzeugen würden. „Clean and modern“ scheitert. „96px between sections on desktop“ besteht. Alles, was scheitert, ist eine Entscheidung, die Sie noch nicht getroffen haben, und der Agent wird sie für Sie treffen: jedes Mal anders.
- Adjektive statt Werte. Der häufigste Fehler, der in über der Hälfte der Dateien auftritt.
- Dark mode vergessen. In 69 % der Fälle, und er scheitert lautlos.
- Farben nach Farbton statt nach Rolle benannt. In 86 % der Fälle, und es führt zu Problemen, sobald der Agent auf eine Komponente trifft, die Sie nicht beschrieben haben.
- Keine Verbote. In 76 % der Fälle. Verbote werden zuverlässiger befolgt als Präferenzen.
- Ein Abschnitt mit der Anweisung „nutzen Sie Ihr Urteilsvermögen“. Schlimmer als gar kein Abschnitt, da er genau die Entscheidungsfreiheit zurückgibt, die der Rest der Datei eigentlich einschränken sollte.
Wo wird die Datei abgelegt und wie finden Agenten sie?
Platzieren Sie sie im Repository-Root, direkt neben AGENTS.md. Der Root-Ordner ist entscheidend: Eine DESIGN.md, die in docs/ verschachtelt ist, ist ein Dokument für Menschen, während Agenten, die nach der Konvention suchen, im Root nachsehen.
Referenzieren Sie sie dann in einer Zeile in Ihren Agent-Anweisungen, damit sie entdeckt wird, anstatt nur zufällig gefunden zu werden. Sie ist ein Geschwisterelement zu diesen Dateien und kein Konkurrent: die vier Dateien erfüllen unterschiedliche Aufgaben.
# AGENTS.md
## Design
Never hardcode theme colors, spacing or radii. Use the tokens in DESIGN.md.AGENTS.md ist die umfassendere Konvention für Agent-Anweisungen und wird von einer wachsenden Anzahl von Tools gelesen. DESIGN.md enthält den visuellen Vertrag; AGENTS.md verweist darauf.
Wie sieht eine vollständige Datei im gerenderten Zustand aus?
Dies ist der Teil, den jeder andere Erklärer weglässt. Eine DESIGN.md ist nur so gut wie die Schnittstelle, die sie erzeugt, und die obigen Abschnitte sind keine Illustration. Sie sind die serialisierte Form des untenstehenden Kits.
Terrain Vivant
Live renderRendered from the kit's actual tokens, fonts, and treatments
Typography
Space Mono
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
Kit showcase · live surfaces
Terrain Vivant
Live renderTerrain Vivant rendered from its real tokens across 3 surfaces.
Sollten Sie eine manuell schreiben oder eine generieren?
| Manuell geschrieben | Aus einem Kit generiert | |
|---|---|---|
| Am besten geeignet, wenn | Bereits eine Marke zur Transkription existiert | Man bei Null anfängt |
| Typischer Fehler | Adjektive statt Werte; Dark mode vergessen | Das erste Ergebnis ohne Bearbeitung akzeptieren |
| Dark mode | In 69 % der echten Dateien fehlend | Parallel zum Light Mode abgeleitet |
| Motive und Verbote | In 57 % und 76 % übersprungen | Enthalten, lohnt sich die Überprüfung |
Wenn Sie sie manuell schreiben, sind die zwei Abschnitte, die Sie zwingend bearbeiten sollten, der Dark mode und die Verbote. Der Korpus zeigt eindeutig, dass dies die Punkte sind, die Menschen überspringen, und sie entscheiden darüber, ob die Datei überhaupt Einschränkungen vorgibt.
Eine vollständige DESIGN.md mit einem einzigen Befehl erstellen
Jedes Identity Forge Kit lässt sich in eine vollständige DESIGN.md serialisieren (Light- und Dark-Tokens, ein echtes Font-Pairing, Motive und Don'ts) und installiert die Token-Dateien direkt daneben. Kostenlose Kits erfordern kein Konto.
Wer hat DESIGN.md erstellt?
Google Labs, als Format für das UI-Generierungstool Stitch. Google hat die Spezifikation als Open Source veröffentlicht; sie ist nun unter github.com/google-labs-code/design.md zu finden. Die Adaption hat sich weit über Google hinaus verbreitet. Atlassian hat einen eigenen Bericht über die Nutzung veröffentlicht.
Was bedeutet das .md in DESIGN.md?
Einfach Markdown. Es gibt keine spezielle Syntax, kein Schema und keinen Build-Schritt. Die Datei ist reines Markdown, sodass ein Agent sie genau so liest wie alles andere im Repository.
Ist DESIGN.md ein offizieller Standard?
Es handelt sich um eine veröffentlichte Open-Source-Spezifikation mit einem klaren Ursprung und nicht um einen ratifizierten Standard. In der Praxis einigen sich Tools auf die Struktur – eine Markdown-Datei mit visuellen Werten im Root-Verzeichnis des Repositories – wobei sie variieren, welche Abschnitte sie auslesen.
Wo sollte die Datei liegen?
Im Root-Verzeichnis des Repositories, neben AGENTS.md. Eine DESIGN.md in docs/ wird als Dokumentation für Menschen interpretiert; Agents, die nach der Konvention suchen, schauen in das Root-Verzeichnis.
Wie lang sollte sie sein?
Die mediane Länge öffentlicher Dateien beträgt 1.337 Wörter. Die Länge ist nicht entscheidend, sondern die Vollständigkeit. Eine 400-Wörter-Datei mit beiden Farbmodi, einer Typografie-Skala und fünf Verboten ist wertvoller als eine 2.000-Wörter-Datei voller Adjektive.
Kann ich die DESIGN.md von jemand anderem kopieren?
Das ist möglich, führt aber dazu, dass man deren Brand übernimmt. Es ist ein guter Weg, um das Format zu studieren, aber ein schlechter Weg, um eine eigene Identität zu entwickeln. Kopieren Sie die Struktur, aber generieren Sie die Werte basierend auf Ihrer eigenen Marke.
Ersetzt sie ein Designsystem?
Sie ist die für Agents lesbare Projektion eines Designsystems. Wenn Figma-Libraries und eine Komponenten-Library vorhanden sind, ist DESIGN.md der Weg, wie deren Entscheidungen einen Coding-Agent erreichen – kein Ersatz für diese.
Was passiert, wenn mein Agent die Datei ignoriert?
Prüfen Sie nacheinander drei Dinge: ob sie in AGENTS.md referenziert wird, ob Anweisungen als Verbote statt als Präferenzen formuliert sind und ob die Werte tatsächlich konkrete Werte sind. Die meisten Berichte über „ignorierte Dateien“ entpuppen sich als Dateien voller Adjektive.