@su-record/vibe 2.8.17 → 2.8.19
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/dist/infra/lib/config/GlobalConfigManager.d.ts +8 -0
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +37 -0
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/hooks/scripts/context-save.js +88 -1
- package/hooks/scripts/pre-tool-guard.js +30 -5
- package/hooks/scripts/sentinel-guard.js +28 -4
- package/hooks/scripts/utils.js +48 -0
- package/package.json +1 -1
- package/skills/vibe-figma/SKILL.md +25 -66
- package/skills/vibe-figma-analyze/SKILL.md +95 -318
- package/skills/vibe-figma-codegen/SKILL.md +112 -782
- package/skills/vibe-figma-consolidate/SKILL.md +53 -90
- package/skills/vibe-figma-frame/SKILL.md +454 -181
- package/skills/vibe-figma-pipeline/SKILL.md +4 -45
- package/skills/vibe-figma-rules/SKILL.md +363 -159
- package/skills/vibe-figma-style/SKILL.md +107 -476
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe-figma-consolidate
|
|
3
|
-
description: Step D — 모바일/PC 스타일 공통화, 컴포넌트 통합, 최종
|
|
3
|
+
description: Step D — 모바일/PC 스타일 공통화, 컴포넌트 통합, 최종 검증, 후처리 파이프라인
|
|
4
4
|
triggers: []
|
|
5
5
|
tier: standard
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Skill: vibe-figma-consolidate — Step
|
|
8
|
+
# Skill: vibe-figma-consolidate — Step D: 공통화 + 최종 검증
|
|
9
9
|
|
|
10
|
-
>
|
|
11
|
-
> - 토큰 통합: Edit으로 _tokens.scss 수정
|
|
12
|
-
> - 중복 제거: Edit으로 중복 스타일/코드 통합
|
|
13
|
-
> - variant 통합: Edit으로 유사 컴포넌트 합침
|
|
14
|
-
> 분석만 보여주고 끝내면 안 됨.
|
|
10
|
+
> **실행 지시: Edit 도구로 기존 파일을 실제 수정한다.**
|
|
15
11
|
|
|
16
12
|
## D-1. 스타일 공통화
|
|
17
13
|
|
|
@@ -21,101 +17,37 @@ tier: standard
|
|
|
21
17
|
3. 컴포넌트 내 중복 로직 제거
|
|
22
18
|
```
|
|
23
19
|
|
|
24
|
-
### 공통화 우선순위
|
|
25
|
-
|
|
26
20
|
| 유형 | 처리 방법 |
|
|
27
21
|
|------|----------|
|
|
28
|
-
| 색상 (
|
|
29
|
-
|
|
|
30
|
-
| 간격 (다름) | clamp() fluid
|
|
22
|
+
| 색상 (동일) | 공통 CSS custom property |
|
|
23
|
+
| 타이포 (동일 scale) | 공통 토큰 유지 |
|
|
24
|
+
| 간격 (다름) | clamp() fluid 토큰 (계산: vibe-figma-rules R-3) |
|
|
31
25
|
| 레이아웃 방향 (다름) | @media 분기 유지 |
|
|
32
|
-
| 컴포넌트 구조 (동일) |
|
|
26
|
+
| 컴포넌트 구조 (동일) | 하나로 통합 |
|
|
33
27
|
|
|
34
28
|
## D-2. 컴포넌트 통합
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
1. 유사 컴포넌트 (80% rule) → variant prop으로 통합
|
|
38
|
-
2. 중복 sub-component → 공유 컴포넌트로 추출
|
|
39
|
-
3. Fragment/template 활용하여 불필요한 래퍼 제거
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 80% Rule 적용 기준
|
|
30
|
+
80% Rule 및 variant 통합 기준은 **vibe-figma-rules R-5** 참조.
|
|
43
31
|
|
|
44
32
|
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
→ 하나의 컴포넌트 + props로 변형
|
|
49
|
-
|
|
50
|
-
- 구조 자체가 다름 (요소 추가/제거, 레이아웃 방향 변경)
|
|
51
|
-
→ 별도 컴포넌트 유지
|
|
33
|
+
1. 유사 컴포넌트 (80%+) → variant prop 통합
|
|
34
|
+
2. 중복 sub-component → 공유 컴포넌트 추출
|
|
35
|
+
3. 불필요한 래퍼 → Fragment/template 제거
|
|
52
36
|
```
|
|
53
37
|
|
|
54
|
-
|
|
55
|
-
|-------|----------|
|
|
56
|
-
| React | `variant` prop + 조건부 className / style |
|
|
57
|
-
| Vue | `variant` prop + `<slot>` for 커스텀 영역 |
|
|
58
|
-
| Svelte | `variant` prop + `<slot>` |
|
|
59
|
-
| React Native | `variant` prop + StyleSheet 조건 선택 |
|
|
60
|
-
|
|
61
|
-
### 통합 예시 (React)
|
|
62
|
-
|
|
63
|
-
```tsx
|
|
64
|
-
// 통합 전: 별도 컴포넌트 (구조 동일, 색상만 다름)
|
|
65
|
-
<DefaultCard />
|
|
66
|
-
<HighlightCard />
|
|
67
|
-
<CompactCard />
|
|
68
|
-
|
|
69
|
-
// 통합 후: 단일 컴포넌트 + variant
|
|
70
|
-
interface CardProps {
|
|
71
|
-
variant: 'default' | 'highlight' | 'compact';
|
|
72
|
-
title: string;
|
|
73
|
-
children: React.ReactNode;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export function Card({ variant, title, children }: CardProps): JSX.Element {
|
|
77
|
-
return (
|
|
78
|
-
<article className={styles[variant]}>
|
|
79
|
-
<h3 className={styles.title}>{title}</h3>
|
|
80
|
-
{children}
|
|
81
|
-
</article>
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
```
|
|
38
|
+
## D-3. 최종 검증
|
|
85
39
|
|
|
86
|
-
|
|
40
|
+
검증 공통 프로세스는 **vibe-figma-rules R-6** 참조.
|
|
87
41
|
|
|
88
|
-
|
|
89
|
-
// WRONG: 스타일 없는 불필요한 div 래핑
|
|
90
|
-
<div>
|
|
91
|
-
<ComponentA />
|
|
92
|
-
<ComponentB />
|
|
93
|
-
</div>
|
|
42
|
+
### Step D 추가 검증
|
|
94
43
|
|
|
95
|
-
// CORRECT: Fragment
|
|
96
|
-
<>
|
|
97
|
-
<ComponentA />
|
|
98
|
-
<ComponentB />
|
|
99
|
-
</>
|
|
100
44
|
```
|
|
101
|
-
|
|
102
|
-
## D-3. 최종 검증 루프
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
🔄 양쪽 뷰포트 동시 검증:
|
|
45
|
+
양쪽 뷰포트 동시 검증:
|
|
106
46
|
- 모바일 Figma vs 코드 (mobile viewport)
|
|
107
47
|
- PC Figma vs 코드 (desktop viewport)
|
|
108
48
|
- 양쪽 모두 P1=0, Match Score 95%+
|
|
109
49
|
- 이미지 에셋 전부 정상 표시
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
### 검증 완료 조건
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
✅ Match Score 95% 이상 (모바일 + 데스크탑 각각)
|
|
116
|
-
✅ P1 불일치 0건
|
|
117
|
-
✅ 모든 이미지 에셋 표시 확인
|
|
118
|
-
✅ 공통 토큰으로 중복 제거 완료
|
|
50
|
+
- 공통 토큰으로 중복 제거 완료
|
|
119
51
|
```
|
|
120
52
|
|
|
121
53
|
### Model Routing (Step D)
|
|
@@ -123,15 +55,46 @@ export function Card({ variant, title, children }: CardProps): JSX.Element {
|
|
|
123
55
|
| 작업 | 모델 |
|
|
124
56
|
|------|------|
|
|
125
57
|
| 공통화 리팩토링 + 최종 검증 | **Sonnet** |
|
|
126
|
-
| Post — 코드 리뷰 | **gpt-5.3-codex** |
|
|
58
|
+
| Post — 코드 리뷰 | **gpt-5.3-codex** (Codex 미설치 시 스킵) |
|
|
127
59
|
|
|
128
|
-
|
|
60
|
+
## D-4. Design Quality Pipeline (후처리)
|
|
129
61
|
|
|
62
|
+
Step D 완료 후 사용자에게 다음 단계를 제시.
|
|
63
|
+
|
|
64
|
+
### Pre-requisite check
|
|
65
|
+
|
|
66
|
+
`.claude/vibe/design-context.json`이 없으면:
|
|
130
67
|
```
|
|
131
|
-
/
|
|
132
|
-
|
|
68
|
+
디자인 컨텍스트가 없습니다. /design-teach 를 먼저 실행하면
|
|
69
|
+
브랜드, 접근성, 타겟 디바이스에 맞춘 더 정확한 코드를 생성할 수 있습니다.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Quick (기본 추천)
|
|
133
73
|
|
|
134
|
-
Codex 미설치 시 자동 스킵.
|
|
135
74
|
```
|
|
75
|
+
/design-normalize → /design-audit
|
|
76
|
+
```
|
|
77
|
+
- Normalize: 하드코딩 값 → MASTER.md 토큰으로 치환
|
|
78
|
+
- Audit: A11Y + 성능 + 반응형 + AI Slop 검출
|
|
79
|
+
|
|
80
|
+
### Thorough (프로덕션 추천)
|
|
136
81
|
|
|
137
|
-
|
|
82
|
+
```
|
|
83
|
+
/design-normalize → /design-audit → /design-critique → /design-polish
|
|
84
|
+
```
|
|
85
|
+
- + Critique: Nielsen 10 휴리스틱 + 페르소나 분석
|
|
86
|
+
- + Polish: 인터랙션 상태 보완 (hover/focus/loading/error)
|
|
87
|
+
|
|
88
|
+
### 출력 포맷
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Design Quality Pipeline
|
|
92
|
+
|
|
93
|
+
생성된 파일: {file list}
|
|
94
|
+
|
|
95
|
+
추천 다음 단계:
|
|
96
|
+
1. /design-normalize — 토큰 정렬
|
|
97
|
+
2. /design-audit — 기술 품질 검사
|
|
98
|
+
3. /design-critique — UX 휴리스틱 리뷰
|
|
99
|
+
4. /design-polish — 최종 인터랙션 보완
|
|
100
|
+
```
|