문제: AI는 디자인을 기억하지 못합니다

Figma 디자인 시스템이 아무리 정교해도 AI 에이전트는 그것을 모릅니다. 매 대화마다 색상 코드를 복붙하거나, 에이전트가 임의로 선택한 컬러가 브랜드와 전혀 다른 상황이 반복됩니다.

디자인 토큰에 값만 있고 이유가 없으면, 에이전트는 "왜 이 색인지" 모른 채 비슷해 보이는 다른 값을 쓸 수 있습니다.

design.md는 이 문제를 YAML 토큰 + 마크다운 설명의 조합으로 해결합니다. 토큰에는 정확한 값이, 산문에는 그 결정의 배경이 함께 담깁니다.

기존 방식과 비교

기존 방식
VS
design.md
매 대화마다 색상 코드 복붙
DESIGN.md 파일 한 번 생성
에이전트가 임의로 색상 선택
에이전트가 토큰 참조해 구현
컴포넌트마다 스타일 불일치
브랜드 의도까지 이해하고 적용
디자이너가 매번 수동 검수
린터가 WCAG 대비비 자동 검사
토큰 변경 시 어디 깨졌는지 모름
diff 명령어로 변경 추적

DESIGN.md 파일 구조

파일은 YAML 프론트매터(토큰 값)와 마크다운 본문(설계 이유)으로 구성됩니다.

--- name: Heritage colors: primary: "#1A1C1E" tertiary: "#B8422E" typography: h1: fontFamily: Public Sans fontSize: 3rem spacing: sm: 8px md: 16px lg: 32px rounded: default: 4px --- ## 컬러 팔레트 Primary는 깊은 중립 톤으로 콘텐츠의 무게감을 표현합니다. Tertiary의 테라코타 레드는 CTA에서만 제한적으로 사용해 브랜드의 절제된 에너지를 강조합니다. ## 타이포그래피 Public Sans는 모더니즘과 가독성의 균형을 잡습니다. h1은 3rem으로 섹션 계층을 명확히 구분합니다.

에이전트는 이 파일을 읽으면 토큰 값과 그 이유를 함께 이해합니다. 단순히 "#B8422E를 써라"가 아니라 "CTA에서만 제한적으로 쓰는 색"임을 알게 됩니다.

4가지 CLI 도구

lint DESIGN.md
구조 검증 + WCAG 색상 대비비 체크 + 토큰 참조 오류 탐지. 결과를 JSON으로 출력해 에이전트가 바로 처리 가능.
diff v1.md v2.md
두 버전 사이의 토큰 변경을 추적. 어떤 색이 바뀌었는지, 어떤 컴포넌트에 영향을 줄지 파악.
export --format tailwind
토큰을 Tailwind v3/v4 설정 또는 W3C Design Token Format으로 변환. Figma → design.md → 코드 파이프라인 완성.
spec DESIGN.md
에이전트 프롬프트용 포맷 명세를 출력. Claude나 GPT에 붙여넣으면 파일 형식을 즉시 이해.

토큰 유형

DESIGN.md가 정의할 수 있는 4가지 핵심 토큰 카테고리입니다.

Colors
primary, secondary, tertiary...
HEX, RGB, oklch 모두 지원. 에이전트가 토큰 이름으로 참조.
Typography
fontFamily, fontSize, lineHeight...
h1~h6, body, caption 등 계층별로 정의.
Spacing
sm: 8px, md: 16px, lg: 32px...
일관된 간격 리듬. 컴포넌트 간 여백 표준화.
Components
button, card, input...
컴포넌트 수준 토큰 참조. {colors.primary} 형식으로 연결.

에이전트에게 디자인 시스템 주입하기

DESIGN.md를 Claude Code나 Cursor에 연결하면 에이전트가 매 컴포넌트 생성 시 토큰을 자동 참조합니다. spec 명령어로 출력한 명세를 시스템 프롬프트에 추가하는 방법이 가장 간단합니다.

npx @google/design.md spec DESIGN.md > design-spec.txt # 출력된 텍스트를 Claude Code CLAUDE.md에 추가

이후 "헤더 컴포넌트 만들어줘"라고 하면 에이전트가 primary 컬러, h1 타이포그래피, md 간격을 자동으로 적용합니다.

Claude Code Cursor Windsurf Cline GitHub Copilot

설치 및 시작 방법

1

CLI 설치

npm으로 전역 설치합니다. Windows에서는 파일 확장자 충돌을 피해 designmd 별칭을 사용합니다.

npm install -g @google/design.md
2

DESIGN.md 파일 생성

프로젝트 루트에 DESIGN.md 파일을 만듭니다. YAML 프론트매터에 색상·폰트·간격 토큰을 정의하고, 마크다운 본문에 각 결정의 이유를 적습니다.

3

린터로 검증

구조가 올바른지, 색상 대비비가 WCAG를 통과하는지 확인합니다. JSON 출력이므로 CI/CD 파이프라인에 바로 통합 가능합니다.

npx @google/design.md lint DESIGN.md
4

Tailwind로 익스포트

정의한 토큰을 Tailwind 설정 파일로 변환합니다. 기존 프로젝트에 바로 통합할 수 있습니다.

npx @google/design.md export --format tailwind DESIGN.md
5

에이전트에 연결

spec 명령어로 에이전트 프롬프트용 명세를 출력하고 CLAUDE.md 또는 .cursorrules에 추가합니다. 이후 모든 AI 생성 코드에 디자인 시스템이 자동 반영됩니다.

npx @google/design.md spec DESIGN.md >> CLAUDE.md

솔직한 한계

아직 알파 버전입니다. 스펙이 활발하게 변경 중이며 프로덕션 사용 전 변경 로그를 반드시 확인하세요.

에이전트가 반드시 따르진 않습니다. DESIGN.md를 시스템 프롬프트에 주입해도 에이전트가 항상 토큰을 참조한다는 보장은 없습니다. 린터를 CI에 연결해 생성된 코드를 검증하는 단계가 필요합니다.

Figma 직접 연동은 없습니다. Figma Variables에서 DESIGN.md로 자동 변환하는 공식 플러그인은 아직 없습니다. 수동으로 토큰을 옮겨야 합니다.