가이드
Claude Code와 Cursor가 웹사이트 디자인에 맞는 UI를 만들게 하기
코딩 에이전트에게 “깔끔한 설정 페이지”를 요청하면 평범한 페이지가 나와요. 마음에 드는 사이트에서 가져온 DESIGN.md를 주면, 추측하는 대신 그 사이트의 실제 색상, 타입 스케일, 반경, 컴포넌트 규칙으로 만들어요.
이 가이드는 갤러리에 있는 Linear 파일을 예시로, Claude Code와 Cursor에서의 전체 과정을 보여 줘요.
대상 독자: AI 코딩 에이전트로 개발하는 개발자. 업데이트: .
이 가이드에서 얻는 것
- 마음에 드는 사이트의 DESIGN.md를 에이전트가 읽을 수 있는 저장소에 저장.
- 모든 UI 작업이 이 파일에서 시작하도록 Claude Code용 CLAUDE.md 안내와 Cursor용 프로젝트 규칙.
- 에이전트가 비슷한 추측값 대신 정확한 값을 쓰도록 토큰 이름을 명시한 프롬프트.
- 에이전트가 벗어난 부분을 잡아내는 간단한 리뷰 절차.
스크린샷보다 DESIGN.md가 나은 이유
스크린샷은 에이전트에게 추측할 픽셀만 줘요. 분위기는 대충 맞추지만 값은 틀려요. 비슷한 파란색, 몇 픽셀 어긋난 반경, 비슷해 보여서 고른 폰트. 새 화면마다 다시 추측하기 때문에 앱이 조금씩 흐트러져요.
DESIGN.md는 정확한 값을 줘요. 이 파일은 Google의 DESIGN.md 사양을 따라요. 맨 위의 YAML 프런트매터에는 토큰(hex 색상, 폰트 패밀리와 크기, 반경, 컴포넌트)이 있고, 그 아래 Markdown은 각 값이 어디에 쓰이는지 설명해요. 이 형식이 처음이라면 DESIGN.md란 무엇인지 읽어 보세요.
단계
만들려는 것과 비슷한 느낌의 인터페이스를 가진 사이트 고르기
큰 히어로가 있는 랜딩 페이지보다 밀도가 비슷한 제품 화면이 더 잘 맞아요. 대시보드를 만든다면 대시보드가 있는 제품을 고르세요. 먼저 DESIGN.md 갤러리를 확인하세요. 파일이 이미 있을 수도 있어요.
DESIGN.md 받기
갤러리 페이지에서 복사하거나, Design Extractor 홈페이지에 URL을 붙여 넣고 Pro 추출을 실행하세요. Pro는 사이트의 주요 페이지를 샘플링하며, 추출에는 최소 1분이 걸려요.
저장소 루트에 DESIGN.md로 저장하기
README.md, AGENTS.md 옆에 두고 커밋하세요. 그러면 모든 브랜치와 모든 팀원의 에이전트가 같은 파일을 읽어요.
에이전트에게 파일 알려 주기
Claude Code라면 CLAUDE.md에, Cursor라면 프로젝트 규칙에 짧은 안내를 추가하세요. 코드 블록은 아래에 있어요.
파일의 용어로 UI 요청하기
프롬프트에서 토큰과 컴포넌트 이름(
primary,body-md, 버튼 레시피)을 언급하고, 찾지 못한 값은 지어내지 말고 목록으로 알려 달라고 요청하세요.파일과 비교해 결과 리뷰하기
변경 사항을 받아들이기 전에 색상, 폰트, 반경, 상태를 DESIGN.md와 비교해 확인하세요.
실전 예시: Linear
갤러리의 Linear DESIGN.md는 linear.app에서 5개 페이지를 캡처한 Pro 추출로 만들었어요. 파일에는 색상 토큰 17개, 타입 스타일 16개, 반경 12개가 들어 있어요. 에이전트는 이걸로 작업해요.
색상
타이포그래피
모양
Linear DESIGN.md에서 렌더링한 처음 12개 색상, 6개 타입 스타일, 8개 반경이에요. 견본을 클릭하면 hex 값이 복사돼요.
---
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 공개 웹사이트에서 추출한 것으로, 공식 브랜드 가이드라인이 아니에요. Linear DESIGN.md 전체 읽기
파일이 모습을 설명하는 방식
토큰 아래의 설명은 각 값이 어디에 쓰이는지 에이전트에게 알려 줘요. 이렇게 시작해요:
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.파일이 에이전트에게 주는 규칙
Do's and Don'ts 섹션은 모습을 규칙으로 바꿔요. 처음 몇 가지는 다음과 같아요:
해야 할 것
- 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.
하지 말아야 할 것
- 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.
컴포넌트
파일에는 HTML과 CSS로 된 컴포넌트 레시피 30개가 있어요. 그중 13개는 실제 페이지와의 대조 확인을 통과했고, 나머지는 통과하지 못했거나 확인할 수 없었던 이유가 파일에 적혀 있어요. 전체 파일은 약 276,000자이며, 대부분이 레시피예요. 그래서 프롬프트에 붙여 넣는 대신 에이전트에게 파일을 가리키는 거예요.
에이전트에게 파일 알려 주기
대부분의 에이전트는 DESIGN.md를 스스로 열지 않아요. 에이전트가 이미 불러오는 지침에 몇 줄만 추가하면 해결돼요. Claude Code에서는 저장소 루트의 CLAUDE.md에 다음을 추가하세요:
## 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에서는 프로젝트 규칙을 추가하세요. 다음을 .cursor/rules/design.mdc로 저장하면, alwaysApply 덕분에 프로젝트의 모든 요청에 적용돼요:
---
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.지침에 파일을 붙여 넣지 말고 가리키세요. Pro DESIGN.md에는 사이트에서 고른 모든 컴포넌트의 레시피가 담겨 있어서 길고, 에이전트는 UI 작업을 할 때만 필요해요.
토큰을 활용하는 프롬프트
파일과 토큰 이름을 명시하고, 에이전트에게 추측할 이유 대신 빠져나갈 길을 주세요. 아래 프롬프트는 이 가이드를 위해 Linear의 실제 토큰 이름으로 작성했어요. 작업 내용은 여러분의 것으로 바꾸세요.
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에서는 @DESIGN.md로 파일을 채팅에 첨부할 수 있어요. 작업이 주로 모습에 관한 것이라면 규칙에 더해 도움이 돼요.
결과는 어떤 모습이어야 할까요? 대략 이 카드와 비슷해요. 이 페이지가 토큰으로 직접 그린 카드예요. 값이 어떤 역할을 하는지 보여 줄 뿐, 에이전트가 만든 결과물은 아니에요.
다음 릴리스 계획하기
모든 작업, 일정, 결정을 한곳에 모아 팀이 제때 출시할 수 있게 해요.
에이전트가 만든 결과 리뷰하기
- 색상. diff에서 hex 값을 검색하세요. 모든 값이 DESIGN.md에 있어야 해요. 새로운 값이 있다면 보통 에이전트가 추측한 거예요.
- 폰트. 많은 브랜드가 배포할 수 없는 상용 폰트를 써요. 파일의 Typography 섹션에는 보통 오픈 소스 대체 폰트가 적혀 있어요. 에이전트가 아무 대체 폰트가 아니라 그 폰트를 불러왔는지 확인하세요.
- 반경과 간격. 버튼과 카드는 모든 곳에 8px 같은 기본값이 아니라 파일의 rounded 토큰을 써야 해요.
- 상태. hover와 focus 스타일은 각 컴포넌트 레시피에 포함되어 있어요. Tab 키로 페이지를 이동하며 포커스 링을 확인하세요.
- flagged 레시피. 파일에서 레시피가 flagged로 표시되어 있다면, 그 형태는 근사치예요. 해당 컴포넌트를 실제 사이트와 비교하세요.
DESIGN.md를 직접 편집했다면, 에이전트가 다시 읽기 전에 무료 DESIGN.md 검사기로 확인하세요.
이 가이드에서 사용한 파일
아래 갤러리 페이지마다 저장소에 복사할 수 있는 전체 DESIGN.md가 팔레트, 타입 견본과 함께 있어요.
소프트웨어 & SaaS · Productivity & NotesLinear
Linear의 디자인 시스템은 엔지니어링 팀을 위해 만들어진, 다크 모드를 우선으로 한 고밀도 제품 UI입니다. 표면 팔레트는 거의 검은색인 #08090a와 #0f1011을 기준으로 하며, 사이드바, 카드, 패널을 구분하기 위해 여러 단계의 어두운 회색을 겹겹이 사용합니다. 타이포그래피는 Inter Variable만 사용하고, 디스플레이 크기에서는 정교한 음의 자간을 적용합니다. 인라인 코드에는 Berkeley Mono를 씁니다. 모서리 반경은 의도적으로 작게 유지되며, 주로 2~6px을 사용하고 알약 모양은 배지와 상태 칩에만 제한적으로 씁니다. 입체감은 강한 레이어 효과보다는 1px 안쪽 테두리와 낮은 불투명도의 그림자로 표현합니다. 기본 CTA 색상은 Linear의 상징적인 인디고 #5e6ad2이며, 회원가입 버튼과 주요 링크에 사용됩니다.
금융 & 핀테크Stripe
Stripe의 마케팅 홈페이지는 엄격하게 관리되는 디자인 시스템(HDS, Stripe Design System)을 바탕으로 합니다. 가벼운 굵기(300~400)의 가변 폰트 "sohne-var"를 사용하고, 짙은 네이비에서 인디고로 이어지는 브랜드 팔레트는 #533afd(Stripe Indigo)를 중심으로 구성되어 있습니다. 대표적인 특징은 화면 전체를 채우는 스펙트럼 그라데이션 히어로입니다. 컴포넌트는 4~6px의 낮은 모서리 반경과 평면에 가깝고 최소한의 그림자를 사용하며, 8px 기본 간격 그리드에 맞춰 구조화되어 있습니다. 전체적인 톤은 권위 있으면서도 친근합니다. 자신감 있는 타이포그래피와 절제된 색 사용을 통해 금융 인프라를 전달합니다.
개발 도구 & 인프라 · Developer Tools & IDEsSupabase
Supabase는 다크 모드를 기본으로 하는 디자인 시스템으로, 거의 검은색에 가까운 짙은 배경(oklch ~0.19)을 바탕으로 합니다. 선명한 녹색 브랜드 포인트 컬러(#3ecf8e / #3fcf8e)가 시각적 중심을 잡아 줍니다. 레이아웃은 반응형 기능 카드 그리드를 중심으로 구성되며, 디스플레이 제목에는 Manrope, 본문과 UI 텍스트에는 Inter 서체를 사용합니다. 모노스페이스와 코드가 필요한 모든 영역에는 Source Code Pro를 적용합니다. 색상 체계는 의미 기반 이름을 가진 oklch 커스텀 속성으로 구축되어 있습니다. 카드는 12px 모서리 반경과 은은한 테두리 처리를 적용하고, 버튼은 6–8px 모서리 반경을 사용합니다. 전체적인 밀도는 중간 수준이며, 8px 기본 간격 그리드를 따릅니다.
FAQ
Claude Code와 Cursor에서 웹사이트 디자인 맞추기: 자주 묻는 질문
시도해 보기 전에 많이 묻는 질문에 짧게 답해 드려요.
아니요. 저장소 루트에 DESIGN.md로 한 번 저장하고, Claude Code라면 CLAUDE.md에서, Cursor라면 프로젝트 규칙에서 이 파일을 가리키세요. 작업이 인터페이스와 관련되면 에이전트가 파일을 읽어요. 컴포넌트 레시피가 담긴 Pro DESIGN.md는 길기 때문에, 파일을 가리키는 방식이 프롬프트를 짧게 유지해 줘요.
아니요, 그게 목표도 아니에요. 에이전트는 사이트의 토큰(색상, 타입, 반경), 컴포넌트 레시피, 규칙을 받아요. 레이아웃, 콘텐츠, 기능은 여러분의 것으로 유지돼요. 실제 사이트와의 대조 확인을 통과하지 못한 레시피는 파일에 flagged로 표시되어 있으니, 근사치로 생각하세요.
네. 저장소의 파일을 읽을 수 있는 에이전트라면 모두 DESIGN.md를 쓸 수 있어요. AGENTS.md나 .github/copilot-instructions.md처럼 에이전트가 이미 읽는 지침에서 이 파일을 가리키거나, 프롬프트에서 파일 이름을 언급하세요.
네. 모든 갤러리 페이지에 복사할 수 있는 전체 DESIGN.md가 있어요. 갤러리 파일은 각 브랜드의 공개 웹사이트에서 추출한 것으로, 공식 브랜드 가이드라인이 아니에요. 갤러리에 없는 사이트라면 홈페이지에 URL을 붙여 넣고 추출을 실행하세요.
마음에 드는 사이트의 DESIGN.md를 받아 보세요
공개 URL을 붙여 넣으세요. Pro 추출은 사이트의 주요 페이지를 샘플링해 에이전트가 읽을 수 있는 DESIGN.md를 돌려줘요.
관련 가이드
디자이너가 없나요? 검증된 디자인 시스템을 내 앱에 가져오세요
참고할 사이트를 고르는 법, DESIGN.md에서 유지할 것과 바꿀 것을 정해 복사본이 아닌 내 것으로 만드는 법.
사이트를 리빌드하나요? 먼저 디자인 시스템을 추출하세요
리빌드, 리브랜딩, 프레임워크 이전 전에 현재 사이트를 DESIGN.md로 저장하고, 직접 확인해야 할 부분을 파악하세요.
참고 사이트 두 곳을 섞어 프로토타입용 디자인 하나 만들기
추출한 DESIGN.md 두 개를 토큰 단위로 비교하고, 직접 또는 에이전트로 프로토타입용 사양 하나로 합치세요.
MCP로 코딩 에이전트에게 필요할 때마다 디자인 사양 제공하기
MCP 서버를 연결하면 에이전트가 스스로 사이트의 DESIGN.md를 추출하고, 기다렸다가, 그걸로 UI를 만들어요.