@kood/claude-code 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/index.js +53 -7
  2. package/package.json +2 -1
  3. package/templates/.claude/PARALLEL_AGENTS.md +737 -0
  4. package/templates/.claude/agents/analyst.md +416 -0
  5. package/templates/.claude/agents/architect.md +569 -0
  6. package/templates/.claude/agents/code-reviewer.md +132 -133
  7. package/templates/.claude/agents/dependency-manager.md +93 -94
  8. package/templates/.claude/agents/deployment-validator.md +64 -65
  9. package/templates/.claude/agents/designer.md +655 -0
  10. package/templates/.claude/agents/document-writer.md +500 -0
  11. package/templates/.claude/agents/explore.md +499 -0
  12. package/templates/.claude/agents/git-operator.md +74 -75
  13. package/templates/.claude/agents/implementation-executor.md +138 -109
  14. package/templates/.claude/agents/ko-to-en-translator.md +18 -22
  15. package/templates/.claude/agents/lint-fixer.md +250 -93
  16. package/templates/.claude/agents/planner.md +356 -0
  17. package/templates/.claude/agents/refactor-advisor.md +135 -136
  18. package/templates/.claude/commands/bug-fix.md +296 -207
  19. package/templates/.claude/commands/git-all.md +199 -46
  20. package/templates/.claude/commands/git-session.md +113 -57
  21. package/templates/.claude/commands/lint-fix.md +219 -153
  22. package/templates/.claude/commands/lint-init.md +113 -76
  23. package/templates/.claude/commands/pre-deploy.md +190 -124
  24. package/templates/.claude/commands/refactor.md +407 -162
  25. package/templates/.claude/commands/version-update.md +138 -37
  26. package/templates/.claude/instructions/context-engineering/ANTHROPIC_CONTEXT_ENGINEERING.md +178 -0
  27. package/templates/.claude/instructions/context-engineering/references/claude-4x.md +215 -0
  28. package/templates/.claude/instructions/context-engineering/references/core-principles.md +137 -0
  29. package/templates/.claude/instructions/context-engineering/references/examples.md +351 -0
  30. package/templates/.claude/instructions/context-engineering/references/techniques.md +162 -0
  31. package/templates/.claude/instructions/parallel-agent-execution.md +874 -0
  32. package/templates/.claude/skills/docs-creator/AGENTS.md +238 -0
  33. package/templates/.claude/{commands/docs-creator.md → skills/docs-creator/SKILL.md} +61 -75
  34. package/templates/.claude/skills/docs-refactor/AGENTS.md +270 -0
  35. package/templates/.claude/{commands/docs-refactor.md → skills/docs-refactor/SKILL.md} +30 -44
  36. package/templates/.claude/skills/execute/SKILL.md +451 -0
  37. package/templates/.claude/skills/figma-to-code/AGENTS.md +287 -0
  38. package/templates/.claude/skills/figma-to-code/SKILL.md +225 -225
  39. package/templates/.claude/skills/figma-to-code/references/design-tokens.md +75 -73
  40. package/templates/.claude/skills/figma-to-code/references/figma-mcp-tools.md +73 -73
  41. package/templates/.claude/skills/figma-to-code/references/layout-mapping.md +104 -104
  42. package/templates/.claude/skills/figma-to-code/references/responsive-design.md +99 -99
  43. package/templates/.claude/skills/figma-to-code/references/verification.md +91 -91
  44. package/templates/.claude/skills/global-uiux-design/AGENTS.md +317 -0
  45. package/templates/.claude/skills/global-uiux-design/SKILL.md +738 -0
  46. package/templates/.claude/skills/global-uiux-design/references/accessibility.md +401 -0
  47. package/templates/.claude/skills/global-uiux-design/references/color-system.md +275 -0
  48. package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +206 -0
  49. package/templates/.claude/skills/global-uiux-design/references/design-systems.md +446 -0
  50. package/templates/.claude/skills/korea-uiux-design/AGENTS.md +307 -0
  51. package/templates/.claude/skills/korea-uiux-design/SKILL.md +170 -0
  52. package/templates/.claude/skills/nextjs-react-best-practices/AGENTS.md +95 -116
  53. package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +134 -152
  54. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-event-handler-refs.md +6 -6
  55. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-use-latest.md +5 -5
  56. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-api-routes.md +5 -5
  57. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-defer-await.md +22 -22
  58. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-dependencies.md +5 -5
  59. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-parallel.md +4 -4
  60. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-suspense-boundaries.md +21 -21
  61. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  62. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-conditional.md +4 -4
  63. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  64. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-dynamic-imports.md +4 -4
  65. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-preload.md +5 -5
  66. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-event-listeners.md +9 -9
  67. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-swr-dedup.md +7 -7
  68. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-batch-dom-css.md +13 -13
  69. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-function-results.md +14 -14
  70. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-property-access.md +4 -4
  71. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-storage.md +10 -10
  72. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-combine-iterations.md +4 -4
  73. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-early-exit.md +7 -7
  74. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-hoist-regexp.md +6 -6
  75. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-index-maps.md +6 -6
  76. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-length-check-first.md +14 -14
  77. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-min-max-loop.md +16 -16
  78. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-set-map-lookups.md +4 -4
  79. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  80. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-activity.md +4 -4
  81. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  82. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-conditional-render.md +8 -8
  83. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-content-visibility.md +4 -4
  84. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  85. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hydration-no-flicker.md +14 -14
  86. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-svg-precision.md +5 -5
  87. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-defer-reads.md +4 -4
  88. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-dependencies.md +7 -7
  89. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-derived-state.md +5 -5
  90. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  91. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  92. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-memo.md +5 -5
  93. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-transitions.md +4 -4
  94. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-after-nonblocking.md +24 -24
  95. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-lru.md +10 -10
  96. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-react.md +4 -4
  97. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-parallel-fetching.md +5 -5
  98. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-serialization.md +6 -6
  99. package/templates/.claude/skills/plan/SKILL.md +594 -0
  100. package/templates/.claude/skills/prd/SKILL.md +496 -0
  101. package/templates/.claude/skills/ralph/AGENTS.md +393 -0
  102. package/templates/.claude/skills/ralph/SKILL.md +1035 -0
  103. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +100 -121
  104. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +139 -157
  105. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-defer-await.md +22 -22
  106. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-dependencies.md +5 -5
  107. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-loader.md +7 -7
  108. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-parallel.md +4 -4
  109. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  110. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-conditional.md +4 -4
  111. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  112. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-lazy-routes.md +12 -12
  113. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-preload.md +5 -5
  114. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-event-listeners.md +9 -9
  115. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-tanstack-query.md +12 -12
  116. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-batch-dom-css.md +13 -13
  117. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-function-results.md +14 -14
  118. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-property-access.md +4 -4
  119. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-storage.md +10 -10
  120. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-combine-iterations.md +4 -4
  121. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-early-exit.md +7 -7
  122. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-hoist-regexp.md +6 -6
  123. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-index-maps.md +6 -6
  124. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-length-check-first.md +14 -14
  125. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-min-max-loop.md +16 -16
  126. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-set-map-lookups.md +4 -4
  127. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  128. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  129. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-conditional-render.md +8 -8
  130. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-content-visibility.md +4 -4
  131. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  132. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-svg-precision.md +5 -5
  133. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-defer-reads.md +4 -4
  134. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-dependencies.md +7 -7
  135. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-derived-state.md +5 -5
  136. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  137. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  138. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-memo.md +5 -5
  139. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-transitions.md +4 -4
  140. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-cache-lru.md +12 -12
  141. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +14 -14
  142. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-parallel-fetching.md +9 -9
  143. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +6 -6
  144. package/templates/.claude/commands/agent-creator.md +0 -370
  145. package/templates/.claude/commands/command-creator.md +0 -524
  146. package/templates/.claude/commands/execute.md +0 -469
  147. package/templates/.claude/commands/git.md +0 -98
  148. package/templates/.claude/commands/plan.md +0 -526
  149. package/templates/.claude/commands/prd.md +0 -629
@@ -2,24 +2,24 @@
2
2
 
3
3
  <context>
4
4
 
5
- **Purpose:** Convert Figma designs to 100% accurate code. Extract design tokens/layouts/assets via Figma MCP to ensure pixel-perfect accuracy.
5
+ **Purpose:** Figma 디자인을 100% 정확하게 코드로 변환. Figma MCP로 디자인 토큰/레이아웃/에셋을 추출하여 픽셀 단위 정확도 보장.
6
6
 
7
- **Trigger:** Implementing Figma designs, generating design system code, developing UI components
7
+ **Trigger:** Figma 디자인 구현, 디자인 시스템 코드 생성, UI 컴포넌트 개발
8
8
 
9
9
  **Key Features:**
10
- - Pixel-perfect accuracy (no approximations)
11
- - Automatic design token extraction (Variables, Styles)
12
- - Real asset downloads (no AI-generated assets)
13
- - Accurate Auto Layout → Flexbox/Grid mapping
14
- - Responsive design implementation required
15
- - Asset WebP compression and structured organization
16
-
17
- **Critical Rules (must be followed):**
18
- 1. Do not arbitrarily interpret designs or create "similar-looking" versions
19
- 2. Use only precise values extracted from Figma for all measurements
20
- 3. Implement responsive breakpoints for all devices (mobile/tablet/desktop)
21
- 4. Always compress images to WebP and organize in appropriate folders
22
- 5. Use only Figma assets (AI-generated assets absolutely forbidden)
10
+ - 픽셀 단위 정확도 (근사치 금지)
11
+ - 디자인 토큰 자동 추출 (Variables, Styles)
12
+ - 실제 에셋 다운로드 (AI 생성 금지)
13
+ - Auto Layout → Flexbox/Grid 정확한 매핑
14
+ - 반응형 디자인 필수 구현
15
+ - 에셋 WebP 압축 구조화
16
+
17
+ **Critical Rules (무조건 준수):**
18
+ 1. 디자인을 임의로 해석하거나 "비슷하게" 만들지 않음
19
+ 2. 모든 수치는 Figma에서 추출한 정확한 사용
20
+ 3. 반응형 브레이크포인트 필수 구현 (모바일/태블릿/데스크톱)
21
+ 4. 이미지는 반드시 WebP 압축 적재적소 폴더링
22
+ 5. Figma 에셋만 사용 (AI 생성 절대 금지)
23
23
 
24
24
  </context>
25
25
 
@@ -27,32 +27,32 @@
27
27
 
28
28
  <prerequisites>
29
29
 
30
- ## Pre-requisites
30
+ ## 사전 준비
31
31
 
32
- ### Verify Figma MCP Connection
32
+ ### Figma MCP 연결 확인
33
33
 
34
34
  ```bash
35
- # Desktop MCP (local, selection-based)
35
+ # Desktop MCP (로컬, 선택 기반)
36
36
  claude mcp add --transport http figma-desktop http://127.0.0.1:3845/mcp
37
37
 
38
- # Remote MCP (cloud)
38
+ # Remote MCP (클라우드)
39
39
  claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
40
40
  ```
41
41
 
42
- **Enable Desktop MCP:**
43
- 1. Launch Figma Desktop app
44
- 2. Open fileSwitch to Dev Mode
45
- 3. In Inspect panel, click "Enable desktop MCP server"
42
+ **Desktop MCP 활성화:**
43
+ 1. Figma 데스크톱 앱 실행
44
+ 2. 파일 열기 → Dev Mode 전환
45
+ 3. Inspect 패널에서 "Enable desktop MCP server" 클릭
46
46
 
47
- ### Organize Figma File Structure (Designer Guide)
47
+ ### Figma 파일 구조화 (디자이너 가이드)
48
48
 
49
- | Item | Requirement |
50
- |------|-------------|
51
- | **Auto Layout** | Apply Auto Layout to all Frames |
52
- | **Variables** | Define colors/spacing/font sizes as Variables |
53
- | **Components** | Separate reusable elements as Components |
54
- | **Naming** | Layer names in PascalCase (Button, CardHeader) |
55
- | **Annotations** | Document interactions (hover, click) in comments |
49
+ | 항목 | 필수 사항 |
50
+ |------|----------|
51
+ | **Auto Layout** | 모든 Frame에 Auto Layout 적용 |
52
+ | **Variables** | 색상/간격/폰트 크기를 Variables로 정의 |
53
+ | **Components** | 재사용 요소는 Component로 분리 |
54
+ | **Naming** | 레이어명: PascalCase (Button, CardHeader) |
55
+ | **Annotations** | 호버/클릭 인터랙션 주석으로 설명 |
56
56
 
57
57
  </prerequisites>
58
58
 
@@ -60,18 +60,18 @@ claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
60
60
 
61
61
  <workflow>
62
62
 
63
- ## Workflow (5 Phases)
63
+ ## 워크플로우 (5단계)
64
64
 
65
- ### Phase 0: Understand Project Environment
65
+ ### Phase 0: 프로젝트 환경 파악
66
66
 
67
- **Goal:** Detect Vite/Next.js environment and verify existing tokens
67
+ **목표:** Vite/Next.js 환경 감지 기존 토큰 확인
68
68
 
69
69
  ```
70
- 1. Detect framework
71
- - Vite: Check for vite.config.js/ts existence
72
- - Next.js: Check for next.config.js/ts existence
70
+ 1. 프레임워크 감지
71
+ - Vite: vite.config.js/ts 존재 여부 확인
72
+ - Next.js: next.config.js/ts 존재 여부 확인
73
73
 
74
- 2. Locate globals.css
74
+ 2. globals.css 위치 파악
75
75
  Vite:
76
76
  - src/index.css
77
77
  - src/main.css
@@ -81,7 +81,7 @@ claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
81
81
  - app/globals.css (App Router)
82
82
  - styles/globals.css (Pages Router)
83
83
 
84
- 3. Verify existing @theme block
84
+ 3. 기존 @theme 블록 확인
85
85
  @import "tailwindcss";
86
86
 
87
87
  @theme {
@@ -90,76 +90,76 @@ claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
90
90
  ...
91
91
  }
92
92
 
93
- 4. Verify Tailwind CSS version
94
- - Confirm v4 usage (tailwindcss: ^4.0.0 in package.json)
95
- - Recommend upgrade if not v4
93
+ 4. Tailwind CSS 버전 확인
94
+ - v4 사용 확인 (package.json에서 tailwindcss: ^4.0.0)
95
+ - v4 아닐 경우 업그레이드 권장
96
96
  ```
97
97
 
98
- **Tailwind v4 Characteristics:**
99
- - **No Config File**: Remove tailwind.config.js → Write @theme directly in CSS
100
- - **Auto Class Generation**: `@theme { --color-primary: #xxx; }` → `bg-primary` generated automatically
101
- - **Integrated globals.css**: Manage all tokens in one place
98
+ **Tailwind v4 특징:**
99
+ - **설정 파일 없음**: tailwind.config.js 제거 CSS 파일에 @theme 직접 작성
100
+ - **자동 클래스 생성**: `@theme { --color-primary: #xxx; }` → `bg-primary` 자동
101
+ - **globals.css 통합**: 모든 토큰을 곳에서 관리
102
102
 
103
- ### Phase 1: Extract
103
+ ### Phase 1: 분석 (Extract)
104
104
 
105
- **Goal:** Extract precise design data from Figma
105
+ **목표:** Figma에서 정확한 디자인 데이터 추출
106
106
 
107
107
  ```
108
- 1. Verify Figma file/component selection
109
- - Desktop MCP: Select target layers before work
110
- - Remote MCP: Provide file URL
108
+ 1. Figma 파일/컴포넌트 선택 확인
109
+ - Desktop MCP: 레이어 선택 작업
110
+ - Remote MCP: 파일 URL 제공
111
111
 
112
- 2. Extract Variables & Styles
113
- - Colors: Color Variables → CSS Variables / Tailwind config
114
- - Typography: Text Styles → font-size, line-height, weight
115
- - Spacing: Spacing Variables → margin, padding, gap
112
+ 2. Variables & Styles 추출
113
+ - 색상: Color Variables → CSS Variables / Tailwind config
114
+ - 타이포그래피: Text Styles → font-size, line-height, weight
115
+ - 간격: Spacing Variables → margin, padding, gap
116
116
 
117
- 3. Analyze Auto Layout structure
117
+ 3. Auto Layout 구조 파악
118
118
  - Direction: Horizontal → flex-row, Vertical → flex-col
119
119
  - Alignment: align-items, justify-content
120
- - Spacing: gap value
120
+ - Spacing: gap
121
121
 
122
- 4. Create asset list
123
- - Images: Extract download links
124
- - Icons: SVG export
125
- - Logos/Illustrations: PNG/WebP
126
- - Categorize by type (hero/icons/logos/illustrations)
122
+ 4. 에셋 목록 생성
123
+ - 이미지: 다운로드 링크 추출
124
+ - 아이콘: SVG export
125
+ - 로고/일러스트: PNG/WebP
126
+ - 에셋 타입별 분류 (hero/icons/logos/illustrations)
127
127
 
128
- 5. Verify responsive breakpoints (required)
129
- Analyze Figma Constraints:
128
+ 5. 반응형 브레이크포인트 확인 (필수)
129
+ Figma Constraints 분석:
130
130
  - Mobile: 320px ~ 767px
131
131
  - Tablet: 768px ~ 1023px
132
132
  - Desktop: 1024px+
133
133
 
134
- Check each breakpoint:
135
- - Layout changes (Grid → List, Horizontal → Vertical)
136
- - Font size changes
137
- - Spacing adjustments
138
- - Hidden/visible elements
134
+ 브레이크포인트별 확인:
135
+ - 레이아웃 변화 (Grid → List, Horizontal → Vertical)
136
+ - 폰트 크기 변화
137
+ - 간격 조정
138
+ - 숨김/표시 요소
139
139
  ```
140
140
 
141
- **Details:** [references/figma-mcp-tools.md](references/figma-mcp-tools.md)
141
+ **상세:** [references/figma-mcp-tools.md](references/figma-mcp-tools.md)
142
142
 
143
- ### Phase 2: Structure
143
+ ### Phase 2: 구조화 (Structure)
144
144
 
145
- **Goal:** Convert Figma Frame hierarchy → React component structure + Tailwind v4 tokens
145
+ **목표:** Figma Frame 계층 → React 컴포넌트 구조 + Tailwind v4 토큰 생성
146
146
 
147
147
  ```
148
- 1. Analyze Frame Hierarchy
148
+ 1. Frame Hierarchy 분석
149
149
  Frame "Header"
150
150
  ├─ Frame "Logo" → <div className="logo">
151
151
  ├─ Frame "Navigation" → <nav>
152
152
  └─ Frame "Actions" → <div className="actions">
153
153
 
154
- 2. Design Tokens → @theme block (Tailwind v4)
154
+ 2. Design Tokens → @theme 블록 (Tailwind v4)
155
155
 
156
- A. Verify globals.css
157
- - If existing @theme block exists, merge with it
158
- - Otherwise, create new one
156
+ A. globals.css 확인
157
+ - 기존 @theme 블록이 있으면 병합
158
+ - 없으면 새로 생성
159
159
 
160
- B. Map Figma Variables → @theme
160
+ B. Figma Variables → @theme 매핑
161
161
 
162
- Vite (src/index.css or src/main.css):
162
+ Vite (src/index.css 또는 src/main.css):
163
163
  ```css
164
164
  @import "tailwindcss";
165
165
 
@@ -181,8 +181,8 @@ claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
181
181
  --font-weight-regular: 400;
182
182
  --font-weight-semibold: 600;
183
183
 
184
- /* Prevent conflicts with existing tokens */
185
- /* --color-brand: #xxx; (existing) */
184
+ /* 기존 토큰이 있다면 충돌 방지 */
185
+ /* --color-brand: #xxx; (기존) */
186
186
  }
187
187
  ```
188
188
 
@@ -191,140 +191,140 @@ claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
191
191
  @import "tailwindcss";
192
192
 
193
193
  @theme {
194
- /* Same structure */
194
+ /* 동일한 구조 */
195
195
  }
196
196
  ```
197
197
 
198
- C. Verify auto class generation
198
+ C. 자동 클래스 생성 확인
199
199
  @theme { --color-primary: #3182F6; }
200
- → bg-primary, text-primary, border-primary generated automatically
200
+ → bg-primary, text-primary, border-primary 자동 생성
201
201
 
202
- D. Merge existing globals.css tokens
202
+ D. 기존 globals.css 토큰 병합
203
203
  ```css
204
204
  @theme {
205
- /* Existing tokens (maintain) */
205
+ /* 기존 토큰 (유지) */
206
206
  --color-brand: #FF5733;
207
207
 
208
- /* Tokens extracted from Figma (add) */
208
+ /* Figma에서 추출한 토큰 (추가) */
209
209
  --color-primary: #3182F6;
210
210
  --spacing-md: 16px;
211
211
  }
212
212
  ```
213
213
 
214
- 3. Component separation criteria
215
- - ReusableSeparate component
216
- - Used onceInline
214
+ 3. Component 분리 기준
215
+ - 재사용 가능 별도 컴포넌트
216
+ - 번만 사용 inline
217
217
  ```
218
218
 
219
- **Details:**
219
+ **상세:**
220
220
  - [references/design-tokens.md](references/design-tokens.md)
221
221
  - [references/layout-mapping.md](references/layout-mapping.md)
222
222
 
223
- ### Phase 3: Implement
223
+ ### Phase 3: 구현 (Implement)
224
224
 
225
- **Goal:** Write code with exact measurements
225
+ **목표:** 정확한 수치로 코드 작성
226
226
 
227
- #### Layout Implementation
227
+ #### 레이아웃 구현
228
228
 
229
229
  ```tsx
230
- // ❌ Arbitrary values
230
+ // ❌ 임의의
231
231
  <div className="flex gap-4 p-6">
232
232
 
233
- // ✅ Precise Figma values
233
+ // ✅ Figma 정확한 값
234
234
  <div className="flex gap-[18px] p-[24px]">
235
235
  </div>
236
236
  ```
237
237
 
238
- #### Color Implementation
238
+ #### 색상 구현
239
239
 
240
240
  ```tsx
241
- // ❌ Similar color
241
+ // ❌ 비슷한 색상
242
242
  <button className="bg-blue-500">
243
243
 
244
- // ✅ @theme token (Tailwind v4)
244
+ // ✅ @theme 토큰 (Tailwind v4)
245
245
  <button className="bg-primary">
246
246
 
247
- // ✅ Or precise HEX
247
+ // ✅ 또는 정확한 HEX
248
248
  <button className="bg-[#3182F6]">
249
249
  ```
250
250
 
251
- #### Typography Implementation
251
+ #### 타이포그래피 구현
252
252
 
253
253
  ```tsx
254
- // ❌ Approximation
254
+ // ❌ 근사치
255
255
  <h1 className="text-2xl font-bold">
256
256
 
257
- // ✅ Exact values
257
+ // ✅ 정확한
258
258
  <h1 className="text-[28px] leading-[36px] font-semibold tracking-[-0.02em]">
259
259
  ```
260
260
 
261
- #### Asset Handling (Required)
261
+ #### 에셋 처리 (필수)
262
262
 
263
- **1. Download Assets from Figma**
263
+ **1. Figma에서 에셋 다운로드**
264
264
  ```bash
265
- # Generate download link via Figma MCP
266
- get_images → Obtain download URL
265
+ # Figma MCP로 이미지 다운로드 링크 생성
266
+ get_images → 다운로드 URL 획득
267
267
  ```
268
268
 
269
- **2. WebP Compression (Required)**
269
+ **2. WebP 압축 (필수)**
270
270
 
271
- **Note:** Only compress PNG/JPG/JPEG files to WebP. SVG files should remain as-is.
271
+ **주의:** PNG/JPG/JPEG 파일만 WebP 압축합니다. SVG 파일은 변환하지 않고 그대로 사용합니다.
272
272
 
273
273
  ```bash
274
- # Using cwebp (Google WebP)
274
+ # cwebp 사용 (Google WebP)
275
275
  cwebp -q 80 input.png -o output.webp
276
276
  cwebp -q 80 input.jpg -o output.webp
277
277
 
278
- # Or ImageMagick
278
+ # 또는 ImageMagick
279
279
  convert input.png -quality 80 output.webp
280
280
  convert input.jpg -quality 80 output.webp
281
281
 
282
- # Batch conversion (PNG/JPG/JPEG only, excludes SVG)
282
+ # 일괄 변환 (PNG/JPG/JPEG만, SVG 제외)
283
283
  for file in *.{png,jpg,jpeg}; do
284
284
  [ -f "$file" ] || continue
285
285
  cwebp -q 80 "$file" -o "${file%.*}.webp"
286
286
  done
287
287
  ```
288
288
 
289
- **Compression Quality Guide:**
290
- | Use Case | Quality | Size |
291
- |----------|---------|------|
292
- | Hero images | 85-90 | High quality |
293
- | General images | 75-85 | Balanced |
294
- | Thumbnails | 60-75 | Optimized |
289
+ **압축 품질 가이드:**
290
+ | 용도 | 품질 | 용량 |
291
+ |------|------|------|
292
+ | Hero 이미지 | 85-90 | 고화질 |
293
+ | 일반 이미지 | 75-85 | 균형 |
294
+ | 썸네일 | 60-75 | 최적화 |
295
295
 
296
- **3. Organize public Folder (Required)**
296
+ **3. public 폴더 구조화 (필수)**
297
297
  ```
298
298
  public/
299
299
  ├── images/
300
- │ ├── hero/ # Hero section images
300
+ │ ├── hero/ # Hero 섹션 이미지
301
301
  │ │ ├── banner.webp
302
302
  │ │ └── background.webp
303
- │ ├── products/ # Product images
303
+ │ ├── products/ # 제품 이미지
304
304
  │ │ ├── product-1.webp
305
305
  │ │ └── product-2.webp
306
- │ ├── team/ # Team photos
306
+ │ ├── team/ # 사진
307
307
  │ │ └── member-1.webp
308
- │ └── thumbnails/ # Thumbnails
308
+ │ └── thumbnails/ # 썸네일
309
309
  │ └── thumb-1.webp
310
- ├── icons/ # Icons (SVG)
310
+ ├── icons/ # 아이콘 (SVG)
311
311
  │ ├── social/
312
312
  │ │ ├── facebook.svg
313
313
  │ │ └── twitter.svg
314
314
  │ └── ui/
315
315
  │ ├── arrow.svg
316
316
  │ └── close.svg
317
- └── logos/ # Logos
317
+ └── logos/ # 로고
318
318
  ├── logo.svg
319
319
  └── logo-white.svg
320
320
  ```
321
321
 
322
- **4. Use in Code**
322
+ **4. 코드에서 사용**
323
323
  ```tsx
324
- // ❌ AI-generated/arbitrary images
324
+ // ❌ AI 생성/임의 이미지
325
325
  <img src="/placeholder.jpg" alt="Hero" />
326
326
 
327
- // ✅ Real Figma assets + WebP + organized path
327
+ // ✅ Figma 실제 에셋 + WebP + 구조화된 경로
328
328
  <img
329
329
  src="/images/hero/banner.webp"
330
330
  alt="Hero Banner"
@@ -333,14 +333,14 @@ public/
333
333
  loading="lazy"
334
334
  />
335
335
 
336
- // Icons
336
+ // 아이콘
337
337
  <img src="/icons/ui/arrow.svg" alt="" width={24} height={24} />
338
338
 
339
- // Logo
339
+ // 로고
340
340
  <img src="/logos/logo.svg" alt="Company Logo" width={120} height={40} />
341
341
  ```
342
342
 
343
- **5. Responsive Images**
343
+ **5. 반응형 이미지**
344
344
  ```tsx
345
345
  <picture>
346
346
  <source media="(min-width: 1024px)" srcSet="/images/hero/banner-desktop.webp" />
@@ -349,34 +349,34 @@ public/
349
349
  </picture>
350
350
  ```
351
351
 
352
- ### Phase 4: Verify
352
+ ### Phase 4: 검증 (Verify)
353
353
 
354
- **Goal:** Validate design and code accuracy
354
+ **목표:** 디자인과 코드의 정확도 검증
355
355
 
356
356
  ```
357
- Checklist:
358
- Colors: Compare Figma Color Picker with DevTools
359
- Spacing: All margin/padding/gap values match exactly
360
- Typography: size, weight, line-height match precisely
361
- Layout: Auto Layout structure reflected in code
362
-
363
- Assets (Required):
364
- Use actual files downloaded from Figma
365
- □ WebP compression completed (PNG/JPG → WebP)
366
- □ public/ folder organized (images/icons/logos)
367
- Clear filenames (hero-banner.webp, product-1.webp)
368
- Appropriate compression quality (hero: 85-90, general: 75-85)
369
-
370
- Responsive (Required):
371
- □ Mobile (320-767px) layout verified
372
- □ Tablet (768-1023px) layout verified
373
- □ Desktop (1024px+) layout verified
374
- Media query breakpoints exact
375
- Responsive images (<picture> or srcSet)
376
- All devices match Figma design
357
+ 체크리스트:
358
+ 색상: Figma Color Picker Dev Tools 비교
359
+ 간격: 모든 margin/padding/gap 일치
360
+ 폰트: size, weight, line-height 정확히 일치
361
+ 레이아웃: Auto Layout 구조 그대로 반영
362
+
363
+ 에셋 (필수):
364
+ Figma에서 다운로드한 실제 파일 사용
365
+ □ WebP 압축 완료 (PNG/JPG → WebP)
366
+ □ public/ 폴더 구조화 (images/icons/logos)
367
+ 파일명 명확 (hero-banner.webp, product-1.webp)
368
+ 적절한 압축 품질 (hero: 85-90, 일반: 75-85)
369
+
370
+ 반응형 (필수):
371
+ □ Mobile (320-767px) 레이아웃 확인
372
+ □ Tablet (768-1023px) 레이아웃 확인
373
+ □ Desktop (1024px+) 레이아웃 확인
374
+ 미디어 쿼리 정확한 브레이크포인트
375
+ 반응형 이미지 (<picture> 또는 srcSet)
376
+ 모든 디바이스에서 Figma 디자인 일치
377
377
  ```
378
378
 
379
- **Details:** [references/verification.md](references/verification.md)
379
+ **상세:** [references/verification.md](references/verification.md)
380
380
 
381
381
  </workflow>
382
382
 
@@ -384,69 +384,69 @@ Checklist:
384
384
 
385
385
  <best_practices>
386
386
 
387
- ## Best Practices
387
+ ## 베스트 프랙티스
388
388
 
389
389
  ### DO
390
390
 
391
- | Principle | Description |
392
- |-----------|-------------|
393
- | **Exact Values** | Use `px-[18px]` instead of `px-4` (exact value) |
394
- | **@theme First** | Figma Variables → @theme block (Tailwind v4) |
395
- | **Merge Existing Tokens** | Maintain existing globals.css tokens + merge new ones |
396
- | **Extract Before Implement** | Complete all token/asset extraction before coding |
397
- | **WebP Only** | Compress all images to WebP (PNG/JPG forbidden) |
398
- | **Structured Assets** | Organize with public/images/[category]/ folder structure |
399
- | **Responsive Required** | Implement all three breakpoints (Mobile/Tablet/Desktop) |
400
- | **Cross-Validate** | Figma Dev Mode + MCP + manual verification |
401
- | **Document Mapping** | Annotate with Figma properties in comments |
391
+ | 원칙 | 설명 |
392
+ |------|------|
393
+ | **Exact Values** | `px-4` 대신 `px-[18px]` (정확한 ) |
394
+ | **@theme First** | Figma Variables → @theme 블록 (Tailwind v4) |
395
+ | **Merge Existing Tokens** | globals.css 기존 토큰 유지 + 토큰 병합 |
396
+ | **Extract Before Implement** | 구현 모든 토큰/에셋 추출 완료 |
397
+ | **WebP Only** | 모든 이미지 WebP 압축 (PNG/JPG 금지) |
398
+ | **Structured Assets** | public/images/[category]/ 폴더 구조 |
399
+ | **Responsive Required** | Mobile/Tablet/Desktop 모두 구현 |
400
+ | **Cross-Validate** | Figma Dev Mode + MCP + 수동 확인 |
401
+ | **Document Mapping** | 주석으로 Figma 속성 명시 |
402
402
 
403
403
  ### DON'T
404
404
 
405
- | Forbidden | Reason |
406
- |-----------|--------|
407
- | **Use Approximations** | "Similar values" cause design mismatches |
408
- | **AI-Generated Assets** | Use only real assets created by designers |
409
- | **PNG/JPG Files** | Must compress to WebP before use |
410
- | **Images in public/ Root** | Folder structure required (images/icons/logos) |
411
- | **Skip Responsive** | All three breakpoints are mandatory |
412
- | **Arbitrary Interpretation** | Ignore Auto Layout and use manual layout |
413
- | **Tailwind Defaults** | Use exact `gap-[18px]` not `gap-4` |
414
- | **Use tailwind.config.js** | Tailwind v4 uses @theme block |
415
- | **Overwrite Existing Tokens** | Maintain existing globals.css tokens |
405
+ | 금지 사항 | 이유 |
406
+ |----------|------|
407
+ | **근사치 사용** | "비슷한 " 디자인 불일치 유발 |
408
+ | **AI 생성 에셋** | 디자이너가 제작한 실제 에셋만 사용 |
409
+ | **PNG/JPG 사용** | 반드시 WebP 압축 사용 |
410
+ | **public/ 루트에 이미지** | 폴더 구조화 필수 (images/icons/logos) |
411
+ | **반응형 생략** | Mobile/Tablet/Desktop 모두 필수 |
412
+ | **임의 해석** | Auto Layout 무시하고 수동 레이아웃 |
413
+ | **Tailwind 기본값** | `gap-4` 대신 정확한 `gap-[18px]` |
414
+ | **tailwind.config.js 사용** | Tailwind v4 @theme 블록 사용 |
415
+ | **기존 토큰 덮어쓰기** | globals.css 기존 토큰 유지 필수 |
416
416
 
417
- ### Prompt Example
417
+ ### 프롬프트 예시
418
418
 
419
419
  ```
420
- Convert this Figma component to code.
421
-
422
- Environment:
423
- - Vite/Next.js (verify project structure)
424
- - Tailwind CSS v4 in use
425
- - Maintain existing globals.css tokens
426
-
427
- Critical Rules (must follow):
428
- 1. Phase 0: Understand project environment (Vite/Next.js, globals.css location)
429
- 2. Phase 1: Extract Variables, Text Styles, Auto Layout, breakpoints via Figma MCP
430
- 3. Phase 2: Add tokens to @theme block (merge with existing tokens)
431
- 4. Phase 3: All measurements match exactly (no approximations)
432
-
433
- Asset Handling (Required):
434
- - Download from Figma (absolutely no AI-generated assets)
435
- - Compress PNG/JPG → WebP (quality 75-90)
436
- - Organize in public/images/[category]/
437
- - Clear filenames (hero-banner.webp, product-1.webp)
438
-
439
- Responsive (Required):
440
- - Mobile (320-767px): Verify layout changes
441
- - Tablet (768-1023px): Verify layout changes
442
- - Desktop (1024px+): Verify layout changes
443
- - Responsive images (<picture> or srcSet)
444
-
445
- Validation:
446
- - Colors/spacing/typography: 100% match with Figma
447
- - Assets: WebP compression and folder structure confirmed
448
- - Responsive: All devices match Figma design
449
- - @theme tokens auto-generate classes
420
+ Figma 컴포넌트를 코드로 만들어줘.
421
+
422
+ 환경:
423
+ - Vite/Next.js (프로젝트 구조 확인)
424
+ - Tailwind CSS v4 사용
425
+ - globals.css 기존 토큰 유지
426
+
427
+ Critical Rules (무조건 준수):
428
+ 1. Phase 0: 프로젝트 환경 파악 (Vite/Next.js, globals.css 위치)
429
+ 2. Phase 1: Figma MCP로 Variables, Text Styles, Auto Layout, 브레이크포인트 추출
430
+ 3. Phase 2: @theme 블록에 토큰 추가 (기존 토큰 병합)
431
+ 4. Phase 3: 모든 수치는 정확히 일치 (근사치 금지)
432
+
433
+ 에셋 처리 (필수):
434
+ - Figma에서 다운로드 (AI 생성 절대 금지)
435
+ - PNG/JPG → WebP 압축 (품질 75-90)
436
+ - public/images/[category]/ 구조화
437
+ - 파일명 명확 (hero-banner.webp, product-1.webp)
438
+
439
+ 반응형 (필수):
440
+ - Mobile (320-767px): 레이아웃 변화 확인
441
+ - Tablet (768-1023px): 레이아웃 변화 확인
442
+ - Desktop (1024px+): 레이아웃 변화 확인
443
+ - 반응형 이미지 (<picture> 또는 srcSet)
444
+
445
+ 검증:
446
+ - 색상/간격/폰트: Figma와 100% 일치
447
+ - 에셋: WebP 압축 폴더 구조 확인
448
+ - 반응형: 모든 디바이스에서 Figma 디자인 일치
449
+ - @theme 토큰 자동 클래스 생성 확인
450
450
  ```
451
451
 
452
452
  </best_practices>
@@ -455,15 +455,15 @@ Validation:
455
455
 
456
456
  <troubleshooting>
457
457
 
458
- ## Troubleshooting
458
+ ## 문제 해결
459
459
 
460
- | Problem | Cause | Solution |
461
- |---------|-------|----------|
462
- | MCP not connecting | Desktop MCP not enabled | Enable in Figma Dev Mode |
463
- | Color mismatch | Using direct colors instead of Variables | Extract Variables first |
464
- | Spacing error | Using Tailwind defaults | Override with exact px values |
465
- | Layout broken | Ignoring Auto Layout structure | Convert Frame hierarchy directly |
466
- | Missing assets | Export settings not verified | Verify Export Settings before download |
460
+ | 문제 | 원인 | 해결 |
461
+ |------|------|------|
462
+ | MCP 연결 | Desktop MCP 미활성화 | Figma Dev Mode에서 Enable |
463
+ | 색상 불일치 | Variables 대신 직접 색상 사용 | Variables 먼저 추출 |
464
+ | 간격 오차 | Tailwind 기본값 사용 | 정확한 px 값으로 override |
465
+ | 레이아웃 깨짐 | Auto Layout 구조 무시 | Frame 계층 그대로 변환 |
466
+ | 에셋 누락 | export 설정 미확인 | Export Settings 확인 다운로드 |
467
467
 
468
468
  </troubleshooting>
469
469
 
@@ -471,17 +471,17 @@ Validation:
471
471
 
472
472
  <references>
473
473
 
474
- ## Detailed Documentation
474
+ ## 상세 문서
475
475
 
476
- | Document | Content |
477
- |----------|---------|
478
- | [figma-mcp-tools.md](references/figma-mcp-tools.md) | Figma MCP tools usage, API endpoints |
479
- | [design-tokens.md](references/design-tokens.md) | Variables/Styles extraction and Tailwind v4 mapping |
480
- | [layout-mapping.md](references/layout-mapping.md) | Auto Layout → Flexbox/Grid conversion rules |
481
- | [responsive-design.md](references/responsive-design.md) | Responsive implementation guide (breakpoints, images) |
482
- | [verification.md](references/verification.md) | Design-code accuracy verification checklist |
476
+ | 문서 | 내용 |
477
+ |------|------|
478
+ | [figma-mcp-tools.md](references/figma-mcp-tools.md) | Figma MCP 도구 사용법, API 엔드포인트 |
479
+ | [design-tokens.md](references/design-tokens.md) | Variables/Styles 추출 Tailwind v4 매핑 |
480
+ | [layout-mapping.md](references/layout-mapping.md) | Auto Layout → Flexbox/Grid 변환 규칙 |
481
+ | [responsive-design.md](references/responsive-design.md) | 반응형 구현 가이드 (브레이크포인트, 이미지) |
482
+ | [verification.md](references/verification.md) | 디자인-코드 정확도 검증 체크리스트 |
483
483
 
484
- ## External References
484
+ ## 외부 참조
485
485
 
486
486
  - [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/)
487
487
  - [Design Tokens with Figma](https://blog.prototypr.io/design-tokens-with-figma-aef25c42430f)