Series·STEP 02 / 06[Dong-Ding BLOG] 블로그 만들기

Step 2. 디자인 시스템 - DESIGN.md

토큰을 먼저 정의하고 그 위에서 시안을 그린 과정. AI의 랜덤성을 제약한다.

동딩
2026.04.28·2분 읽기·

들어가며

얼마 전에 구글 stitch에서 쓰는 DESIGN.md 라는 개념을 접했습니다. CLAUDE.md 처럼 작업 전에 항상 읽는 에이전트 지침 문서이지만, 디자인에 국한된 문서입니다. 색상 스키마, 폰트 같은 것을 미리 정의해놓고 그 안에서만 그리게 하는 방식입니다.

이 문서를 통해, 프로젝트 전체의 디자인 시스템을 일관화하여 매 세션마다 너무나 다른 화면을 산출하는 현상을 줄일 수 있었습니다.

1. 토큰부터

color, typography, spacing scale, border-radius scale, shadow elevation. 이 다섯 가지를 먼저 정의하고, 그 위에서만 시안을 그리도록 했습니다.

github.com
GitHub - VoltAgent/awesome-design-md: A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI.
A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI. - VoltAgent/awesome-design-md
yaml
# design.md 일부 (awsome-design-md의 framer)
---
version: alpha
name: Framer-design-analysis
description: "A confident dark-canvas builder marketing site that treats the page like a working artboard — pure black surfaces, white display type set in GT Walsheim Medium with aggressive negative tracking, and a single confident blue (#0099ff) reserved for hyperlinks and selection states. The page rhythm is broken by oversized vibrant gradient atmosphere panels — magenta, violet, orange spotlights — that act as living showcase tiles, not decoration. Every CTA is a white pill on dark; every card is a translucent or charcoal surface; every section title pulls letter-spacing tight enough to feel like a poster."
colors:
primary: "#ffffff"
on-primary: "#000000"
accent-blue: "#0099ff"
ink: "#ffffff"
ink-muted: "#999999"
canvas: "#090909"
surface-1: "#141414"
surface-2: "#1c1c1c"
hairline: "#262626"
hairline-soft: "#1a1a1a"
inverse-canvas: "#ffffff"
inverse-ink: "#000000"
gradient-magenta: "#d44df0"
gradient-violet: "#6a4cf5"
gradient-orange: "#ff7a3d"
gradient-coral: "#ff5577"
semantic-success: "#22c55e"
typography:
display-xxl:
fontFamily: GT Walsheim Framer Medium
fontSize: 110px
fontWeight: 500
lineHeight: 0.85
letterSpacing: -5.5px
display-xl:
fontFamily: GT Walsheim Medium
fontSize: 85px
fontWeight: 500
lineHeight: 0.95
letterSpacing: -4.25px
fontFeature: ss02
...

디자인 작성 전 시안이든 컴포넌트든 전부 이 이름들로만 조립됩니다. 코드에 #f7f4ed 같은 값이 직접 보이면 그게 곧 규칙을 벗어났다는 신호가 됩니다.

2. 시안 머징과 컴포넌트 분해

다음으로 시안을 그렸습니다.

  1. 레퍼런스 입력 - 원하는 톤(절제, 흑백 위주, 타이포 중심)
  2. 시안 생성 - claude-design 으로 4~5개
  3. 머징 - 시안 A의 헤더, 시안 B의 본문 타이포, 시안 C의 카드를 합쳐서 하나로
  4. 컴포넌트 분해 - 합쳐진 결과물을 토큰 기반 컴포넌트로 풀어내기

닫으며

이 단계에서 남은 건 시안이 아니라 시안을 만들 수 있는 토큰 세트였습니다. 시안은 몇 번이고 다시 그릴 수 있지만 토큰은 한 번 잡히면 계속 갑니다.

다음 단계는 프로토타입입니다. 이 토큰 위에서 와이어프레임/디자인을 뽑고 구체화하는 과정입니다.

Comments

댓글

powered by giscus ↗
시간순 글 탐색