Panduan

Buat Claude Code dan Cursor membangun UI yang mirip sebuah website

Minta agen coding membuat “halaman pengaturan yang rapi” dan Anda akan mendapat halaman yang generik. Berikan DESIGN.md dari situs yang Anda suka, dan agen akan membangun dengan warna, skala tipografi, radius, dan aturan komponen asli situs itu, bukan menebak-nebak.

Panduan ini menunjukkan seluruh alurnya di Claude Code dan Cursor, dengan file Linear dari galeri sebagai contoh.

Ditulis untuk developer yang membangun dengan agen coding AI. Diperbarui .

Yang akan Anda dapatkan

  • DESIGN.md dari situs yang Anda suka, tersimpan di repo tempat agen Anda bisa membacanya.
  • Rujukan singkat di CLAUDE.md untuk Claude Code dan project rule untuk Cursor, agar setiap tugas UI dimulai dari file itu.
  • Prompt yang menyebut token-nya, agar agen memakai nilai yang persis, bukan tebakan yang mendekati.
  • Rutinitas review singkat untuk menangkap bagian yang menyimpang dari file.

Mengapa DESIGN.md lebih baik daripada screenshot

Screenshot memberi agen Anda piksel untuk ditebak. Agen akan menangkap suasananya kira-kira dengan benar, tetapi nilainya salah: biru yang mirip, radius yang meleset beberapa piksel, font yang dipilih karena tampak serupa. Setiap layar baru menebak lagi, sehingga aplikasinya pelan-pelan menyimpang.

DESIGN.md memberinya nilai yang persis. File ini mengikuti spesifikasi DESIGN.md dari Google: front matter YAML di bagian atas menyimpan token (warna hex, font family dan ukurannya, radius, komponen), dan markdown di bawahnya menjelaskan di mana masing-masing dipakai. Baru mengenal format ini? Baca apa itu DESIGN.md.

Langkah-langkah

  1. Pilih situs yang antarmukanya terasa seperti yang sedang Anda bangun

    Layar produk dengan kepadatan serupa lebih cocok daripada landing page dengan hero besar. Jika Anda membangun dashboard, pilih produk yang punya dashboard. Cek galeri DESIGN.md dulu: mungkin file-nya sudah ada di sana.

  2. Dapatkan DESIGN.md-nya

    Salin dari halaman galeri, atau tempel URL-nya di beranda Design Extractor dan jalankan ekstraksi Pro. Pro mengambil sampel halaman-halaman utama situs, dan satu ekstraksi memakan waktu setidaknya satu menit.

  3. Simpan sebagai DESIGN.md di root repository Anda

    Taruh di samping README.md dan AGENTS.md lalu commit, agar setiap branch dan agen milik setiap rekan tim membaca file yang sama.

  4. Arahkan agen Anda ke file itu

    Tambahkan rujukan singkat ke CLAUDE.md untuk Claude Code, atau project rule untuk Cursor. Blok-bloknya ada di bawah.

  5. Minta UI dengan istilah dari file itu

    Sebutkan token dan komponen di prompt Anda (primary, body-md, resep tombol) dan minta agen mencantumkan nilai yang tidak ditemukannya alih-alih mengarangnya.

  6. Review hasilnya terhadap file

    Cek warna, font, radius, dan state terhadap DESIGN.md sebelum Anda menerima perubahannya.

Contoh nyata: Linear

DESIGN.md Linear di galeri diekstrak dari linear.app dengan ekstraksi Pro yang mengambil 5 halaman. File ini berisi 17 token warna, 16 gaya teks, dan 12 radius. Inilah yang menjadi bahan kerja agen Anda.

Warna

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

Bentuk

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

12 warna, 6 gaya teks, dan 8 radius pertama dari Linear, dirender dari DESIGN.md-nya. Klik sebuah swatch untuk menyalin nilai hex-nya.

Bagian atas file, diringkas: 8 dari 17 warna, 2 dari 16 gaya teks, dan 4 dari 12 radius. Inilah nilai persis yang disalin agen.
---
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
---

Diekstrak dari website publik Linear, bukan pedoman brand resmi. Baca DESIGN.md Linear selengkapnya

Cara file mendeskripsikan tampilannya

Teks di bawah token memberi tahu agen di mana setiap nilai dipakai. Awalnya seperti ini:

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.

Aturan yang diberikan file kepada agen Anda

Bagian Do's and Don'ts mengubah tampilan menjadi aturan. Beberapa yang pertama:

Lakukan

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

Hindari

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

Komponen

File ini berisi 30 resep komponen dalam HTML dan CSS. 13 di antaranya lolos pengecekan terhadap halaman live; untuk sisanya, file menjelaskan mengapa resep itu tidak lolos atau tidak dapat dicek. Seluruh file berisi sekitar 276.000 karakter, sebagian besar berupa resep. Itulah sebabnya Anda merujuk file ini untuk agen Anda alih-alih menempelkannya ke prompt.

Arahkan agen Anda ke file itu

Sebagian besar agen tidak membuka DESIGN.md dengan sendirinya. Beberapa baris di instruksi yang sudah mereka muat bisa mengatasinya. Di Claude Code, tambahkan ini ke CLAUDE.md di root repository Anda:

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

Di Cursor, tambahkan project rule. Simpan ini sebagai .cursor/rules/design.mdc; alwaysApply memuatnya untuk setiap permintaan di proyek:

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

Gunakan rujukan alih-alih menempelkan file ke instruksi. DESIGN.md Pro membawa resep untuk setiap komponen yang dipilihnya dari situs, jadi file-nya panjang, dan agen Anda hanya membutuhkannya untuk pekerjaan UI.

Prompt yang memakai token

Sebutkan file dan token-nya, dan beri agen jalan keluar alih-alih alasan untuk menebak. Prompt ini ditulis untuk panduan ini dengan nama token asli dari Linear; ganti dengan tugas Anda sendiri.

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.

Di Cursor, @DESIGN.md melampirkan file ke chat, yang membantu sebagai tambahan dari rule ketika tugasnya sebagian besar soal tampilan.

Seperti apa hasilnya? Kira-kira seperti kartu ini, yang digambar langsung oleh halaman ini dari token-nya. Kartu ini menunjukkan efek dari nilai-nilai itu, bukan hasil buatan agen.

Rencanakan rilis berikutnya

Setiap tugas, tanggal, dan keputusan di satu tempat, agar tim merilis tepat waktu.

Mulai membangunHubungi sales
Ilustrasi yang digambar halaman ini dari token Linear: canvas #08090A, ink #F7F8F8, primary #5E6AD2, dan button-ghost.rounded 9999px. Ini bukan output dari agen coding, dan font-nya hanya tampil jika perangkat Anda memilikinya.

Review apa yang dibangun agen

  • Warna. Cari nilai hex di diff. Setiap nilai seharusnya ada di DESIGN.md. Nilai baru biasanya berarti agen menebak.
  • Font. Banyak brand memakai font komersial yang tidak boleh Anda pakai. Bagian Typography di file biasanya menyebut pengganti open source; pastikan agen memuat font itu, bukan fallback sembarangan.
  • Radius dan spacing. Tombol dan kartu seharusnya memakai token rounded dari file, bukan default seperti 8px di semua tempat.
  • State. Style hover dan focus adalah bagian dari setiap resep komponen. Tekan Tab untuk menelusuri halaman dan cek focus ring-nya.
  • Resep yang ditandai. Jika file menandai sebuah resep sebagai flagged, geometrinya hanya perkiraan. Bandingkan komponen itu dengan situs aslinya.

Jika Anda mengedit DESIGN.md secara manual, cek dengan Validator DESIGN.md gratis sebelum agen Anda membacanya lagi.

FAQ

Samakan tampilan website di Claude Code dan Cursor: pertanyaan

Jawaban singkat atas pertanyaan yang sering diajukan sebelum mencoba ini.

Tidak. Simpan sekali sebagai DESIGN.md di root repository Anda dan rujuk dari CLAUDE.md untuk Claude Code atau dari project rule untuk Cursor. Agen membacanya saat sebuah tugas menyentuh antarmuka. DESIGN.md Pro yang berisi resep komponen cukup panjang, jadi merujuknya membuat prompt Anda tetap singkat.

Tidak, dan memang bukan itu tujuannya. Agen mendapat token situs (warna, tipografi, radius), resep komponennya, dan aturannya. Layout, konten, dan fitur Anda tetap milik Anda. Resep yang tidak lolos pengecekan terhadap situs live ditandai sebagai flagged di file, jadi anggap resep itu sebagai perkiraan yang mendekati.

Bisa. Agen apa pun yang bisa membaca file di repository Anda bisa memakai DESIGN.md. Rujuk file itu dari instruksi yang sudah dibaca agen tersebut, seperti AGENTS.md atau .github/copilot-instructions.md, atau sebutkan file-nya di prompt Anda.

Bisa. Setiap halaman galeri berisi DESIGN.md lengkap untuk disalin. File galeri diekstrak dari website publik masing-masing brand, bukan pedoman brand resmi. Untuk situs yang tidak ada di galeri, tempel URL-nya di beranda dan jalankan ekstraksi.

Dapatkan DESIGN.md untuk situs yang Anda suka

Tempel URL publik apa pun. Ekstraksi Pro mengambil sampel halaman-halaman utama situs dan mengembalikan DESIGN.md yang bisa dibaca agen Anda.

Lihat semua panduan DESIGN.md