Dokumentacja
Czym jest DESIGN.md?
DESIGN.md to plik tekstowy, który opisuje design system dla agentów AI. Front matter w YAML na górze zawiera dokładne tokeny projektowe: kolory, typografię, odstępy, zaokrąglenia narożników i komponenty. Treść w Markdown poniżej wyjaśnia, jak i dlaczego je stosować. Zarówno ludzie, jak i agenci mogą go czytać, edytować i egzekwować.
README.md wyjaśnia, czym jest projekt. AGENTS.md mówi agentom AI do kodowania, jak go zbudować. DESIGN.md mówi im, jak ma wyglądać i jakie wrażenie ma robić, aby ekrany generowane przez agenta miały jedną paletę, skalę typograficzną i język komponentów, zamiast rozjeżdżać się w różne strony.
Skąd pochodzi DESIGN.md
Google wprowadził DESIGN.md wraz z Google Stitch, swoim narzędziem AI do projektowania, jako designowy odpowiednik AGENTS.md. Google Labs publikuje format jako otwartą specyfikację w repozytorium google-labs-code/design.md na licencji Apache 2.0. Specyfikacja DESIGN.md ma status alpha, więc format będzie się zmieniał w miarę dojrzewania.
To samo repozytorium udostępnia pakiet npm @google/design.md z poleceniem lint, które sprawdza strukturę, uszkodzone odwołania do tokenów i kontrast WCAG, oraz poleceniem diff, które porównuje dwie wersje pliku token po tokenie.
Budowa pliku DESIGN.md
Każdy plik DESIGN.md ma dwie warstwy. Front matter w YAML zawiera czytelne dla maszyn tokeny projektowe, takie jak dokładne wartości kolorów, właściwości fontów, skale odstępów i odwołania do tokenów komponentów. Treść w Markdown zawiera czytelne dla ludzi uzasadnienie designu.
Specyfikacja traktuje tokeny jako wartości normatywne, a tekst jako kontekst ich stosowania. Tokeny dają agentom dokładne wartości. Tekst mówi im, dlaczego te wartości istnieją i jak używać ich spójnie na wszystkich ekranach.
---
name: DevFocus Dark
colors:
primary: "#2665fd"
secondary: "#475569"
surface: "#0b1326"
on-surface: "#dae2fd"
error: "#ffb4ab"
typography:
body-md:
fontFamily: Inter
fontSize: 16px
fontWeight: 400
rounded:
md: 8px
---
# Design System
## Overview
A focused, minimal dark interface for a developer productivity tool.
Clean lines, low visual noise, high information density.
## Colors
- **Primary** (#2665fd): CTAs, active states, key interactive elements
- **Secondary** (#475569): Supporting UI, chips, secondary actions
- **Surface** (#0b1326): Page backgrounds
- **On-surface** (#dae2fd): Primary text on dark backgrounds
- **Error** (#ffb4ab): Validation errors, destructive actions
## Typography
- **Headlines**: Inter, semi-bold
- **Body**: Inter, regular, 14-16px
- **Labels**: Inter, medium, 12px, uppercase for section headers
## Components
- **Buttons**: Rounded (8px), primary uses brand blue fill
- **Inputs**: 1px border, subtle surface-variant background
- **Cards**: No elevation, relies on border and background contrast
## Do's and Don'ts
- Do use the primary color sparingly, only for the most important action
- Don't mix rounded and sharp corners in the same view
- Do maintain 4:1 contrast ratio for all textOsiem kanonicznych sekcji
Treść w Markdown używa nagłówków ##. Sekcje można pominąć, gdy nie są istotne, ale jeśli występują, powinny zachować tę kolejność. Nagłówek, który pojawia się dwa razy, czyni plik niepoprawnym; nieznane sekcje są zachowywane.
- Overview (także Brand & Style). Wygląd i charakter w kilku zdaniach: nastrój, gęstość, osobowość.
- Colors. Każdy token koloru i jego rola, na przykład główne akcje lub powierzchnie strony.
- Typography. Rodziny fontów i skala typograficzna, od dużych nagłówków po małe etykiety.
- Layout (także Layout & Spacing). Skala odstępów, siatka, szerokości treści i marginesy.
- Elevation & Depth (także Elevation). Jak oddzielają się powierzchnie: cienie, obramowania, odcienie.
- Shapes. Zaokrąglenia narożników i inne zasady kształtów.
- Components. Przyciski, pola, karty i inne atomy, z ich tokenami i stanami.
- Do's and Don'ts. Zasady, których agent nie powinien łamać.
Zwięzła treść w Markdown z każdą kanoniczną sekcją po kolei. Dopasuj treść do swojego produktu, zachowaj nagłówki i kolejność.
## Overview
A minimal dark interface for a developer productivity tool.
Clean lines, low visual noise, high information density.
## Colors
- Primary (#2665fd): CTAs and active states
- Surface (#0b1326): Page backgrounds
- On-surface (#dae2fd): Text on dark backgrounds
## Typography
- Headlines: Inter, semibold
- Body: Inter, regular, 14-16px
- Labels: Inter, medium, 12px, uppercase
## Layout
- 8px base spacing unit, scale: 4 / 8 / 16 / 24 / 32 / 48
- Max content width 720px with 24px gutters on mobile
## Elevation & Depth
- Surfaces rely on background contrast instead of shadow
- Overlays use an 8 percent white tint on dark surfaces
## Shapes
- Rounded 8px for controls, 16px for cards
- Avoid mixing sharp and rounded corners in one view
## Components
- Buttons: 8px rounded, primary filled with brand blue
- Inputs: 1px border, subtle surface-variant background
- Cards: no elevation, rely on border and background contrast
## Do's and Don'ts
- Do use the primary color sparingly, for the most important action
- Don't mix rounded and sharp corners in one view
- Do maintain at least a 4:1 contrast ratio for all textTokeny projektowe i schemat
DESIGN.md zawiera tokeny projektowe jako front matter w YAML na początku pliku. Blok front matter zaczyna się linią zawierającą dokładnie --- i kończy tym samym ogranicznikiem.
version: <string>
name: <string>
description: <string>
colors:
<token-name>: <Color>
typography:
<token-name>: <Typography>
rounded:
<scale-level>: <Dimension>
spacing:
<scale-level>: <Dimension | number>
components:
<component-name>:
<token-name>: <string | token reference>Typowe nazwy skali to xs, sm, md, lg, xl i full, ale każdy opisowy klucz jest poprawny. Tokeny odstępów są w YAML pod spacing: i opisane w sekcji Layout treści w Markdown.
Typy tokenów
- Kolor
- Dowolny poprawny ciąg koloru CSS. Zalecanym domyślnym zapisem jest hex w formie
#RRGGBB, na przykład"#1A1C1E". - Wymiar
- Liczba z jednostką px, em lub rem. Przykłady:
48px,-0.02em. - Odwołanie do tokenu
- Ujęte w nawiasy klamrowe i wskazujące wartość w drzewie YAML. Przykład:
{colors.primary}. - Typografia
- Obiekt złożony z właściwościami fontu, takimi jak rodzina, rozmiar, grubość, interlinia i odstęp między literami. Zobacz Właściwości typografii.
Właściwości typografii
- fontFamily
- Nazwa rodziny fontu.
- fontSize
- Rozmiar fontu jako wymiar.
- fontWeight
- Liczbowa grubość, np. 400 lub 700.
- lineHeight
- Wymiar lub mnożnik bez jednostki. Zalecane są wartości bez jednostki.
- letterSpacing
- Korekta odstępu między literami jako wymiar.
- fontFeature
- Konfiguruje font-feature-settings.
- fontVariation
- Konfiguruje font-variation-settings.
Odwołania do tokenów
Odwołanie do tokenu jest ujęte w nawiasy klamrowe i zawiera ścieżkę obiektu do innej wartości w drzewie YAML. W większości grup tokenów odwołanie powinno wskazywać wartość prostą, a nie grupę. W sekcji components dozwolone są odwołania do wartości złożonych, takich jak poziomy typografii.
components:
button-primary:
backgroundColor: "{colors.primary-60}"
textColor: "{colors.primary-20}"
rounded: "{rounded.md}"
button-primary-hover:
backgroundColor: "{colors.primary-70}"Komponenty
Sekcja components zawiera wskazówki stylu dla atomów komponentów, takich jak przyciski, chipy, listy, pola, pola wyboru, przyciski radiowe i podpowiedzi. Design systemy mogą definiować dodatkowe komponenty ważne w ich dziedzinie.
Warianty dla stanów hover, active lub pressed definiuje się jako osobne wpisy komponentów z powiązanymi nazwami kluczy, np. button-primary-hover.
- backgroundColor
- Kolor
- textColor
- Kolor
- typography
- Typografia
- rounded
- Wymiar
- padding
- Wymiar
- size
- Wymiar
- height
- Wymiar
- width
- Wymiar
Zalecane nazwy tokenów
Te nazwy to wskazówki, a nie wymagania. Zapewniają przydatne wartości domyślne dla spójności między systemami.
Kolory: primary, secondary, tertiary, neutral, surface, on-surface, error
Typografia: headline-display, headline-lg, headline-md, body-lg, body-md, body-sm, label-lg, label-md, label-sm
Zaokrąglenia: none, sm, md, lg, xl, full
Jak agenci AI używają DESIGN.md
Umieść DESIGN.md w katalogu głównym repozytorium, obok README.md i AGENTS.md. Każdy agent z dostępem do plików może go przeczytać, ale większość nie wczytuje go sama. Wskaż go w instrukcjach, które twój agent już czyta, albo wymień go w prompcie, gdy prosisz o pracę nad UI. Wystarczy krótka wzmianka:
## Design
Follow DESIGN.md for every UI change: use its color, typography,
spacing and component tokens instead of inventing new values.- Claude Code
- Czyta pliki w repozytorium i przy starcie wczytuje CLAUDE.md. Dodaj tam linię wskazującą DESIGN.md albo wspomnij o pliku w prompcie.
- Cursor
- Dodaj DESIGN.md do kontekstu czatu albo odwołaj się do niego w regule projektu, aby dotyczył każdej prośby o UI.
- GitHub Copilot
- Wskaż DESIGN.md w pliku instrukcji Copilot w repozytorium albo dołącz go w czacie, gdy prosisz o pracę nad UI.
- Google Stitch
- Tu format się narodził. Stitch używa DESIGN.md, aby generowane ekrany miały jedną paletę, skalę typograficzną i język komponentów.
Agent bierze dokładne wartości z tokenów (hex głównego przycisku, rozmiar etykiety body-md) i na podstawie tekstu decyduje, gdzie ich użyć.
DESIGN.md vs AGENTS.md vs README.md
Te trzy pliki leżą obok siebie i odpowiadają na różne pytania. DESIGN.md nie zastępuje AGENTS.md; oba działają razem.
| Plik | Dla kogo | Odpowiada na |
|---|---|---|
README.md | Osoby, które używają projektu lub go rozwijają | Co to jest i jak to uruchomić? |
AGENTS.md | Agenci AI do kodowania | Jak zbudować, przetestować i zmieniać ten kod? |
DESIGN.md | Agenci do kodowania i projektowania | Jak ma wyglądać interfejs i jakie wrażenie ma robić? |
Prawdziwe przykłady DESIGN.md
Najszybciej zrozumiesz format, czytając kilka prawdziwych plików. Każda z tych stron galerii pokazuje DESIGN.md wyodrębniony z publicznej strony marki, z jej paletą i próbkami typografii. Nie są to oficjalne wytyczne marek.
Jak zdobyć DESIGN.md
- Napisz go ręcznie. Zacznij od specyfikacji i przykładów powyżej, a potem sprawdź plik darmowym Walidatorem DESIGN.md lub poleceniem
lintod Google. - Zacznij od przykładu. Skopiuj plik z galerii i zmień tokeny oraz tekst, aby pasowały do twojego produktu.
- Wygeneruj go z działającej strony. Wklej publiczny URL do Design Extractor. Renderuje on stronę w przeglądarce i zwraca DESIGN.md z jej kolorami, typografią, odstępami i komponentami, zgodny z powyższą specyfikacją. Strona generatora DESIGN.md wyjaśnia, co dostajesz. Ta sama ekstrakcja działa w rozszerzeniu Chrome i z poziomu twojego agenta przez serwer MCP.
FAQ
Pytania o DESIGN.md
Krótkie odpowiedzi o formacie DESIGN.md, jego pochodzeniu i używaniu go z agentami AI.
DESIGN.md to plik tekstowy, który opisuje design system dla agentów AI. Front matter w YAML na górze zawiera dokładne tokeny (kolory, typografię, odstępy, zaokrąglenia narożników i komponenty), a treść w Markdown poniżej wyjaśnia, jak i dlaczego je stosować. Agenci czytają tokeny, aby poznać wartości, a tekst, aby zrozumieć intencję.
Google wprowadził DESIGN.md wraz ze Stitch, swoim narzędziem AI do projektowania. Google Labs publikuje specyfikację na GitHubie (google-labs-code/design.md) na licencji Apache 2.0. Format ma status alpha, więc należy spodziewać się zmian w miarę jego dojrzewania.
AGENTS.md mówi agentom AI do kodowania, jak budować projekt i nad nim pracować: polecenia, konwencje, testy. DESIGN.md mówi im, jak produkt ma wyglądać i jakie wrażenie ma robić: kolory, typografia, odstępy, kształty i komponenty. README.md jest dla ludzi, którzy używają projektu lub go rozwijają. Wiele repozytoriów trzyma wszystkie trzy obok siebie.
Umieść go w katalogu głównym repozytorium, obok README.md i AGENTS.md, aby agenci z dostępem do plików mogli go znaleźć. Potem wskaż go w instrukcjach, które twój agent już wczytuje, takich jak AGENTS.md, CLAUDE.md, reguła Cursor lub instrukcje Copilot, albo wspomnij o nim w prompcie, gdy prosisz o pracę nad UI.
Nie. Specyfikacja pozwala pominąć sekcje, które nie mają zastosowania, ale te, które zostawisz, powinny zachować kanoniczną kolejność: Overview, Colors, Typography, Layout, Elevation & Depth, Shapes, Components, Do's and Don'ts. Nagłówek sekcji nie może pojawić się dwa razy, a nieznane sekcje są zachowywane, a nie odrzucane.
Pakiet npm od Google, @google/design.md, ma polecenie lint, które sprawdza strukturę, uszkodzone odwołania do tokenów i kontrast WCAG. Design Extractor ma też darmowy Walidator DESIGN.md, który sprawdza strukturę i tokeny w twojej przeglądarce i pokazuje podgląd pliku, bez jego wysyłania.
Napisz go ręcznie według specyfikacji, skopiuj jeden z galerii prawdziwych przykładów jako punkt wyjścia albo wygeneruj go z działającej strony. Design Extractor przyjmuje publiczny URL, renderuje stronę w przeglądarce i zwraca DESIGN.md z jej kolorami, typografią, odstępami i komponentami, gotowy do wrzucenia do repozytorium.
Chcesz taki plik dla strony, którą lubisz?
Wklej publiczny URL i wygeneruj jego DESIGN.md.