Poradnik

Jak sprawić, by Claude Code i Cursor budowały UI pasujące do strony

Poproś agenta AI do kodowania o „czystą stronę ustawień”, a dostaniesz generyczną. Daj mu DESIGN.md wzięty ze strony, która ci się podoba, a zbuduje ją z prawdziwymi kolorami, skalą typograficzną, zaokrągleniami i zasadami komponentów tej strony, zamiast zgadywać.

Ten poradnik pokazuje cały proces w Claude Code i Cursor, na przykładzie pliku Linear z galerii.

Dla programistów pracujących z agentem AI do kodowania. Aktualizacja: .

Co zyskasz

  • DESIGN.md strony, która ci się podoba, zapisany w repozytorium, gdzie agent może go przeczytać.
  • Krótkie odwołanie w CLAUDE.md dla Claude Code i reguła projektu dla Cursor, aby każde zadanie dotyczące UI zaczynało się od pliku.
  • Prompty, które nazywają tokeny, aby agent używał dokładnych wartości zamiast przybliżeń.
  • Szybką procedurę przeglądu, która wyłapie miejsca, gdzie agent zboczył z kursu.

Dlaczego DESIGN.md jest lepszy niż zrzut ekranu

Zrzut ekranu daje agentowi piksele do zgadywania. Mniej więcej trafi w nastrój, ale pomyli wartości: niebieski, który jest blisko, zaokrąglenie różniące się o kilka pikseli, font wybrany, bo wyglądał podobnie. Każdy nowy ekran zgaduje od nowa, więc aplikacja powoli się rozjeżdża.

DESIGN.md daje mu dokładne wartości. Plik jest zgodny ze specyfikacją DESIGN.md od Google: front matter w YAML na górze zawiera tokeny (kolory hex, rodziny i rozmiary fontów, zaokrąglenia, komponenty), a Markdown poniżej wyjaśnia, gdzie każdy z nich pasuje. Nie znasz tego formatu? Przeczytaj, czym jest DESIGN.md.

Kroki

  1. Wybierz stronę, której interfejs przypomina to, co budujesz

    Ekrany produktu o podobnej gęstości sprawdzają się lepiej niż strona docelowa z dużym hero. Jeśli budujesz dashboard, wybierz produkt, który go ma. Najpierw zajrzyj do galerii DESIGN.md: plik może już tam być.

  2. Wygeneruj jej DESIGN.md

    Skopiuj go ze strony galerii albo wklej URL na stronie głównej Design Extractor i uruchom ekstrakcję Pro. Tryb Pro bada kluczowe podstrony witryny, a ekstrakcja trwa co najmniej minutę.

  3. Zapisz go jako DESIGN.md w katalogu głównym repozytorium

    Umieść go obok README.md i AGENTS.md i zacommituj, aby każda gałąź i agent każdego członka zespołu czytali ten sam plik.

  4. Wskaż go agentowi

    Dodaj krótkie odwołanie w CLAUDE.md dla Claude Code albo regułę projektu dla Cursor. Bloki znajdziesz poniżej.

  5. Proś o UI w języku pliku

    Nazywaj w prompcie tokeny i komponenty (primary, body-md, receptura przycisku) i poproś agenta, aby wypisał każdą wartość, której nie znalazł, zamiast ją wymyślać.

  6. Porównaj wynik z plikiem

    Zanim zaakceptujesz zmianę, sprawdź kolory, fonty, zaokrąglenia i stany względem DESIGN.md.

Przykład w praktyce: Linear

DESIGN.md Linear w galerii został wyodrębniony z linear.app ekstrakcją Pro, która przechwyciła 5 stron. Zawiera 17 tokenów kolorów, 16 stylów tekstu i 12 zaokrągleń. Na tym pracuje twój agent.

Kolory

Typografia

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

Kształty

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

Początek DESIGN.md Linear, wyrenderowany z pliku: 12 kolorów, 6 stylów tekstu i 8 zaokrągleń. Kliknij próbkę, aby skopiować wartość hex.

Początek pliku, w skrócie: 8 z 17 kolorów, 2 z 16 stylów tekstu i 4 z 12 zaokrągleń. To dokładne wartości, które kopiuje agent.
---
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
---

Wyodrębnione z publicznej strony Linear, to nie są oficjalne wytyczne marki. Przeczytaj pełny DESIGN.md Linear

Jak plik opisuje wygląd

Tekst pod tokenami mówi agentowi, gdzie pasuje każda wartość. Zaczyna się tak:

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.

Zasady, które plik daje agentowi

Sekcja Do's and Don'ts zamienia wygląd w zasady. Kilka pierwszych:

Rób

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

Nie rób

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

Komponenty

Plik zawiera 30 receptur komponentów w HTML i CSS. Liczba receptur, które przeszły sprawdzenie z działającą stroną: 13; dla pozostałych plik podaje, dlaczego nie przeszły lub nie dało się ich sprawdzić. Cały plik ma około 276 000 znaków, w większości to receptury. Dlatego wskazujesz go agentowi, zamiast wklejać do promptów.

Wskaż plik agentowi

Większość agentów nie otwiera DESIGN.md sama. Kilka linii w instrukcjach, które już wczytują, to naprawia. W Claude Code dodaj to do CLAUDE.md w katalogu głównym repozytorium:

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

W Cursor dodaj regułę projektu. Zapisz to jako .cursor/rules/design.mdc; alwaysApply wczytuje ją przy każdym zapytaniu w projekcie:

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

Użyj odwołania zamiast wklejać plik do instrukcji. DESIGN.md z trybu Pro zawiera recepturę dla każdego komponentu wybranego ze strony, więc jest długi, a agent potrzebuje go tylko do pracy nad UI.

Prompty, które używają tokenów

Nazwij plik i jego tokeny i daj agentowi wyjście awaryjne zamiast powodu do zgadywania. Te prompty zostały napisane dla tego poradnika z prawdziwymi nazwami tokenów Linear; podmień zadanie na własne.

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.

W Cursor @DESIGN.md dołącza plik do czatu, co pomaga dodatkowo obok reguły, gdy zadanie dotyczy głównie wyglądu.

Jak powinien wyglądać wynik? Mniej więcej jak ta karta, którą ta strona rysuje prosto z tokenów. Pokazuje, co robią wartości, a nie to, co wygenerował agent.

Zaplanuj kolejne wydanie

Każde zadanie, termin i decyzja w jednym miejscu, żeby zespół dowoził na czas.

Zacznij budowaćPorozmawiaj ze sprzedażą
Ilustracja narysowana przez tę stronę z tokenów Linear: canvas #08090A, ink #F7F8F8, primary #5E6AD2 i button-ghost.rounded 9999px. To nie jest wynik działania agenta AI do kodowania, a font wyświetla się tylko wtedy, gdy masz go na swoim urządzeniu.

Przejrzyj to, co zbudował agent

  • Kolory. Przeszukaj diff pod kątem wartości hex. Każda powinna być w DESIGN.md. Nowa zwykle oznacza, że agent zgadywał.
  • Fonty. Wiele marek używa komercyjnych fontów, których nie możesz wdrożyć. Sekcja Typography pliku zwykle podaje otwartoźródłowy zamiennik; upewnij się, że agent wczytał właśnie go, a nie przypadkowy font zastępczy.
  • Zaokrąglenia i odstępy. Przyciski i karty powinny używać tokenów zaokrągleń z pliku, a nie domyślnej wartości, takiej jak wszędzie 8px.
  • Stany. Style hover i focus są częścią każdej receptury komponentu. Przejdź przez stronę klawiszem Tab i sprawdź obwódkę fokusu.
  • Oznaczone receptury. Jeśli plik oznacza recepturę jako flagged, jej geometria jest przybliżeniem. Porównaj ten komponent z prawdziwą stroną.

Jeśli edytujesz DESIGN.md ręcznie, sprawdź go darmowym Walidatorem DESIGN.md, zanim agent znowu go przeczyta.

FAQ

Dopasuj UI do strony w Claude Code i Cursor: pytania

Krótkie odpowiedzi na pytania, które ludzie zadają, zanim spróbują.

Nie. Zapisz go raz jako DESIGN.md w katalogu głównym repozytorium i wskaż go w CLAUDE.md dla Claude Code albo w regule projektu dla Cursor. Agent przeczyta go, gdy zadanie dotyczy interfejsu. DESIGN.md z trybu Pro z recepturami komponentów jest długi, więc odwołanie do niego pozwala zachować krótkie prompty.

Nie, i nie o to chodzi. Agent dostaje tokeny strony (kolory, typografię, zaokrąglenia), jej receptury komponentów i zasady. Twój układ, treść i funkcje pozostają twoje. Receptury, które nie przeszły sprawdzenia z działającą stroną, są w pliku oznaczone jako flagged, więc traktuj je jako bliskie przybliżenia.

Tak. Każdy agent, który potrafi czytać pliki w repozytorium, może korzystać z DESIGN.md. Wskaż go w instrukcjach, które ten agent już czyta, takich jak AGENTS.md lub .github/copilot-instructions.md, albo wymień plik w prompcie.

Tak. Każda strona galerii zawiera pełny DESIGN.md do skopiowania. Pliki w galerii są wyodrębnione z publicznej strony każdej marki i nie są oficjalnymi wytycznymi marek. Dla strony, której nie ma w galerii, wklej jej URL na stronie głównej i uruchom ekstrakcję.

Wygeneruj DESIGN.md strony, która ci się podoba

Wklej dowolny publiczny URL. Ekstrakcja Pro bada kluczowe podstrony witryny i zwraca DESIGN.md, który przeczyta twój agent.

Zobacz wszystkie poradniki DESIGN.md