Rehber

Claude Code ve Cursor ile bir web sitesine uyan UI oluştur

Bir kodlama ajanından “sade bir ayarlar sayfası” istersen sıradan bir sayfa alırsın. Ona beğendiğin bir siteden alınmış bir DESIGN.md verirsen, tahmin etmek yerine o sitenin gerçek renkleri, yazı ölçeği, köşe yarıçapları ve bileşen kurallarıyla geliştirir.

Bu rehber, örnek olarak galerideki Linear dosyasını kullanarak tüm döngüyü Claude Code ve Cursor'da gösterir.

AI kodlama ajanıyla geliştirme yapan geliştiriciler için yazıldı. Güncellenme: .

Ne elde edeceksin

  • Beğendiğin bir sitenin DESIGN.md dosyası, reponda ajanının okuyabileceği bir yerde.
  • Claude Code için CLAUDE.md'de kısa bir yönlendirme ve Cursor için bir proje kuralı; böylece her UI görevi dosyadan başlar.
  • Token'ları adıyla anan prompt'lar; böylece ajan yakın tahminler yerine birebir değerleri kullanır.
  • Ajanın saptığı yerleri yakalamak için hızlı bir inceleme rutini.

DESIGN.md neden ekran görüntüsünden iyidir

Ekran görüntüsü, ajanına tahmin yürütmesi için pikseller verir. Genel havayı aşağı yukarı tutturur, değerleri ise yanlış alır: yakın bir mavi, birkaç piksel kayan bir köşe yarıçapı, benzer göründüğü için seçtiği bir font. Her yeni ekranda yeniden tahmin eder ve uygulama yavaş yavaş sapar.

DESIGN.md ise ona birebir değerleri verir. Dosya Google'ın DESIGN.md spesifikasyonunu izler: en üstteki YAML frontmatter token'ları (hex renkler, font aileleri ve boyutları, köşe yarıçapları, bileşenler) tutar, altındaki Markdown da her birinin nereye ait olduğunu açıklar. Bu formatı ilk kez mi duyuyorsun? DESIGN.md'nin ne olduğunu oku.

Adımlar

  1. Arayüzü geliştirdiğin şeye benzeyen bir site seç

    Benzer yoğunluktaki ürün ekranları, büyük bir hero alanı olan açılış sayfasından daha iyi sonuç verir. Bir dashboard geliştiriyorsan dashboard'u olan bir ürün seç. Önce DESIGN.md galerisine bak: dosya zaten orada olabilir.

  2. DESIGN.md dosyasını al

    Galeri sayfasından kopyala ya da URL'yi Design Extractor ana sayfasına yapıştırıp bir Pro çıkarma çalıştır. Pro sitenin önemli sayfalarını örnekler ve bir çalıştırma en az bir dakika sürer.

  3. Reponun kök dizinine DESIGN.md olarak kaydet

    README.md ve AGENTS.md'nin yanına koy ve commit'le; böylece her branch ve her ekip arkadaşının ajanı aynı dosyayı okur.

  4. Ajanını dosyaya yönlendir

    Claude Code için CLAUDE.md'ye kısa bir yönlendirme, Cursor için bir proje kuralı ekle. Bloklar aşağıda.

  5. UI'ı dosyanın terimleriyle iste

    Prompt'unda token ve bileşenlerin adını geç (primary, body-md, bir buton tarifi) ve ajandan bulamadığı her değeri uydurmak yerine listelemesini iste.

  6. Sonucu dosyaya göre incele

    Değişikliği kabul etmeden önce renkleri, fontları, köşe yarıçaplarını ve durumları DESIGN.md'ye göre kontrol et.

Uygulamalı örnek: Linear

Galerideki Linear DESIGN.md dosyası, 5 sayfa yakalayan bir Pro çalıştırmasıyla linear.app adresinden çıkarıldı. Dosyada 17 renk token'ı, 16 yazı stili ve 12 köşe yarıçapı var. Ajanın bunlarla çalışır.

Renkler

Tipografi

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

Şekiller

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

Linear DESIGN.md dosyasından çizilen ilk 12 renk, 6 yazı stili ve 8 köşe yarıçapı. Hex değerini kopyalamak için bir renk örneğine tıkla.

Dosyanın başı, kısaltılmış hâli: 17 renkten 8, 16 yazı stilinden 2 ve 12 köşe yarıçapından 4 tanesi. Bunlar ajanın kopyaladığı birebir değerlerdir.
---
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
---

Linear markasının herkese açık web sitesinden çıkarılmıştır; resmi marka yönergeleri değildir. Linear DESIGN.md dosyasının tamamını oku

Dosya görünümü nasıl tarif ediyor

Token'ların altındaki metin, ajana her değerin nereye ait olduğunu söyler. Şöyle başlar:

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.

Dosyanın ajanına verdiği kurallar

Do's and Don'ts bölümü görünümü kurallara dönüştürür. İlk birkaçı:

Yap

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

Yapma

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

Bileşenler

Dosyada HTML ve CSS ile yazılmış 30 bileşen tarifi var. Bunların 13 tanesi canlı sayfaya karşı kontrolü geçti; diğerleri için dosya neden geçemediklerini ya da neden kontrol edilemediklerini belirtir. Dosyanın tamamı yaklaşık 276.000 karakter ve çoğu tariflerden oluşuyor. Bu yüzden onu prompt'lara yapıştırmak yerine ajanını ona yönlendirirsin.

Ajanını dosyaya yönlendir

Çoğu ajan DESIGN.md'yi kendiliğinden açmaz. Zaten yüklediği talimatlara birkaç satır eklemek bunu çözer. Claude Code için bunu reponun kök dizinindeki CLAUDE.md'ye ekle:

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

Cursor için bir proje kuralı ekle. Bunu .cursor/rules/design.mdc olarak kaydet; alwaysApply onu projedeki her istekte yükler:

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

Dosyayı talimatlara yapıştırmak yerine bir yönlendirme kullan. Bir Pro DESIGN.md, siteden seçtiği her bileşen için bir tarif taşır; bu yüzden uzundur ve ajanının ona yalnızca UI işlerinde ihtiyacı vardır.

Token'ları kullanan prompt'lar

Dosyayı ve token'larını adıyla an, ajana tahmin etmesi için bir sebep yerine bir çıkış yolu ver. Bu prompt'lar bu rehber için Linear markasının gerçek token adlarıyla yazıldı; görevi kendi görevinle değiştir.

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.

Cursor'da @DESIGN.md dosyayı sohbete ekler; görev çoğunlukla görünümle ilgiliyse bu, kurala ek olarak işe yarar.

Sonuç nasıl görünmeli? Aşağı yukarı bu kart gibi; bu sayfa onu doğrudan token'lardan çiziyor. Değerlerin ne yaptığını gösterir, bir ajanın ne ürettiğini değil.

Sonraki sürümü planla

Tüm görevler, tarihler ve kararlar tek yerde; ekip zamanında yayına çıkar.

Geliştirmeye başlaSatış ekibiyle konuş
Bu sayfanın Linear token'larından çizdiği bir illüstrasyon: canvas #08090A, ink #F7F8F8, primary #5E6AD2 ve button-ghost.rounded 9999px. Bir kodlama ajanının çıktısı değildir ve font yalnızca cihazında yüklüyse görünür.

Ajanın oluşturduğunu incele

  • Renkler. Diff'te hex değerlerini ara. Her biri DESIGN.md'de olmalı. Yeni bir değer genellikle ajanın tahmin ettiği anlamına gelir.
  • Fontlar. Birçok marka, senin yayınlayamayacağın ticari fontlar kullanır. Dosyanın Typography bölümü genellikle açık kaynak bir alternatif önerir; ajanın rastgele bir yedek fontu değil, onu yüklediğinden emin ol.
  • Köşe yarıçapları ve boşluklar. Butonlar ve kartlar her yerde 8px gibi bir varsayılan değil, dosyanın rounded token'larını kullanmalı.
  • Durumlar. Hover ve focus stilleri her bileşen tarifinin parçasıdır. Sayfada Tab tuşuyla gezin ve focus halkasını kontrol et.
  • İşaretlenmiş tarifler. Dosya bir tarifi flagged olarak işaretliyorsa geometrisi yaklaşıktır. O bileşeni gerçek siteyle karşılaştır.

DESIGN.md'yi elle düzenlersen, ajanın onu yeniden okumadan önce ücretsiz DESIGN.md doğrulayıcıyla kontrol et.

SSS

Claude Code ve Cursor'da bir siteyle uyumlu UI: sorular

Bunu denemeden önce en çok sorulanlara kısa yanıtlar.

Hayır. Onu bir kez reponun kök dizinine DESIGN.md olarak kaydet; Claude Code için CLAUDE.md'den, Cursor için bir proje kuralından ona yönlendir. Ajan, görev arayüze dokunduğunda dosyayı okur. Bileşen tarifleri içeren bir Pro DESIGN.md uzundur, bu yüzden ona yönlendirmek prompt'larını kısa tutar.

Hayır, amaç da bu değil. Ajan sitenin token'larını (renkler, tipografi, köşe yarıçapları), bileşen tariflerini ve kurallarını alır. Düzenin, içeriğin ve özelliklerin sana ait kalır. Canlı siteye karşı kontrolü geçemeyen tarifler dosyada işaretlenmiş (flagged) olarak belirtilir; bunları yakın yaklaşık değerler olarak düşün.

Evet. Repondaki dosyaları okuyabilen her ajan bir DESIGN.md kullanabilir. Ajanın zaten okuduğu talimatlardan, örneğin AGENTS.md veya .github/copilot-instructions.md üzerinden ona yönlendir ya da prompt'unda dosyanın adını geç.

Evet. Her galeri sayfasında kopyalayabileceğin tam DESIGN.md bulunur. Galeri dosyaları her markanın herkese açık web sitesinden çıkarılmıştır; resmi marka yönergeleri değildir. Galeride olmayan bir site için URL'sini ana sayfaya yapıştır ve bir çıkarma çalıştır.

Beğendiğin site için DESIGN.md al

Herkese açık herhangi bir URL'yi yapıştır. Pro çıkarma sitenin önemli sayfalarını örnekler ve ajanının okuyabileceği bir DESIGN.md döndürür.

Tüm DESIGN.md rehberlerini gör