syr-d2c-workflow-mcp 0.2.0 → 0.3.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.
- package/README.md +169 -11
- package/dist/index.js +490 -169
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -156,7 +156,73 @@ Figma 디자인과 렌더링 결과를 비교 분석합니다.
|
|
|
156
156
|
- `d2c://rules/default` - 기본 디자인 규칙
|
|
157
157
|
- `d2c://templates/react` - React 컴포넌트 템플릿
|
|
158
158
|
|
|
159
|
-
## 워크플로우
|
|
159
|
+
## 3단계 Phase 워크플로우
|
|
160
|
+
|
|
161
|
+
v0.3.0부터 객관적인 성공률 측정을 위한 3단계 Phase 시스템을 지원합니다.
|
|
162
|
+
|
|
163
|
+
| Phase | 목표 성공률 | 비교 방법 | 수정 주체 |
|
|
164
|
+
|-------|-----------|----------|----------|
|
|
165
|
+
| **Phase 1** | 60% | Playwright 스크린샷 비교 | Figma MCP (재추출) |
|
|
166
|
+
| **Phase 2** | 70% | Playwright 이미지 diff | LLM (코드 수정) |
|
|
167
|
+
| **Phase 3** | 90% | Playwright DOM 비교 | LLM (코드 수정) |
|
|
168
|
+
|
|
169
|
+
### 워크플로우 개요
|
|
170
|
+
|
|
171
|
+
```mermaid
|
|
172
|
+
flowchart TD
|
|
173
|
+
Start[Figma 디자인] --> Preflight[사전 검사]
|
|
174
|
+
Preflight --> FigmaGet[Figma 디자인 가져오기]
|
|
175
|
+
|
|
176
|
+
subgraph Phase1 [Phase 1: Figma MCP 추출 - 60%]
|
|
177
|
+
P1_Extract[Figma MCP로 코드 추출]
|
|
178
|
+
P1_Render[Playwright 렌더링]
|
|
179
|
+
P1_Compare[스크린샷 비교]
|
|
180
|
+
P1_Check{성공률 >= 60%?}
|
|
181
|
+
P1_HITL[HITL: 계속?]
|
|
182
|
+
|
|
183
|
+
P1_Extract --> P1_Render --> P1_Compare --> P1_Check
|
|
184
|
+
P1_Check -->|No| P1_HITL
|
|
185
|
+
P1_HITL -->|Yes| P1_Extract
|
|
186
|
+
P1_HITL -->|Manual| P1_Render
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
FigmaGet --> Phase1
|
|
190
|
+
P1_Check -->|Yes| Phase2
|
|
191
|
+
|
|
192
|
+
subgraph Phase2 [Phase 2: LLM 이미지 Diff - 70%]
|
|
193
|
+
P2_Diff[이미지 Diff 분석]
|
|
194
|
+
P2_LLM[LLM 코드 수정]
|
|
195
|
+
P2_Render[Playwright 렌더링]
|
|
196
|
+
P2_Compare[스크린샷 비교]
|
|
197
|
+
P2_Check{성공률 >= 70%?}
|
|
198
|
+
P2_HITL[HITL: 계속?]
|
|
199
|
+
|
|
200
|
+
P2_Diff --> P2_LLM --> P2_Render --> P2_Compare --> P2_Check
|
|
201
|
+
P2_Check -->|No| P2_HITL
|
|
202
|
+
P2_HITL -->|Yes| P2_Diff
|
|
203
|
+
P2_HITL -->|Manual| P2_Render
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
P2_Check -->|Yes| Phase3
|
|
207
|
+
|
|
208
|
+
subgraph Phase3 [Phase 3: LLM DOM 비교 - 90%]
|
|
209
|
+
P3_DOM[DOM 스냅샷 비교]
|
|
210
|
+
P3_LLM[LLM 코드 수정]
|
|
211
|
+
P3_Render[Playwright 렌더링]
|
|
212
|
+
P3_Compare[DOM 비교]
|
|
213
|
+
P3_Check{성공률 >= 90%?}
|
|
214
|
+
P3_HITL[HITL: 계속?]
|
|
215
|
+
|
|
216
|
+
P3_DOM --> P3_LLM --> P3_Render --> P3_Compare --> P3_Check
|
|
217
|
+
P3_Check -->|No| P3_HITL
|
|
218
|
+
P3_HITL -->|Yes| P3_DOM
|
|
219
|
+
P3_HITL -->|Manual| P3_Render
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
P3_Check -->|Yes| Done[완료]
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 시퀀스 다이어그램
|
|
160
226
|
|
|
161
227
|
```mermaid
|
|
162
228
|
sequenceDiagram
|
|
@@ -168,26 +234,118 @@ sequenceDiagram
|
|
|
168
234
|
|
|
169
235
|
User->>AI: "syr로 이 Figma 변환해줘"
|
|
170
236
|
|
|
237
|
+
Note over AI,D2C: Step 1: 사전 검사
|
|
171
238
|
AI->>D2C: d2c_preflight_check()
|
|
172
239
|
AI->>Figma: get_design_context() 확인
|
|
173
240
|
AI->>PW: browser_snapshot() 확인
|
|
174
241
|
|
|
175
|
-
AI
|
|
242
|
+
Note over AI,Figma: Step 2: Figma 디자인 가져오기
|
|
176
243
|
AI->>Figma: get_design_context(figmaUrl)
|
|
177
244
|
AI->>Figma: get_screenshot()
|
|
178
245
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
246
|
+
rect rgb(255, 240, 240)
|
|
247
|
+
Note over AI,PW: Phase 1: Figma MCP 추출 (목표 60%)
|
|
248
|
+
loop 성공률 < 60% && HITL 승인
|
|
249
|
+
AI->>Figma: 코드 재추출
|
|
250
|
+
AI->>PW: browser_navigate() + screenshot
|
|
251
|
+
AI->>D2C: d2c_phase1_compare(successRate, iteration)
|
|
252
|
+
AI->>User: HITL 확인 요청
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
rect rgb(240, 255, 240)
|
|
257
|
+
Note over AI,PW: Phase 2: LLM 이미지 Diff (목표 70%)
|
|
258
|
+
loop 성공률 < 70% && HITL 승인
|
|
259
|
+
AI->>PW: 이미지 diff 분석
|
|
260
|
+
AI->>AI: LLM 코드 수정
|
|
261
|
+
AI->>PW: browser_navigate() + screenshot
|
|
262
|
+
AI->>D2C: d2c_phase2_image_diff(successRate, diffAreas)
|
|
263
|
+
AI->>User: HITL 확인 요청
|
|
264
|
+
end
|
|
265
|
+
end
|
|
182
266
|
|
|
183
|
-
|
|
184
|
-
AI
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
267
|
+
rect rgb(240, 240, 255)
|
|
268
|
+
Note over AI,PW: Phase 3: LLM DOM 비교 (목표 90%)
|
|
269
|
+
loop 성공률 < 90% && HITL 승인
|
|
270
|
+
AI->>PW: DOM 스냅샷 비교
|
|
271
|
+
AI->>AI: LLM 코드 수정
|
|
272
|
+
AI->>PW: browser_navigate() + DOM 비교
|
|
273
|
+
AI->>D2C: d2c_phase3_dom_compare(successRate, domDiffs)
|
|
274
|
+
AI->>User: HITL 확인 요청
|
|
275
|
+
end
|
|
188
276
|
end
|
|
189
277
|
|
|
190
|
-
AI
|
|
278
|
+
AI->>D2C: d2c_workflow_status(phase1, phase2, phase3)
|
|
279
|
+
AI-->>User: 완성된 컴포넌트 + 최종 리포트
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### HITL (Human-in-the-Loop)
|
|
283
|
+
|
|
284
|
+
모든 Phase에서 사용자 개입이 가능합니다:
|
|
285
|
+
|
|
286
|
+
- **[Y]** 계속 - 자동 수정 후 반복
|
|
287
|
+
- **[N]** 완료 - 현재 상태로 다음 단계 진행
|
|
288
|
+
- **[M]** 수동 수정 - 사용자가 직접 코드 수정 후 재비교
|
|
289
|
+
- **[S]** 중단 - 워크플로우 종료
|
|
290
|
+
|
|
291
|
+
### Phase별 도구
|
|
292
|
+
|
|
293
|
+
#### `d2c_phase1_compare`
|
|
294
|
+
Phase 1 스크린샷 비교 결과를 처리합니다.
|
|
295
|
+
|
|
296
|
+
```typescript
|
|
297
|
+
{
|
|
298
|
+
successRate: number; // Playwright 비교 성공률 (0-100)
|
|
299
|
+
targetRate?: number; // 목표 성공률 (기본: 60)
|
|
300
|
+
iteration: number; // 현재 반복 횟수
|
|
301
|
+
maxIterations?: number; // 최대 반복 (기본: 5)
|
|
302
|
+
diffDetails?: string; // 차이점 설명
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
#### `d2c_phase2_image_diff`
|
|
307
|
+
Phase 2 이미지 diff 결과를 처리합니다.
|
|
308
|
+
|
|
309
|
+
```typescript
|
|
310
|
+
{
|
|
311
|
+
successRate: number; // Playwright 비교 성공률 (0-100)
|
|
312
|
+
targetRate?: number; // 목표 성공률 (기본: 70)
|
|
313
|
+
iteration: number; // 현재 반복 횟수
|
|
314
|
+
diffAreas?: Array<{ // 차이 영역들
|
|
315
|
+
area: string; // 영역 (예: "header", "button")
|
|
316
|
+
type: string; // 유형 (color, layout, spacing)
|
|
317
|
+
severity: "high" | "medium" | "low";
|
|
318
|
+
}>;
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
#### `d2c_phase3_dom_compare`
|
|
323
|
+
Phase 3 DOM 비교 결과를 처리합니다.
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
{
|
|
327
|
+
successRate: number; // DOM 비교 성공률 (0-100)
|
|
328
|
+
targetRate?: number; // 목표 성공률 (기본: 90)
|
|
329
|
+
iteration: number; // 현재 반복 횟수
|
|
330
|
+
domDiffs?: Array<{ // DOM 차이점들
|
|
331
|
+
selector: string; // 요소 선택자
|
|
332
|
+
type: string; // missing, extra, attribute, text
|
|
333
|
+
expected?: string; // 예상 값
|
|
334
|
+
actual?: string; // 실제 값
|
|
335
|
+
}>;
|
|
336
|
+
}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
#### `d2c_workflow_status`
|
|
340
|
+
전체 워크플로우 진행 상황을 표시합니다.
|
|
341
|
+
|
|
342
|
+
```typescript
|
|
343
|
+
{
|
|
344
|
+
currentPhase: 1 | 2 | 3;
|
|
345
|
+
phase1?: { status: string; successRate: number; iterations: number; };
|
|
346
|
+
phase2?: { status: string; successRate: number; iterations: number; };
|
|
347
|
+
phase3?: { status: string; successRate: number; iterations: number; };
|
|
348
|
+
}
|
|
191
349
|
```
|
|
192
350
|
|
|
193
351
|
## 개발
|
package/dist/index.js
CHANGED
|
@@ -104,7 +104,7 @@ const DEFAULT_RULES = `
|
|
|
104
104
|
// MCP 서버 생성
|
|
105
105
|
const server = new Server({
|
|
106
106
|
name: "syr-d2c-workflow-mcp",
|
|
107
|
-
version: "0.
|
|
107
|
+
version: "0.3.1",
|
|
108
108
|
}, {
|
|
109
109
|
capabilities: {
|
|
110
110
|
tools: {},
|
|
@@ -193,37 +193,62 @@ ${SERVICE_IDENTIFIERS}
|
|
|
193
193
|
required: ["code", "componentName"],
|
|
194
194
|
},
|
|
195
195
|
},
|
|
196
|
-
//
|
|
196
|
+
// log_step - 실시간 진행 로그
|
|
197
197
|
{
|
|
198
|
-
name: "
|
|
199
|
-
description:
|
|
198
|
+
name: "d2c_log_step",
|
|
199
|
+
description: `워크플로우 진행 상황을 실시간으로 출력합니다.
|
|
200
200
|
${SERVICE_IDENTIFIERS}
|
|
201
201
|
|
|
202
|
-
|
|
203
|
-
- 레이아웃 일치도
|
|
204
|
-
- 색상/타이포그래피 일치도
|
|
205
|
-
- 간격/여백 일치도
|
|
206
|
-
- 누락된 요소
|
|
207
|
-
|
|
208
|
-
💡 **사용법**:
|
|
209
|
-
1. figma-mcp.get_screenshot으로 원본 이미지 획득
|
|
210
|
-
2. playwright-mcp로 렌더링 결과 스크린샷
|
|
211
|
-
3. 이 도구로 비교 분석 (scores 필수 입력)`,
|
|
202
|
+
📋 **각 단계 완료 시 호출하여 진행 상황을 사용자에게 알립니다.**`,
|
|
212
203
|
inputSchema: {
|
|
213
204
|
type: "object",
|
|
214
205
|
properties: {
|
|
215
|
-
|
|
206
|
+
step: {
|
|
207
|
+
type: "number",
|
|
208
|
+
description: "현재 단계 번호 (1-6)",
|
|
209
|
+
},
|
|
210
|
+
stepName: {
|
|
216
211
|
type: "string",
|
|
217
|
-
description: "
|
|
212
|
+
description: "단계 이름",
|
|
218
213
|
},
|
|
219
|
-
|
|
214
|
+
status: {
|
|
220
215
|
type: "string",
|
|
221
|
-
|
|
216
|
+
enum: ["start", "done", "error"],
|
|
217
|
+
description: "상태",
|
|
222
218
|
},
|
|
223
|
-
|
|
224
|
-
type: "
|
|
225
|
-
|
|
226
|
-
|
|
219
|
+
message: {
|
|
220
|
+
type: "string",
|
|
221
|
+
description: "추가 메시지",
|
|
222
|
+
},
|
|
223
|
+
iteration: {
|
|
224
|
+
type: "number",
|
|
225
|
+
description: "반복 중인 경우 현재 반복 횟수",
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
required: ["step", "stepName", "status"],
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
// ============ 3단계 PHASE 도구들 ============
|
|
232
|
+
// Phase 1: Figma MCP 기반 스크린샷 비교
|
|
233
|
+
{
|
|
234
|
+
name: "d2c_phase1_compare",
|
|
235
|
+
description: `[Phase 1] Figma MCP로 추출한 코드의 스크린샷을 원본과 비교합니다.
|
|
236
|
+
${SERVICE_IDENTIFIERS}
|
|
237
|
+
|
|
238
|
+
📊 **Phase 1 - 목표 성공률: 60% (설정 가능)**
|
|
239
|
+
- 비교 방법: Playwright toHaveScreenshot() 픽셀 비교
|
|
240
|
+
- 수정 주체: Figma MCP (코드 재추출)
|
|
241
|
+
- HITL: 매 반복마다 사용자 확인`,
|
|
242
|
+
inputSchema: {
|
|
243
|
+
type: "object",
|
|
244
|
+
properties: {
|
|
245
|
+
successRate: {
|
|
246
|
+
type: "number",
|
|
247
|
+
description: "현재 성공률 (0-100, Playwright 비교 결과)",
|
|
248
|
+
},
|
|
249
|
+
targetRate: {
|
|
250
|
+
type: "number",
|
|
251
|
+
description: "목표 성공률 (기본: 60)",
|
|
227
252
|
},
|
|
228
253
|
iteration: {
|
|
229
254
|
type: "number",
|
|
@@ -233,75 +258,89 @@ ${SERVICE_IDENTIFIERS}
|
|
|
233
258
|
type: "number",
|
|
234
259
|
description: "최대 반복 횟수 (기본: 5)",
|
|
235
260
|
},
|
|
236
|
-
|
|
237
|
-
type: "
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
description: "항목별 점수 (0-100)",
|
|
261
|
+
diffDetails: {
|
|
262
|
+
type: "string",
|
|
263
|
+
description: "Playwright 비교에서 발견된 차이점 설명",
|
|
264
|
+
},
|
|
265
|
+
previousRates: {
|
|
266
|
+
type: "array",
|
|
267
|
+
items: { type: "number" },
|
|
268
|
+
description: "이전 반복의 성공률들",
|
|
245
269
|
},
|
|
246
270
|
},
|
|
247
|
-
required: ["
|
|
271
|
+
required: ["successRate", "iteration"],
|
|
248
272
|
},
|
|
249
273
|
},
|
|
250
|
-
//
|
|
274
|
+
// Phase 2: LLM 기반 이미지 Diff 수정
|
|
251
275
|
{
|
|
252
|
-
name: "
|
|
253
|
-
description:
|
|
276
|
+
name: "d2c_phase2_image_diff",
|
|
277
|
+
description: `[Phase 2] 이미지 diff를 분석하고 LLM이 코드를 수정합니다.
|
|
254
278
|
${SERVICE_IDENTIFIERS}
|
|
255
279
|
|
|
256
|
-
|
|
280
|
+
📊 **Phase 2 - 목표 성공률: 70% (설정 가능)**
|
|
281
|
+
- 비교 방법: Playwright toHaveScreenshot() 픽셀 비교
|
|
282
|
+
- 수정 주체: LLM (코드 직접 수정)
|
|
283
|
+
- HITL: 매 반복마다 사용자 확인`,
|
|
257
284
|
inputSchema: {
|
|
258
285
|
type: "object",
|
|
259
286
|
properties: {
|
|
260
|
-
|
|
287
|
+
successRate: {
|
|
261
288
|
type: "number",
|
|
262
|
-
description: "현재
|
|
289
|
+
description: "현재 성공률 (0-100, Playwright 비교 결과)",
|
|
263
290
|
},
|
|
264
|
-
|
|
265
|
-
type: "
|
|
266
|
-
description: "
|
|
267
|
-
},
|
|
268
|
-
status: {
|
|
269
|
-
type: "string",
|
|
270
|
-
enum: ["start", "done", "error"],
|
|
271
|
-
description: "상태",
|
|
272
|
-
},
|
|
273
|
-
message: {
|
|
274
|
-
type: "string",
|
|
275
|
-
description: "추가 메시지",
|
|
291
|
+
targetRate: {
|
|
292
|
+
type: "number",
|
|
293
|
+
description: "목표 성공률 (기본: 70)",
|
|
276
294
|
},
|
|
277
295
|
iteration: {
|
|
278
296
|
type: "number",
|
|
279
|
-
description: "
|
|
297
|
+
description: "현재 반복 횟수",
|
|
298
|
+
},
|
|
299
|
+
maxIterations: {
|
|
300
|
+
type: "number",
|
|
301
|
+
description: "최대 반복 횟수 (기본: 5)",
|
|
302
|
+
},
|
|
303
|
+
diffAreas: {
|
|
304
|
+
type: "array",
|
|
305
|
+
items: {
|
|
306
|
+
type: "object",
|
|
307
|
+
properties: {
|
|
308
|
+
area: { type: "string", description: "차이 영역 (예: header, button)" },
|
|
309
|
+
type: { type: "string", description: "차이 유형 (color, layout, spacing)" },
|
|
310
|
+
severity: { type: "string", enum: ["high", "medium", "low"] },
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
description: "이미지 diff에서 발견된 차이 영역들",
|
|
314
|
+
},
|
|
315
|
+
previousRates: {
|
|
316
|
+
type: "array",
|
|
317
|
+
items: { type: "number" },
|
|
318
|
+
description: "이전 반복의 성공률들",
|
|
280
319
|
},
|
|
281
320
|
},
|
|
282
|
-
required: ["
|
|
321
|
+
required: ["successRate", "iteration"],
|
|
283
322
|
},
|
|
284
323
|
},
|
|
285
|
-
//
|
|
324
|
+
// Phase 3: DOM 비교 기반 수정
|
|
286
325
|
{
|
|
287
|
-
name: "
|
|
288
|
-
description:
|
|
326
|
+
name: "d2c_phase3_dom_compare",
|
|
327
|
+
description: `[Phase 3] DOM 구조를 비교하고 LLM이 코드를 수정합니다.
|
|
289
328
|
${SERVICE_IDENTIFIERS}
|
|
290
329
|
|
|
291
|
-
📊
|
|
292
|
-
-
|
|
293
|
-
-
|
|
294
|
-
-
|
|
330
|
+
📊 **Phase 3 - 목표 성공률: 90% (설정 가능)**
|
|
331
|
+
- 비교 방법: Playwright DOM 스냅샷 비교
|
|
332
|
+
- 수정 주체: LLM (코드 직접 수정)
|
|
333
|
+
- HITL: 매 반복마다 사용자 확인`,
|
|
295
334
|
inputSchema: {
|
|
296
335
|
type: "object",
|
|
297
336
|
properties: {
|
|
298
|
-
|
|
337
|
+
successRate: {
|
|
299
338
|
type: "number",
|
|
300
|
-
description: "현재
|
|
339
|
+
description: "현재 성공률 (0-100, DOM 비교 결과)",
|
|
301
340
|
},
|
|
302
|
-
|
|
341
|
+
targetRate: {
|
|
303
342
|
type: "number",
|
|
304
|
-
description: "목표
|
|
343
|
+
description: "목표 성공률 (기본: 90)",
|
|
305
344
|
},
|
|
306
345
|
iteration: {
|
|
307
346
|
type: "number",
|
|
@@ -311,13 +350,72 @@ ${SERVICE_IDENTIFIERS}
|
|
|
311
350
|
type: "number",
|
|
312
351
|
description: "최대 반복 횟수 (기본: 5)",
|
|
313
352
|
},
|
|
314
|
-
|
|
353
|
+
domDiffs: {
|
|
354
|
+
type: "array",
|
|
355
|
+
items: {
|
|
356
|
+
type: "object",
|
|
357
|
+
properties: {
|
|
358
|
+
selector: { type: "string", description: "차이가 있는 요소 선택자" },
|
|
359
|
+
expected: { type: "string", description: "예상 값" },
|
|
360
|
+
actual: { type: "string", description: "실제 값" },
|
|
361
|
+
type: { type: "string", description: "차이 유형 (missing, extra, attribute, text)" },
|
|
362
|
+
},
|
|
363
|
+
},
|
|
364
|
+
description: "DOM 비교에서 발견된 차이점들",
|
|
365
|
+
},
|
|
366
|
+
previousRates: {
|
|
315
367
|
type: "array",
|
|
316
368
|
items: { type: "number" },
|
|
317
|
-
description: "이전 반복의
|
|
369
|
+
description: "이전 반복의 성공률들",
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
required: ["successRate", "iteration"],
|
|
373
|
+
},
|
|
374
|
+
},
|
|
375
|
+
// 워크플로우 전체 상태 표시
|
|
376
|
+
{
|
|
377
|
+
name: "d2c_workflow_status",
|
|
378
|
+
description: `전체 3단계 워크플로우 진행 상황을 표시합니다.
|
|
379
|
+
${SERVICE_IDENTIFIERS}
|
|
380
|
+
|
|
381
|
+
📊 **3단계 Phase 시스템**:
|
|
382
|
+
- Phase 1: Figma MCP 추출 (60%)
|
|
383
|
+
- Phase 2: LLM 이미지 Diff (70%)
|
|
384
|
+
- Phase 3: LLM DOM 비교 (90%)`,
|
|
385
|
+
inputSchema: {
|
|
386
|
+
type: "object",
|
|
387
|
+
properties: {
|
|
388
|
+
currentPhase: {
|
|
389
|
+
type: "number",
|
|
390
|
+
enum: [1, 2, 3],
|
|
391
|
+
description: "현재 Phase (1, 2, 3)",
|
|
392
|
+
},
|
|
393
|
+
phase1: {
|
|
394
|
+
type: "object",
|
|
395
|
+
properties: {
|
|
396
|
+
status: { type: "string", enum: ["pending", "in_progress", "completed", "skipped"] },
|
|
397
|
+
successRate: { type: "number" },
|
|
398
|
+
iterations: { type: "number" },
|
|
399
|
+
},
|
|
400
|
+
},
|
|
401
|
+
phase2: {
|
|
402
|
+
type: "object",
|
|
403
|
+
properties: {
|
|
404
|
+
status: { type: "string", enum: ["pending", "in_progress", "completed", "skipped"] },
|
|
405
|
+
successRate: { type: "number" },
|
|
406
|
+
iterations: { type: "number" },
|
|
407
|
+
},
|
|
408
|
+
},
|
|
409
|
+
phase3: {
|
|
410
|
+
type: "object",
|
|
411
|
+
properties: {
|
|
412
|
+
status: { type: "string", enum: ["pending", "in_progress", "completed", "skipped"] },
|
|
413
|
+
successRate: { type: "number" },
|
|
414
|
+
iterations: { type: "number" },
|
|
415
|
+
},
|
|
318
416
|
},
|
|
319
417
|
},
|
|
320
|
-
required: ["
|
|
418
|
+
required: ["currentPhase"],
|
|
321
419
|
},
|
|
322
420
|
},
|
|
323
421
|
// get_component_template - 템플릿 생성
|
|
@@ -561,109 +659,301 @@ ${input.message ? ` → ${input.message}` : ""}
|
|
|
561
659
|
],
|
|
562
660
|
};
|
|
563
661
|
}
|
|
564
|
-
|
|
662
|
+
// ============ 3단계 PHASE 핸들러 ============
|
|
663
|
+
case "d2c_phase1_compare": {
|
|
565
664
|
const input = z
|
|
566
665
|
.object({
|
|
567
|
-
|
|
568
|
-
|
|
666
|
+
successRate: z.number(),
|
|
667
|
+
targetRate: z.number().optional().default(60),
|
|
569
668
|
iteration: z.number(),
|
|
570
669
|
maxIterations: z.number().optional().default(5),
|
|
571
|
-
|
|
670
|
+
diffDetails: z.string().optional(),
|
|
671
|
+
previousRates: z.array(z.number()).optional(),
|
|
572
672
|
})
|
|
573
673
|
.parse(args);
|
|
574
|
-
const {
|
|
575
|
-
//
|
|
576
|
-
const
|
|
577
|
-
const
|
|
578
|
-
const isImproving = scoreDiff === null || scoreDiff >= 0;
|
|
674
|
+
const { successRate, targetRate, iteration, maxIterations, diffDetails, previousRates } = input;
|
|
675
|
+
// 성공률 변화 계산
|
|
676
|
+
const lastRate = previousRates?.length ? previousRates[previousRates.length - 1] : null;
|
|
677
|
+
const rateDiff = lastRate !== null ? successRate - lastRate : null;
|
|
579
678
|
// 판단 로직
|
|
580
679
|
let recommendation;
|
|
581
680
|
let reason;
|
|
582
681
|
if (iteration >= maxIterations) {
|
|
583
|
-
recommendation = "
|
|
584
|
-
reason = `최대 반복 횟수(${maxIterations}회)
|
|
682
|
+
recommendation = "user_confirm";
|
|
683
|
+
reason = `최대 반복 횟수(${maxIterations}회) 도달 - 사용자 결정 필요`;
|
|
585
684
|
}
|
|
586
|
-
else if (
|
|
685
|
+
else if (rateDiff !== null && rateDiff < -10) {
|
|
587
686
|
recommendation = "stop";
|
|
588
|
-
reason =
|
|
687
|
+
reason = `성공률 하락 감지 (${rateDiff.toFixed(1)}%)`;
|
|
589
688
|
}
|
|
590
|
-
else if (
|
|
591
|
-
recommendation = "
|
|
592
|
-
reason =
|
|
689
|
+
else if (successRate >= targetRate) {
|
|
690
|
+
recommendation = "next_phase";
|
|
691
|
+
reason = `Phase 1 목표(${targetRate}%) 달성! Phase 2로 진행`;
|
|
593
692
|
}
|
|
594
693
|
else {
|
|
595
694
|
recommendation = "continue";
|
|
596
|
-
reason = `목표
|
|
695
|
+
reason = `목표(${targetRate}%) 미달 - Figma MCP로 재추출`;
|
|
597
696
|
}
|
|
598
|
-
const statusEmoji = recommendation === "continue" ? "🔄" :
|
|
599
|
-
|
|
697
|
+
const statusEmoji = recommendation === "continue" ? "🔄" :
|
|
698
|
+
recommendation === "next_phase" ? "✅" :
|
|
699
|
+
recommendation === "user_confirm" ? "✋" : "🛑";
|
|
700
|
+
const diffText = rateDiff !== null ? ` (${rateDiff >= 0 ? "+" : ""}${rateDiff.toFixed(1)}%)` : "";
|
|
701
|
+
const progressBar = "█".repeat(Math.round(successRate / 10)) + "░".repeat(10 - Math.round(successRate / 10));
|
|
600
702
|
return {
|
|
601
703
|
content: [
|
|
602
704
|
{
|
|
603
705
|
type: "text",
|
|
604
706
|
text: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
605
|
-
|
|
707
|
+
📊 **Phase 1: Figma MCP 스크린샷 비교**
|
|
708
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
709
|
+
|
|
710
|
+
┌────────────────────────────────────────┐
|
|
711
|
+
│ 반복: ${iteration}/${maxIterations} │
|
|
712
|
+
├────────────────────────────────────────┤
|
|
713
|
+
│ 현재 성공률: ${progressBar} ${successRate.toFixed(1)}%${diffText} │
|
|
714
|
+
│ 목표 성공률: ${"█".repeat(Math.round(targetRate / 10))}${"░".repeat(10 - Math.round(targetRate / 10))} ${targetRate}% │
|
|
715
|
+
├────────────────────────────────────────┤
|
|
716
|
+
│ 수정 주체: Figma MCP (코드 재추출) │
|
|
717
|
+
└────────────────────────────────────────┘
|
|
606
718
|
|
|
607
|
-
|
|
608
|
-
|
|
719
|
+
${diffDetails ? `## 발견된 차이점\n${diffDetails}\n` : ""}
|
|
720
|
+
${statusEmoji} **권장**: ${recommendation === "continue" ? "Figma MCP로 재추출 후 반복" :
|
|
721
|
+
recommendation === "next_phase" ? "Phase 2로 진행" :
|
|
722
|
+
recommendation === "user_confirm" ? "사용자 결정 필요" : "중단 권장"}
|
|
609
723
|
|
|
610
|
-
**권장**: ${recommendation === "continue" ? "계속 진행" : recommendation === "user_confirm" ? "사용자 확인" : "중단"}
|
|
611
724
|
**이유**: ${reason}
|
|
725
|
+
|
|
726
|
+
## HITL 옵션
|
|
727
|
+
- [Y] 계속 (${recommendation === "next_phase" ? "Phase 2 진행" : "반복"})
|
|
728
|
+
- [N] 현재 상태로 완료
|
|
729
|
+
- [M] 수동 수정 후 재비교
|
|
730
|
+
- [S] 워크플로우 중단
|
|
612
731
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
613
732
|
},
|
|
614
733
|
],
|
|
615
734
|
};
|
|
616
735
|
}
|
|
617
|
-
case "
|
|
736
|
+
case "d2c_phase2_image_diff": {
|
|
618
737
|
const input = z
|
|
619
738
|
.object({
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
iteration: z.number().optional(),
|
|
739
|
+
successRate: z.number(),
|
|
740
|
+
targetRate: z.number().optional().default(70),
|
|
741
|
+
iteration: z.number(),
|
|
624
742
|
maxIterations: z.number().optional().default(5),
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
743
|
+
diffAreas: z.array(z.object({
|
|
744
|
+
area: z.string(),
|
|
745
|
+
type: z.string(),
|
|
746
|
+
severity: z.enum(["high", "medium", "low"]).optional(),
|
|
747
|
+
})).optional(),
|
|
748
|
+
previousRates: z.array(z.number()).optional(),
|
|
631
749
|
})
|
|
632
750
|
.parse(args);
|
|
633
|
-
const {
|
|
634
|
-
const
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
751
|
+
const { successRate, targetRate, iteration, maxIterations, diffAreas, previousRates } = input;
|
|
752
|
+
const lastRate = previousRates?.length ? previousRates[previousRates.length - 1] : null;
|
|
753
|
+
const rateDiff = lastRate !== null ? successRate - lastRate : null;
|
|
754
|
+
let recommendation;
|
|
755
|
+
let reason;
|
|
756
|
+
if (iteration >= maxIterations) {
|
|
757
|
+
recommendation = "user_confirm";
|
|
758
|
+
reason = `최대 반복 횟수(${maxIterations}회) 도달 - 사용자 결정 필요`;
|
|
759
|
+
}
|
|
760
|
+
else if (rateDiff !== null && rateDiff < -10) {
|
|
761
|
+
recommendation = "stop";
|
|
762
|
+
reason = `성공률 하락 감지 (${rateDiff.toFixed(1)}%)`;
|
|
763
|
+
}
|
|
764
|
+
else if (successRate >= targetRate) {
|
|
765
|
+
recommendation = "next_phase";
|
|
766
|
+
reason = `Phase 2 목표(${targetRate}%) 달성! Phase 3로 진행`;
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
recommendation = "continue";
|
|
770
|
+
reason = `목표(${targetRate}%) 미달 - LLM이 코드 수정`;
|
|
771
|
+
}
|
|
772
|
+
const statusEmoji = recommendation === "continue" ? "🔄" :
|
|
773
|
+
recommendation === "next_phase" ? "✅" :
|
|
774
|
+
recommendation === "user_confirm" ? "✋" : "🛑";
|
|
775
|
+
const diffText = rateDiff !== null ? ` (${rateDiff >= 0 ? "+" : ""}${rateDiff.toFixed(1)}%)` : "";
|
|
776
|
+
const progressBar = "█".repeat(Math.round(successRate / 10)) + "░".repeat(10 - Math.round(successRate / 10));
|
|
777
|
+
// diff 영역 표시
|
|
778
|
+
const diffAreasText = diffAreas?.length ? diffAreas.map(d => {
|
|
779
|
+
const severityIcon = d.severity === "high" ? "🔴" : d.severity === "medium" ? "🟡" : "🟢";
|
|
780
|
+
return `${severityIcon} ${d.area}: ${d.type}`;
|
|
781
|
+
}).join("\n") : "";
|
|
782
|
+
return {
|
|
783
|
+
content: [
|
|
784
|
+
{
|
|
785
|
+
type: "text",
|
|
786
|
+
text: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
787
|
+
📊 **Phase 2: LLM 이미지 Diff 수정**
|
|
788
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
789
|
+
|
|
790
|
+
┌────────────────────────────────────────┐
|
|
791
|
+
│ 반복: ${iteration}/${maxIterations} │
|
|
792
|
+
├────────────────────────────────────────┤
|
|
793
|
+
│ 현재 성공률: ${progressBar} ${successRate.toFixed(1)}%${diffText} │
|
|
794
|
+
│ 목표 성공률: ${"█".repeat(Math.round(targetRate / 10))}${"░".repeat(10 - Math.round(targetRate / 10))} ${targetRate}% │
|
|
795
|
+
├────────────────────────────────────────┤
|
|
796
|
+
│ 수정 주체: LLM (코드 직접 수정) │
|
|
797
|
+
└────────────────────────────────────────┘
|
|
798
|
+
|
|
799
|
+
${diffAreasText ? `## 이미지 Diff 분석\n${diffAreasText}\n` : ""}
|
|
800
|
+
${statusEmoji} **권장**: ${recommendation === "continue" ? "LLM이 코드 수정 후 반복" :
|
|
801
|
+
recommendation === "next_phase" ? "Phase 3로 진행" :
|
|
802
|
+
recommendation === "user_confirm" ? "사용자 결정 필요" : "중단 권장"}
|
|
803
|
+
|
|
804
|
+
**이유**: ${reason}
|
|
805
|
+
|
|
806
|
+
## LLM 수정 가이드
|
|
807
|
+
${diffAreas?.filter(d => d.severity === "high").map(d => `- 우선 수정: ${d.area}의 ${d.type} 문제`).join("\n") || "- 이미지 diff 결과를 기반으로 수정"}
|
|
808
|
+
|
|
809
|
+
## HITL 옵션
|
|
810
|
+
- [Y] 계속 (${recommendation === "next_phase" ? "Phase 3 진행" : "LLM 수정 반복"})
|
|
811
|
+
- [N] 현재 상태로 완료
|
|
812
|
+
- [M] 수동 수정 후 재비교
|
|
813
|
+
- [S] 워크플로우 중단
|
|
814
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
815
|
+
},
|
|
816
|
+
],
|
|
639
817
|
};
|
|
640
|
-
|
|
641
|
-
|
|
818
|
+
}
|
|
819
|
+
case "d2c_phase3_dom_compare": {
|
|
820
|
+
const input = z
|
|
821
|
+
.object({
|
|
822
|
+
successRate: z.number(),
|
|
823
|
+
targetRate: z.number().optional().default(90),
|
|
824
|
+
iteration: z.number(),
|
|
825
|
+
maxIterations: z.number().optional().default(5),
|
|
826
|
+
domDiffs: z.array(z.object({
|
|
827
|
+
selector: z.string(),
|
|
828
|
+
expected: z.string().optional(),
|
|
829
|
+
actual: z.string().optional(),
|
|
830
|
+
type: z.string(),
|
|
831
|
+
})).optional(),
|
|
832
|
+
previousRates: z.array(z.number()).optional(),
|
|
833
|
+
})
|
|
834
|
+
.parse(args);
|
|
835
|
+
const { successRate, targetRate, iteration, maxIterations, domDiffs, previousRates } = input;
|
|
836
|
+
const lastRate = previousRates?.length ? previousRates[previousRates.length - 1] : null;
|
|
837
|
+
const rateDiff = lastRate !== null ? successRate - lastRate : null;
|
|
838
|
+
let recommendation;
|
|
839
|
+
let reason;
|
|
840
|
+
if (iteration >= maxIterations) {
|
|
841
|
+
recommendation = "user_confirm";
|
|
842
|
+
reason = `최대 반복 횟수(${maxIterations}회) 도달 - 사용자 결정 필요`;
|
|
843
|
+
}
|
|
844
|
+
else if (rateDiff !== null && rateDiff < -10) {
|
|
845
|
+
recommendation = "stop";
|
|
846
|
+
reason = `성공률 하락 감지 (${rateDiff.toFixed(1)}%)`;
|
|
847
|
+
}
|
|
848
|
+
else if (successRate >= targetRate) {
|
|
849
|
+
recommendation = "complete";
|
|
850
|
+
reason = `Phase 3 목표(${targetRate}%) 달성! 워크플로우 완료`;
|
|
851
|
+
}
|
|
852
|
+
else {
|
|
853
|
+
recommendation = "continue";
|
|
854
|
+
reason = `목표(${targetRate}%) 미달 - LLM이 DOM 기반 수정`;
|
|
855
|
+
}
|
|
856
|
+
const statusEmoji = recommendation === "continue" ? "🔄" :
|
|
857
|
+
recommendation === "complete" ? "🎉" :
|
|
858
|
+
recommendation === "user_confirm" ? "✋" : "🛑";
|
|
859
|
+
const diffText = rateDiff !== null ? ` (${rateDiff >= 0 ? "+" : ""}${rateDiff.toFixed(1)}%)` : "";
|
|
860
|
+
const progressBar = "█".repeat(Math.round(successRate / 10)) + "░".repeat(10 - Math.round(successRate / 10));
|
|
861
|
+
// DOM diff 표시
|
|
862
|
+
const domDiffsText = domDiffs?.length ? domDiffs.slice(0, 5).map(d => {
|
|
863
|
+
const typeIcon = d.type === "missing" ? "❌" : d.type === "extra" ? "➕" : "🔄";
|
|
864
|
+
return `${typeIcon} ${d.selector}: ${d.type}${d.expected ? ` (예상: ${d.expected})` : ""}`;
|
|
865
|
+
}).join("\n") : "";
|
|
642
866
|
return {
|
|
643
867
|
content: [
|
|
644
868
|
{
|
|
645
869
|
type: "text",
|
|
646
870
|
text: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
647
|
-
📊
|
|
871
|
+
📊 **Phase 3: LLM DOM 비교 수정**
|
|
648
872
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
649
873
|
|
|
650
|
-
|
|
651
|
-
│
|
|
652
|
-
|
|
653
|
-
│
|
|
654
|
-
│
|
|
655
|
-
|
|
656
|
-
│
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
874
|
+
┌────────────────────────────────────────┐
|
|
875
|
+
│ 반복: ${iteration}/${maxIterations} │
|
|
876
|
+
├────────────────────────────────────────┤
|
|
877
|
+
│ 현재 성공률: ${progressBar} ${successRate.toFixed(1)}%${diffText} │
|
|
878
|
+
│ 목표 성공률: ${"█".repeat(Math.round(targetRate / 10))}${"░".repeat(10 - Math.round(targetRate / 10))} ${targetRate}% │
|
|
879
|
+
├────────────────────────────────────────┤
|
|
880
|
+
│ 수정 주체: LLM (DOM 기반 수정) │
|
|
881
|
+
└────────────────────────────────────────┘
|
|
882
|
+
|
|
883
|
+
${domDiffsText ? `## DOM 차이점 (상위 5개)\n${domDiffsText}\n` : ""}
|
|
884
|
+
${statusEmoji} **권장**: ${recommendation === "continue" ? "LLM이 DOM 기반 수정 후 반복" :
|
|
885
|
+
recommendation === "complete" ? "워크플로우 완료!" :
|
|
886
|
+
recommendation === "user_confirm" ? "사용자 결정 필요" : "중단 권장"}
|
|
887
|
+
|
|
888
|
+
**이유**: ${reason}
|
|
889
|
+
|
|
890
|
+
## HITL 옵션
|
|
891
|
+
- [Y] 계속 (${recommendation === "complete" ? "완료" : "LLM 수정 반복"})
|
|
892
|
+
- [N] 현재 상태로 완료
|
|
893
|
+
- [M] 수동 수정 후 재비교
|
|
894
|
+
- [S] 워크플로우 중단
|
|
895
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
896
|
+
},
|
|
897
|
+
],
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
case "d2c_workflow_status": {
|
|
901
|
+
const input = z
|
|
902
|
+
.object({
|
|
903
|
+
currentPhase: z.number(),
|
|
904
|
+
phase1: z.object({
|
|
905
|
+
status: z.enum(["pending", "in_progress", "completed", "skipped"]).optional(),
|
|
906
|
+
successRate: z.number().optional(),
|
|
907
|
+
iterations: z.number().optional(),
|
|
908
|
+
}).optional(),
|
|
909
|
+
phase2: z.object({
|
|
910
|
+
status: z.enum(["pending", "in_progress", "completed", "skipped"]).optional(),
|
|
911
|
+
successRate: z.number().optional(),
|
|
912
|
+
iterations: z.number().optional(),
|
|
913
|
+
}).optional(),
|
|
914
|
+
phase3: z.object({
|
|
915
|
+
status: z.enum(["pending", "in_progress", "completed", "skipped"]).optional(),
|
|
916
|
+
successRate: z.number().optional(),
|
|
917
|
+
iterations: z.number().optional(),
|
|
918
|
+
}).optional(),
|
|
919
|
+
})
|
|
920
|
+
.parse(args);
|
|
921
|
+
const getStatusIcon = (status) => {
|
|
922
|
+
switch (status) {
|
|
923
|
+
case "completed": return "✅";
|
|
924
|
+
case "in_progress": return "🔄";
|
|
925
|
+
case "skipped": return "⏭️";
|
|
926
|
+
default: return "⬜";
|
|
927
|
+
}
|
|
928
|
+
};
|
|
929
|
+
const formatPhase = (phase, num, target, name) => {
|
|
930
|
+
const icon = getStatusIcon(phase?.status);
|
|
931
|
+
const rate = phase?.successRate !== undefined ? `${phase.successRate.toFixed(1)}%` : "--%";
|
|
932
|
+
const iter = phase?.iterations !== undefined ? `${phase.iterations}회` : "--";
|
|
933
|
+
return `│ ${icon} Phase ${num}: ${name.padEnd(20)} │ ${rate.padStart(6)} │ ${target}% │ ${iter.padStart(4)} │`;
|
|
934
|
+
};
|
|
935
|
+
return {
|
|
936
|
+
content: [
|
|
937
|
+
{
|
|
938
|
+
type: "text",
|
|
939
|
+
text: `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
940
|
+
📊 **D2C 3단계 워크플로우 상태**
|
|
941
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
942
|
+
|
|
943
|
+
┌────────────────────────────────┬────────┬─────┬──────┐
|
|
944
|
+
│ Phase │ 성공률 │ 목표│ 반복 │
|
|
945
|
+
├────────────────────────────────┼────────┼─────┼──────┤
|
|
946
|
+
${formatPhase(input.phase1, 1, 60, "Figma MCP 추출")}
|
|
947
|
+
${formatPhase(input.phase2, 2, 70, "LLM 이미지 Diff")}
|
|
948
|
+
${formatPhase(input.phase3, 3, 90, "LLM DOM 비교")}
|
|
949
|
+
└────────────────────────────────┴────────┴─────┴──────┘
|
|
950
|
+
|
|
951
|
+
🎯 현재 Phase: **${input.currentPhase}**
|
|
952
|
+
|
|
953
|
+
## Phase 흐름
|
|
954
|
+
Phase 1 (60%) → Phase 2 (70%) → Phase 3 (90%) → 완료
|
|
955
|
+
${input.currentPhase === 1 ? " ↑ 현재" : input.currentPhase === 2 ? " ↑ 현재" : " ↑ 현재"}
|
|
956
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
667
957
|
},
|
|
668
958
|
],
|
|
669
959
|
};
|
|
@@ -842,62 +1132,93 @@ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
|
842
1132
|
role: "user",
|
|
843
1133
|
content: {
|
|
844
1134
|
type: "text",
|
|
845
|
-
text: `## SYR D2C 워크플로우 실행
|
|
1135
|
+
text: `## SYR D2C 3단계 워크플로우 실행
|
|
846
1136
|
|
|
847
1137
|
### 입력 정보
|
|
848
1138
|
- Figma: ${figmaUrl}
|
|
849
1139
|
- 컴포넌트명: ${componentName}
|
|
850
1140
|
- 프레임워크: ${framework}
|
|
851
1141
|
|
|
852
|
-
###
|
|
1142
|
+
### 📊 3단계 Phase 시스템
|
|
1143
|
+
| Phase | 목표 | 비교 방법 | 수정 주체 |
|
|
1144
|
+
|-------|------|----------|----------|
|
|
1145
|
+
| **1** | 60% | Playwright 스크린샷 | Figma MCP 재추출 |
|
|
1146
|
+
| **2** | 70% | Playwright 이미지 diff | LLM 코드 수정 |
|
|
1147
|
+
| **3** | 90% | Playwright DOM 비교 | LLM 코드 수정 |
|
|
853
1148
|
|
|
854
|
-
|
|
1149
|
+
---
|
|
855
1150
|
|
|
856
|
-
|
|
857
|
-
1. \`d2c_log_step(step:1, stepName:"사전 검사", status:"start")\`
|
|
1151
|
+
### Step 1: 사전 검사
|
|
1152
|
+
1. \`d2c_log_step(step:1, stepName:"사전 검사", status:"start")\`
|
|
858
1153
|
2. \`d2c_preflight_check\` 호출
|
|
859
|
-
3. figma-mcp
|
|
860
|
-
4.
|
|
861
|
-
5. \`d2c_log_step(step:1, stepName:"사전 검사", status:"done")\` 호출
|
|
862
|
-
|
|
863
|
-
**Step 2: 규칙 수집**
|
|
864
|
-
1. \`d2c_log_step(step:2, stepName:"규칙 수집", status:"start")\` 호출
|
|
865
|
-
2. \`d2c_get_design_rules\` 호출
|
|
866
|
-
3. \`d2c_log_step(step:2, stepName:"규칙 수집", status:"done")\` 호출
|
|
1154
|
+
3. figma-mcp, playwright-mcp 확인
|
|
1155
|
+
4. \`d2c_log_step(step:1, stepName:"사전 검사", status:"done")\`
|
|
867
1156
|
|
|
868
|
-
|
|
869
|
-
1. \`d2c_log_step(step:
|
|
1157
|
+
### Step 2: Figma 디자인 가져오기
|
|
1158
|
+
1. \`d2c_log_step(step:2, stepName:"Figma 디자인", status:"start")\`
|
|
870
1159
|
2. \`figma-mcp.get_design_context\` 호출
|
|
871
|
-
3.
|
|
872
|
-
4. \`d2c_log_step(step:
|
|
873
|
-
|
|
874
|
-
**Step 4: 컴포넌트 생성 및 반복 개선** (핵심!)
|
|
875
|
-
1. \`d2c_log_step(step:4, stepName:"컴포넌트 생성", status:"start", iteration:1)\` 호출
|
|
876
|
-
2. \`d2c_get_component_template\`로 보일러플레이트 생성
|
|
877
|
-
3. Figma 디자인 정보를 기반으로 코드 작성
|
|
878
|
-
4. \`d2c_validate_component\`로 검증
|
|
879
|
-
5. \`playwright-mcp.browser_navigate\`로 페이지 열기
|
|
880
|
-
6. \`playwright-mcp.browser_snapshot\`으로 스크린샷
|
|
881
|
-
7. **\`d2c_compare_with_design\`** 호출 (scores 필수 입력!)
|
|
882
|
-
- layout, colors, typography, spacing 각각 0-100점 평가
|
|
883
|
-
8. **\`d2c_iteration_check\`** 호출하여 계속 여부 판단
|
|
884
|
-
- 70점 미만: 자동으로 수정 후 반복
|
|
885
|
-
- 70점 이상: 사용자에게 확인 요청
|
|
886
|
-
- 최대 5회 반복
|
|
887
|
-
9. \`d2c_log_step(step:4, stepName:"컴포넌트 생성", status:"done", iteration:N)\` 호출
|
|
888
|
-
|
|
889
|
-
**Step 5: 최종 검증**
|
|
890
|
-
1. \`d2c_log_step(step:5, stepName:"최종 검증", status:"start")\` 호출
|
|
891
|
-
2. \`d2c_validate_component\`로 최종 검증
|
|
892
|
-
3. \`d2c_log_step(step:5, stepName:"최종 검증", status:"done")\` 호출
|
|
893
|
-
|
|
894
|
-
**Step 6: 완료**
|
|
895
|
-
1. \`d2c_log_step(step:6, stepName:"완료", status:"done")\` 호출
|
|
896
|
-
2. 최종 코드와 파일 경로 보고
|
|
897
|
-
3. 반복 히스토리 요약 (점수 변화)
|
|
1160
|
+
3. \`figma-mcp.get_screenshot\` 으로 원본 스크린샷 저장
|
|
1161
|
+
4. \`d2c_log_step(step:2, stepName:"Figma 디자인", status:"done")\`
|
|
898
1162
|
|
|
899
1163
|
---
|
|
900
|
-
|
|
1164
|
+
|
|
1165
|
+
### 🔄 Phase 1: Figma MCP 추출 (목표 60%)
|
|
1166
|
+
1. \`d2c_log_step(step:3, stepName:"Phase 1", status:"start", iteration:1)\`
|
|
1167
|
+
2. \`d2c_get_component_template\`로 템플릿 생성
|
|
1168
|
+
3. **Figma MCP로 코드 추출/수정**
|
|
1169
|
+
4. \`playwright-mcp.browser_navigate\`로 렌더링
|
|
1170
|
+
5. \`playwright-mcp.browser_screenshot\`으로 스크린샷
|
|
1171
|
+
6. **Playwright toHaveScreenshot()으로 비교하여 성공률 계산**
|
|
1172
|
+
7. **\`d2c_phase1_compare\`** 호출 (successRate, iteration 필수!)
|
|
1173
|
+
8. **HITL 확인**: 사용자 응답에 따라:
|
|
1174
|
+
- [Y] → 60% 미달이면 반복, 달성이면 Phase 2로
|
|
1175
|
+
- [M] → 수동 수정 후 재비교
|
|
1176
|
+
- [N] → 현재 상태로 다음 단계
|
|
1177
|
+
9. \`d2c_log_step(step:3, stepName:"Phase 1", status:"done")\`
|
|
1178
|
+
|
|
1179
|
+
---
|
|
1180
|
+
|
|
1181
|
+
### 🔄 Phase 2: LLM 이미지 Diff (목표 70%)
|
|
1182
|
+
1. \`d2c_log_step(step:4, stepName:"Phase 2", status:"start", iteration:1)\`
|
|
1183
|
+
2. **Playwright 이미지 diff 분석**
|
|
1184
|
+
3. diff 결과 기반으로 **LLM이 코드 수정**
|
|
1185
|
+
4. 렌더링 후 스크린샷 비교
|
|
1186
|
+
5. **\`d2c_phase2_image_diff\`** 호출 (successRate, diffAreas 포함!)
|
|
1187
|
+
6. **HITL 확인**: 사용자 응답에 따라:
|
|
1188
|
+
- [Y] → 70% 미달이면 LLM 수정 반복, 달성이면 Phase 3로
|
|
1189
|
+
- [M] → 수동 수정 후 재비교
|
|
1190
|
+
- [N] → 현재 상태로 다음 단계
|
|
1191
|
+
7. \`d2c_log_step(step:4, stepName:"Phase 2", status:"done")\`
|
|
1192
|
+
|
|
1193
|
+
---
|
|
1194
|
+
|
|
1195
|
+
### 🔄 Phase 3: LLM DOM 비교 (목표 90%)
|
|
1196
|
+
1. \`d2c_log_step(step:5, stepName:"Phase 3", status:"start", iteration:1)\`
|
|
1197
|
+
2. **Playwright DOM 스냅샷 비교**
|
|
1198
|
+
3. DOM 차이 기반으로 **LLM이 코드 수정**
|
|
1199
|
+
4. 렌더링 후 DOM 비교
|
|
1200
|
+
5. **\`d2c_phase3_dom_compare\`** 호출 (successRate, domDiffs 포함!)
|
|
1201
|
+
6. **HITL 확인**: 사용자 응답에 따라:
|
|
1202
|
+
- [Y] → 90% 미달이면 LLM 수정 반복, 달성이면 완료
|
|
1203
|
+
- [M] → 수동 수정 후 재비교
|
|
1204
|
+
- [N] → 현재 상태로 완료
|
|
1205
|
+
7. \`d2c_log_step(step:5, stepName:"Phase 3", status:"done")\`
|
|
1206
|
+
|
|
1207
|
+
---
|
|
1208
|
+
|
|
1209
|
+
### Step 6: 완료
|
|
1210
|
+
1. \`d2c_log_step(step:6, stepName:"완료", status:"done")\`
|
|
1211
|
+
2. \`d2c_workflow_status\` 호출하여 최종 상태 표시
|
|
1212
|
+
3. 최종 코드와 파일 경로 보고
|
|
1213
|
+
4. 각 Phase별 성공률 변화 히스토리 요약
|
|
1214
|
+
|
|
1215
|
+
---
|
|
1216
|
+
|
|
1217
|
+
**⚠️ 중요 규칙**:
|
|
1218
|
+
- 매 Phase마다 **반드시 HITL 확인** (사용자에게 계속 여부 질문)
|
|
1219
|
+
- 모든 Phase에서 사용자가 수동 수정 가능 ([M] 옵션)
|
|
1220
|
+
- 성공률은 Playwright 비교 결과를 기반으로 객관적으로 측정
|
|
1221
|
+
- \`d2c_workflow_status\`로 언제든 전체 진행 상황 확인 가능`,
|
|
901
1222
|
},
|
|
902
1223
|
},
|
|
903
1224
|
],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED