@kood/claude-code 0.4.1 → 0.5.1

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 +69 -12
  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
@@ -1,19 +1,19 @@
1
- # Design Tokens Extraction and Mapping
1
+ # Design Tokens 추출 매핑
2
2
 
3
- Guide for precisely converting Figma Variables and Styles to Tailwind CSS v4 @theme blocks.
3
+ Figma Variables Styles Tailwind CSS v4 @theme 블록으로 정확히 변환하는 가이드.
4
4
 
5
- **Tailwind v4 Characteristics:**
6
- - **No Config File**: Remove tailwind.config.js
7
- - **@theme in CSS**: Define tokens directly in globals.css
8
- - **Auto Class Generation**: `@theme { --color-primary: #xxx; }` → `bg-primary` generated automatically
5
+ **Tailwind v4 특징:**
6
+ - **No Config File**: tailwind.config.js 제거
7
+ - **@theme in CSS**: globals.css에 직접 토큰 정의
8
+ - **Auto Class Generation**: `@theme { --color-primary: #xxx; }` → `bg-primary` 자동
9
9
 
10
10
  ---
11
11
 
12
- ## Variables Extraction
12
+ ## Variables 추출
13
13
 
14
14
  ### Color Variables
15
15
 
16
- **Figma Structure:**
16
+ **Figma 구조:**
17
17
  ```
18
18
  color/
19
19
  ├─ primary/
@@ -29,11 +29,11 @@ color/
29
29
  └─ warning → #F59E0B
30
30
  ```
31
31
 
32
- **Code Conversion:**
32
+ **코드 변환:**
33
33
 
34
- #### Tailwind v4 (@theme block)
34
+ #### Tailwind v4 (@theme 블록)
35
35
 
36
- **Vite** (src/index.css or src/main.css):
36
+ **Vite** (src/index.css 또는 src/main.css):
37
37
  ```css
38
38
  @import "tailwindcss";
39
39
 
@@ -59,23 +59,23 @@ color/
59
59
  @import "tailwindcss";
60
60
 
61
61
  @theme {
62
- /* Same structure */
62
+ /* 동일한 구조 */
63
63
  }
64
64
  ```
65
65
 
66
- **Auto Class Generation:**
66
+ **자동 클래스 생성:**
67
67
  ```tsx
68
- // After @theme { --color-primary-500: #3182F6; }
69
- <div className="bg-primary-500"> {/* Background color */}
70
- <div className="text-primary-500"> {/* Text color */}
71
- <div className="border-primary-500"> {/* Border color */}
68
+ // @theme { --color-primary-500: #3182F6; } 정의 후
69
+ <div className="bg-primary-500"> {/* 배경색 */}
70
+ <div className="text-primary-500"> {/* 텍스트 */}
71
+ <div className="border-primary-500"> {/* 보더 */}
72
72
  ```
73
73
 
74
- **Merge:** Define both existing globals.css tokens and Figma-extracted tokens in @theme block together.
74
+ **병합:** 기존 globals.css 토큰과 Figma 추출 토큰을 @theme 블록에 함께 정의.
75
75
 
76
76
  ### Spacing Variables
77
77
 
78
- **Figma Structure:**
78
+ **Figma 구조:**
79
79
  ```
80
80
  spacing/
81
81
  ├─ xs → 4px
@@ -86,7 +86,7 @@ spacing/
86
86
  └─ 2xl → 48px
87
87
  ```
88
88
 
89
- **Code Conversion (Tailwind v4):**
89
+ **코드 변환 (Tailwind v4):**
90
90
 
91
91
  ```css
92
92
  @import "tailwindcss";
@@ -101,11 +101,11 @@ spacing/
101
101
  }
102
102
  ```
103
103
 
104
- **Usage:** `p-md` (16px), `gap-xs` (4px), `m-lg` (24px)
104
+ **사용:** `p-md` (16px), `gap-xs` (4px), `m-lg` (24px)
105
105
 
106
106
  ### Typography Variables
107
107
 
108
- **Figma Structure:**
108
+ **Figma 구조:**
109
109
  ```
110
110
  font/
111
111
  ├─ size/
@@ -123,7 +123,7 @@ font/
123
123
  └─ bold → 700
124
124
  ```
125
125
 
126
- **Code Conversion (Tailwind v4):**
126
+ **코드 변환 (Tailwind v4):**
127
127
 
128
128
  ```css
129
129
  @import "tailwindcss";
@@ -147,11 +147,11 @@ font/
147
147
  }
148
148
  ```
149
149
 
150
- **Usage:** `text-sm font-regular font-sans` (14px/400/Pretendard), `text-lg font-semibold` (18px/600)
150
+ **사용:** `text-sm font-regular font-sans` (14px/400/Pretendard), `text-lg font-semibold` (18px/600)
151
151
 
152
152
  ---
153
153
 
154
- ## Styles Extraction
154
+ ## Styles 추출
155
155
 
156
156
  ### Text Styles
157
157
 
@@ -169,7 +169,7 @@ font/
169
169
  }
170
170
  ```
171
171
 
172
- **Code Conversion:**
172
+ **코드 변환:**
173
173
 
174
174
  #### CSS Class
175
175
 
@@ -187,7 +187,7 @@ font/
187
187
 
188
188
  ```tsx
189
189
  <h1 className="font-sans text-[28px] font-semibold leading-[36px] tracking-[-0.02em]">
190
- Heading
190
+ 제목
191
191
  </h1>
192
192
  ```
193
193
 
@@ -212,16 +212,16 @@ const H1 = ({ children }: { children: React.ReactNode }) => (
212
212
  }
213
213
  ```
214
214
 
215
- **RGB → HEX Conversion:**
215
+ **RGB → HEX 변환:**
216
216
  ```
217
217
  r: 0.133 × 255 = 34 → 22
218
218
  g: 0.725 × 255 = 185 → B9
219
219
  b: 0.478 × 255 = 122 → 7A
220
220
 
221
- Result: #22B97A (more accurately: #22C55E)
221
+ 결과: #22B97A (정확히는 #22C55E)
222
222
  ```
223
223
 
224
- **Code Usage:**
224
+ **코드 사용:**
225
225
  ```css
226
226
  .text-success {
227
227
  color: #22C55E;
@@ -246,7 +246,7 @@ Result: #22B97A (more accurately: #22C55E)
246
246
  }
247
247
  ```
248
248
 
249
- **Code Conversion:**
249
+ **코드 변환:**
250
250
  ```css
251
251
  .shadow-medium {
252
252
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
@@ -262,19 +262,19 @@ Result: #22B97A (more accurately: #22C55E)
262
262
 
263
263
  ---
264
264
 
265
- ## Conversion Rules
265
+ ## 변환 규칙
266
266
 
267
- ### Unit Conversion
267
+ ### 단위 변환
268
268
 
269
- | Figma | CSS | Description |
270
- |-------|-----|-------------|
271
- | `16` | `16px` | Pixels as-is |
272
- | `{ unit: "PERCENT", value: 120 }` | `120%` or `1.2` | line-height |
269
+ | Figma | CSS | 설명 |
270
+ |-------|-----|------|
271
+ | `16` | `16px` | 픽셀 그대로 |
272
+ | `{ unit: "PERCENT", value: 120 }` | `120%` 또는 `1.2` | line-height |
273
273
  | `{ unit: "PERCENT", value: -2 }` | `-0.02em` | letter-spacing |
274
274
  | `{ r: 0.5, g: 0.5, b: 0.5, a: 1 }` | `#808080` | RGB → HEX |
275
- | `{ r: 0, g: 0, b: 0, a: 0.5 }` | `rgba(0,0,0,0.5)` | When transparency present |
275
+ | `{ r: 0, g: 0, b: 0, a: 0.5 }` | `rgba(0,0,0,0.5)` | 투명도 있을 |
276
276
 
277
- ### Naming Rules
277
+ ### 네이밍 규칙
278
278
 
279
279
  | Figma | CSS Variable | Tailwind |
280
280
  |-------|--------------|----------|
@@ -282,7 +282,7 @@ Result: #22B97A (more accurately: #22C55E)
282
282
  | `spacing/md` | `--spacing-md` | `md` (spacing) |
283
283
  | `font/size/lg` | `--font-size-lg` | `text-lg` |
284
284
 
285
- ### Case Conversion
285
+ ### 케이스 변환
286
286
 
287
287
  ```
288
288
  Figma (PascalCase/slash): Heading/H1
@@ -292,42 +292,42 @@ Tailwind (custom): [28px] or heading-h1
292
292
 
293
293
  ---
294
294
 
295
- ## Workflow
295
+ ## 워크플로우
296
296
 
297
- | Step | Tool | Output |
298
- |------|------|--------|
299
- | Extract Variables | get_variables | variables.json |
300
- | Convert CSS | Node script | :root { --color-*: #...; } |
301
- | Extract Styles | get_styles | styles.json |
302
- | Generate @theme | Manual/script | @theme { --shadow-*: ...; } |
303
- | Validate | DevTools | className values match |
297
+ | 단계 | 도구 | 출력 |
298
+ |------|------|------|
299
+ | Variables 추출 | get_variables | variables.json |
300
+ | CSS 변환 | Node 스크립트 | :root { --color-*: #...; } |
301
+ | Styles 추출 | get_styles | styles.json |
302
+ | @theme 생성 | 수동/스크립트 | @theme { --shadow-*: ...; } |
303
+ | 검증 | DevTools | className 일치 확인 |
304
304
 
305
305
  ---
306
306
 
307
- ## Best Practices
307
+ ## 베스트 프랙티스
308
308
 
309
309
  ### DO
310
310
 
311
- | Principle | Example |
312
- |-----------|---------|
313
- | **Variables First** | Figma Variables → CSS Variables → Tailwind |
314
- | **Exact Values** | `#3182F6` (hex as-is) |
315
- | **Maintain Hierarchy** | `color/primary/500` → `--color-primary-500` |
316
- | **Use Code Syntax** | Reference Figma codeSyntax attribute |
311
+ | 원칙 | 예시 |
312
+ |------|------|
313
+ | **Variables 우선** | Figma Variables → CSS Variables → Tailwind |
314
+ | **정확한 값** | `#3182F6` (16진수 그대로) |
315
+ | **계층 유지** | `color/primary/500` → `--color-primary-500` |
316
+ | **코드 신택스 활용** | Figma codeSyntax 속성 참조 |
317
317
 
318
318
  ### DON'T
319
319
 
320
- | Forbidden | Reason |
321
- |-----------|--------|
322
- | **Use Approximations** | `#3182F6` → `bg-blue-500` (different) |
323
- | **Arbitrary Naming** | Ignore Figma naming structure |
324
- | **Hardcode Values** | Use Variables instead of direct values |
320
+ | 금지 사항 | 이유 |
321
+ |----------|------|
322
+ | **근사치 사용** | `#3182F6` → `bg-blue-500` (다름) |
323
+ | **임의 네이밍** | Figma 네이밍 구조 무시 |
324
+ | **하드코딩** | Variables 대신 직접 사용 |
325
325
 
326
326
  ---
327
327
 
328
- ## Tools
328
+ ## 도구
329
329
 
330
- ### Color Conversion
330
+ ### Color 변환
331
331
 
332
332
  ```js
333
333
  // RGB (0-1) → HEX
@@ -336,11 +336,11 @@ function rgbToHex(r, g, b) {
336
336
  return `#${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase()
337
337
  }
338
338
 
339
- // Usage
339
+ // 사용
340
340
  rgbToHex(0.192, 0.51, 0.965) // "#3182F6"
341
341
  ```
342
342
 
343
- ### Letter Spacing Conversion
343
+ ### Letter Spacing 변환
344
344
 
345
345
  ```js
346
346
  // Figma PERCENT → em
@@ -348,11 +348,11 @@ function percentToEm(percent) {
348
348
  return (percent / 100).toFixed(3) + 'em'
349
349
  }
350
350
 
351
- // Usage
351
+ // 사용
352
352
  percentToEm(-2) // "-0.02em"
353
353
  ```
354
354
 
355
- ### Line Height Conversion
355
+ ### Line Height 변환
356
356
 
357
357
  ```js
358
358
  // Figma pixels → CSS
@@ -361,38 +361,40 @@ function lineHeight(fontSize, lineHeightPx) {
361
361
  return `${lineHeightPx}px /* ${(ratio * 100).toFixed(1)}% */`
362
362
  }
363
363
 
364
- // Usage
364
+ // 사용
365
365
  lineHeight(28, 36) // "36px /* 128.6% */"
366
366
  ```
367
367
 
368
368
  ---
369
369
 
370
- ## Example
370
+ ## 예제
371
371
 
372
- Figma Variables → @theme blockAuto class generation:
372
+ Figma Variables → @theme 블록자동 클래스 생성:
373
373
 
374
374
  ```css
375
375
  @theme { --color-primary-500: #3182F6; }
376
376
  ```
377
377
  ```tsx
378
- <button className="bg-primary-500">Button</button>
378
+ <button className="bg-primary-500">버튼</button>
379
379
  ```
380
380
 
381
381
  ---
382
382
 
383
+ ---
384
+
383
385
  ## Tailwind v4 Migration
384
386
 
385
387
  | v3 | v4 |
386
388
  |-----|-----|
387
- | `tailwind.config.js` | None (moved to CSS) |
389
+ | `tailwind.config.js` | 없음 (CSS로 이동) |
388
390
  | `theme.extend` in JS | `@theme` in CSS |
389
391
  | `@tailwind base/...` | `@import "tailwindcss"` |
390
392
 
391
- **globals.css location:** Vite(`src/index.css`), Next.js App(`app/globals.css`), Pages(`styles/globals.css`)
393
+ **globals.css 위치:** Vite(`src/index.css`), Next.js App(`app/globals.css`), Pages(`styles/globals.css`)
392
394
 
393
395
  ---
394
396
 
395
- ## References
397
+ ## 참조
396
398
 
397
399
  - [Figma Variables API](https://www.figma.com/developers/api#variables)
398
400
  - [Design Tokens with Figma](https://blog.prototypr.io/design-tokens-with-figma-aef25c42430f)
@@ -1,65 +1,65 @@
1
- # Figma MCP Tools Usage
1
+ # Figma MCP 도구 사용법
2
2
 
3
- Detailed guide to tools and API endpoints provided by Figma MCP.
3
+ Figma MCP가 제공하는 도구와 API 엔드포인트 상세 가이드.
4
4
 
5
5
  ---
6
6
 
7
- ## MCP Connection Types
7
+ ## MCP 연결 타입
8
8
 
9
- ### Desktop MCP (Local)
9
+ ### Desktop MCP (로컬)
10
10
 
11
- **Advantages:**
12
- - Selection-based: Process only selected layers
13
- - Fast response
14
- - No internet connection required
11
+ **장점:**
12
+ - 선택 기반 (Selection-based): 현재 선택한 레이어만 처리
13
+ - 빠른 응답 속도
14
+ - 인터넷 연결 불필요
15
15
 
16
- **Setup:**
16
+ **설정:**
17
17
 
18
18
  ```bash
19
- # Add
19
+ # 추가
20
20
  claude mcp add --transport http figma-desktop http://127.0.0.1:3845/mcp
21
21
 
22
- # Verify
22
+ # 확인
23
23
  claude mcp list
24
24
 
25
- # Restart
25
+ # 재시작
26
26
  claude mcp restart figma-desktop
27
27
  ```
28
28
 
29
- **Enable:** Figma Desktop → Dev Mode (Shift+D) → Inspect → "Enable desktop MCP server" → Verify: `http://127.0.0.1:3845/health`
29
+ **활성화:** Figma Desktop → Dev Mode (Shift+D) → Inspect → "Enable desktop MCP server" → 확인: `http://127.0.0.1:3845/health`
30
30
 
31
- ### Remote MCP (Cloud)
31
+ ### Remote MCP (클라우드)
32
32
 
33
- **Advantages:**
34
- - Access via file URL
35
- - No desktop app required
36
- - Better for team collaboration
33
+ **장점:**
34
+ - 파일 URL로 접근 가능
35
+ - 데스크톱 불필요
36
+ - 협업에 유리
37
37
 
38
- **Setup:**
38
+ **설정:**
39
39
 
40
40
  ```bash
41
- # Add
41
+ # 추가
42
42
  claude mcp add --transport http figma-remote-mcp https://mcp.figma.com/mcp
43
43
 
44
- # Authenticate
44
+ # 인증
45
45
  claude mcp login figma-remote-mcp
46
46
  ```
47
47
 
48
- **Usage:**
48
+ **사용:**
49
49
  ```
50
- Provide file URL:
50
+ 파일 URL 제공:
51
51
  https://www.figma.com/file/ABC123/ProjectName
52
52
  ```
53
53
 
54
54
  ---
55
55
 
56
- ## Key MCP Tools
56
+ ## 주요 MCP 도구
57
57
 
58
58
  ### 1. get_file_info
59
59
 
60
- Retrieve file metadata and structure (required before starting work).
60
+ 파일 메타데이터 구조 조회 (작업 시작 필수).
61
61
 
62
- **Response:**
62
+ **응답:**
63
63
  ```json
64
64
  {
65
65
  "name": "Design System",
@@ -76,9 +76,9 @@ Retrieve file metadata and structure (required before starting work).
76
76
 
77
77
  ### 2. get_variables
78
78
 
79
- Extract Variables (Color, Number, String, Boolean).
79
+ Variables (Color, Number, String, Boolean) 추출.
80
80
 
81
- **Response:**
81
+ **응답:**
82
82
  ```json
83
83
  {
84
84
  "variables": [
@@ -116,7 +116,7 @@ Extract Variables (Color, Number, String, Boolean).
116
116
 
117
117
  ### 3. get_styles
118
118
 
119
- Extract Text Styles, Color Styles, Effect Styles.
119
+ Text Styles, Color Styles, Effect Styles 추출.
120
120
 
121
121
  **Text Styles:**
122
122
  ```json
@@ -155,9 +155,9 @@ Extract Text Styles, Color Styles, Effect Styles.
155
155
 
156
156
  ### 4. get_node_properties
157
157
 
158
- Retrieve layer properties including layout/Auto Layout/styles/text/images (Desktop MCP: requires layer selection).
158
+ 선택된 레이어의 레이아웃/Auto Layout/스타일/텍스트/이미지 속성 (Desktop MCP: 레이어 선택 필수).
159
159
 
160
- **Response:**
160
+ **응답:**
161
161
  ```json
162
162
  {
163
163
  "id": "123:456",
@@ -179,7 +179,7 @@ Retrieve layer properties including layout/Auto Layout/styles/text/images (Deskt
179
179
  "children": [
180
180
  {
181
181
  "type": "TEXT",
182
- "characters": "Button text",
182
+ "characters": "버튼 텍스트",
183
183
  "style": { "fontSize": 14, "fontWeight": 600 }
184
184
  }
185
185
  ]
@@ -189,98 +189,98 @@ Retrieve layer properties including layout/Auto Layout/styles/text/images (Deskt
189
189
  **→ TSX:**
190
190
  ```tsx
191
191
  <button className="flex items-center justify-center gap-[8px] px-[16px] py-[12px] bg-[#3182F6] rounded-[8px] w-[120px] h-[44px]">
192
- <span className="text-[14px] font-semibold text-white">Button text</span>
192
+ <span className="text-[14px] font-semibold text-white">버튼 텍스트</span>
193
193
  </button>
194
194
  ```
195
195
 
196
196
  ### 5. get_images
197
197
 
198
- Generate download links for image assets.
198
+ 이미지 에셋 다운로드 링크 생성.
199
199
 
200
- **Usage:**
200
+ **사용:**
201
201
  ```json
202
202
  // Input: image_refs: ["123:456"]
203
203
  // Output: { "123:456": "https://s3-alpha.figma.com/..." }
204
204
  ```
205
205
 
206
- **Workflow:**
206
+ **워크플로우:**
207
207
  ```bash
208
- # PNG/JPG → WebP (SVG files should not be converted)
208
+ # PNG/JPG → WebP (SVG 파일은 변환하지 않음)
209
209
  curl -o hero.png "https://..." && cwebp hero.png -q 80 -o hero.webp && mv hero.webp public/images/
210
210
  curl -o banner.jpg "https://..." && cwebp banner.jpg -q 80 -o banner.webp && mv banner.webp public/images/
211
211
  ```
212
212
 
213
213
  ### 6. export_node
214
214
 
215
- Export layer as SVG/PNG/JPG.
215
+ 레이어를 SVG/PNG/JPG로 export.
216
216
 
217
- **Settings:**
217
+ **설정:**
218
218
  ```json
219
219
  { "node_id": "123:456", "format": "SVG", "scale": 2 }
220
220
  ```
221
221
 
222
- **Use Cases:** Icons (SVG), Illustrations (PNG/WebP 2x), Logos (SVG)
222
+ **케이스:** 아이콘(SVG), 일러스트(PNG/WebP 2x), 로고(SVG)
223
223
 
224
224
  ---
225
225
 
226
- ## Workflow
226
+ ## 워크플로우
227
227
 
228
- | Step | Tool | Output |
229
- |------|------|--------|
230
- | 1. File structure | get_file_info | Canvas/Frame structure |
231
- | 2. Extract tokens | get_variables | CSS Variables |
232
- | 3. Extract styles | get_styles | Text/Color Styles |
233
- | 4. Layer properties | get_node_properties | Layout/Auto Layout |
234
- | 5. Collect images | get_images | Download URLs |
235
- | 6. Implement code | - | Flexbox/Grid + exact measurements |
236
- | 7. Validate | DevTools | Measurement comparison |
228
+ | 단계 | 도구 | 출력 |
229
+ |------|------|------|
230
+ | 1. 파일 구조 | get_file_info | Canvas/Frame 구조 |
231
+ | 2. 토큰 추출 | get_variables | CSS Variables |
232
+ | 3. 스타일 추출 | get_styles | Text/Color Styles |
233
+ | 4. 레이어 속성 | get_node_properties | Layout/Auto Layout |
234
+ | 5. 이미지 수집 | get_images | 다운로드 URL |
235
+ | 6. 코드 구현 | - | Flexbox/Grid + 정확한 수치 |
236
+ | 7. 검증 | DevTools | 수치 비교 |
237
237
 
238
238
  ---
239
239
 
240
- ## Important Notes
240
+ ## 주의 사항
241
241
 
242
242
  ### Desktop MCP
243
243
 
244
- | Limitation | Solution |
245
- |-----------|----------|
246
- | Layer selection required | Select target layer before work |
247
- | Limited concurrent execution | One file at a time |
248
- | Requires local network | Verify firewall (port 3845) |
244
+ | 제약 | 해결 |
245
+ |------|------|
246
+ | 레이어 선택 필수 | 구현 대상 레이어 선택 |
247
+ | 동시 실행 제한 | 번에 하나의 파일만 |
248
+ | 로컬 네트워크 필요 | 방화벽 확인 (포트 3845) |
249
249
 
250
250
  ### Remote MCP
251
251
 
252
- | Limitation | Solution |
253
- |-----------|----------|
254
- | Authentication required | Run `claude mcp login` |
255
- | Rate limit | Wait if 429 error occurs |
256
- | File permissions | Requires View access or higher |
252
+ | 제약 | 해결 |
253
+ |------|------|
254
+ | 인증 필요 | `claude mcp login` 실행 |
255
+ | Rate Limit | 429 에러 대기 |
256
+ | 파일 권한 | View 권한 이상 필요 |
257
257
 
258
258
  ---
259
259
 
260
- ## Debugging
260
+ ## 디버깅
261
261
 
262
- ### Verify MCP Connection
262
+ ### MCP 연결 확인
263
263
 
264
264
  ```bash
265
- # Desktop MCP status
265
+ # Desktop MCP 상태
266
266
  curl http://127.0.0.1:3845/health
267
267
 
268
- # Remote MCP login status
268
+ # Remote MCP 로그인 상태
269
269
  claude mcp status figma-remote-mcp
270
270
  ```
271
271
 
272
- ### Error Troubleshooting
272
+ ### 오류 해결
273
273
 
274
- | Error | Cause | Solution |
275
- |-------|-------|----------|
276
- | `Connection refused` | Desktop MCP not enabled | Enable in Figma Dev Mode |
277
- | `401 Unauthorized` | Remote MCP auth expired | Rerun `claude mcp login` |
278
- | `404 Not Found` | Invalid node_id | Verify ID in Figma |
279
- | `429 Too Many Requests` | Rate limit exceeded | Wait 1 minute and retry |
274
+ | 오류 | 원인 | 해결 |
275
+ |------|------|------|
276
+ | `Connection refused` | Desktop MCP 미활성화 | Figma Dev Mode에서 Enable |
277
+ | `401 Unauthorized` | Remote MCP 인증 만료 | `claude mcp login` 재실행 |
278
+ | `404 Not Found` | 잘못된 node_id | Figma에서 ID 재확인 |
279
+ | `429 Too Many Requests` | Rate Limit 초과 | 1 대기 재시도 |
280
280
 
281
281
  ---
282
282
 
283
- ## References
283
+ ## 참조
284
284
 
285
285
  - [Figma MCP Server Documentation](https://developers.figma.com/docs/figma-mcp-server/)
286
286
  - [Figma REST API Reference](https://www.figma.com/developers/api)