@su-record/vibe 2.9.1 → 2.9.3
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/CLAUDE.md +31 -10
- package/README.ko.md +90 -25
- package/README.md +139 -25
- package/agents/teams/debug-team.md +70 -0
- package/agents/teams/dev-team.md +88 -0
- package/agents/teams/docs-team.md +80 -0
- package/agents/teams/figma/figma-analyst.md +52 -0
- package/agents/teams/figma/figma-architect.md +112 -0
- package/agents/teams/figma/figma-auditor.md +82 -0
- package/agents/teams/figma/figma-builder.md +100 -0
- package/agents/teams/figma-team.md +85 -0
- package/agents/teams/fullstack-team.md +83 -0
- package/agents/teams/lite-team.md +69 -0
- package/agents/teams/migration-team.md +78 -0
- package/agents/teams/refactor-team.md +94 -0
- package/agents/teams/research-team.md +86 -0
- package/agents/teams/review-debate-team.md +125 -0
- package/agents/teams/security-team.md +81 -0
- package/commands/vibe.analyze.md +324 -170
- package/commands/vibe.figma.md +549 -34
- package/commands/vibe.harness.md +177 -0
- package/commands/vibe.review.md +1 -63
- package/commands/vibe.run.md +52 -403
- package/commands/vibe.scaffold.md +195 -0
- package/commands/vibe.spec.md +373 -1003
- package/commands/vibe.trace.md +17 -0
- package/commands/vibe.verify.md +19 -10
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +29 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +4 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +6 -1
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts +12 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +259 -72
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/hooks/scripts/figma-guard.js +220 -0
- package/hooks/scripts/figma-refine.js +315 -0
- package/hooks/scripts/figma-to-scss.js +394 -0
- package/hooks/scripts/figma-validate.js +353 -0
- package/package.json +1 -1
- package/skills/arch-guard/SKILL.md +1 -1
- package/skills/capability-loop/SKILL.md +106 -2
- package/skills/chub-usage/SKILL.md +43 -43
- package/skills/claude-md-guide/SKILL.md +175 -175
- package/skills/design-teach/SKILL.md +33 -33
- package/skills/devlog/SKILL.md +38 -38
- package/skills/event-comms/SKILL.md +23 -13
- package/skills/event-ops/SKILL.md +28 -19
- package/skills/event-planning/SKILL.md +13 -1
- package/skills/priority-todos/SKILL.md +1 -1
- package/skills/vibe.figma/SKILL.md +263 -115
- package/skills/vibe.figma/templates/component-spec.md +168 -0
- package/skills/vibe.figma.convert/SKILL.md +131 -84
- package/skills/vibe.figma.convert/rubrics/conversion-rules.md +12 -0
- package/skills/vibe.figma.extract/SKILL.md +148 -108
- package/skills/vibe.figma.extract/rubrics/image-rules.md +15 -3
- package/skills/vibe.interview/SKILL.md +358 -0
- package/skills/vibe.interview/checklists/api.md +101 -0
- package/skills/vibe.interview/checklists/feature.md +88 -0
- package/skills/vibe.interview/checklists/library.md +95 -0
- package/skills/vibe.interview/checklists/mobile.md +89 -0
- package/skills/vibe.interview/checklists/webapp.md +97 -0
- package/skills/vibe.interview/checklists/website.md +99 -0
- package/skills/vibe.plan/SKILL.md +216 -0
- package/skills/vibe.spec/SKILL.md +1155 -0
- package/{commands/vibe.spec.review.md → skills/vibe.spec.review/SKILL.md} +272 -155
- package/vibe/templates/claudemd-template.md +74 -0
- package/vibe/templates/constitution-template.md +15 -0
- package/vibe/templates/plan-template.md +194 -0
package/CLAUDE.md
CHANGED
|
@@ -38,12 +38,13 @@
|
|
|
38
38
|
- No `@ts-ignore` — fix type issues at root
|
|
39
39
|
- Explicit return types on all functions
|
|
40
40
|
|
|
41
|
-
### Convergence Principle (
|
|
41
|
+
### Convergence Principle (Quality-First, No Round Cap)
|
|
42
42
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
43
|
+
- **Loop until quality = 100** — no hard round cap on review/auto-fix loops
|
|
44
|
+
- **P1 = 0 AND no new findings** → done (the natural termination signal)
|
|
45
|
+
- **Narrowing scope per round (noise reduction)** — Round 1: full scope, Round 2: P1+P2, Round 3+: P1 only — keeps looping until P1=0
|
|
46
|
+
- **Stuck detection → ask the user** — Same findings (or same score) as previous round means auto-fixer hit a wall. Prompt the user to fill in values, explicitly approve sub-100, or abort. Never silently proceed with sub-100 quality.
|
|
47
|
+
- **ultrawork exception** — In `ultrawork` mode, skip the user prompt and record remaining gaps as TODO to keep the loop non-interactive.
|
|
47
48
|
- **Changed files only** — Never scan the entire project
|
|
48
49
|
|
|
49
50
|
### Forbidden Patterns
|
|
@@ -86,6 +87,7 @@
|
|
|
86
87
|
| Setup helpers | `src/cli/setup.ts`, `src/cli/setup/` |
|
|
87
88
|
| Hooks scripts | `hooks/scripts/` |
|
|
88
89
|
| Agent definitions | `agents/` |
|
|
90
|
+
| Team definitions | `agents/teams/` |
|
|
89
91
|
| Skill definitions | `skills/` |
|
|
90
92
|
| Language rules | `languages/` |
|
|
91
93
|
| SPEC/rule templates | `vibe/rules/`, `vibe/templates/` |
|
|
@@ -105,13 +107,29 @@
|
|
|
105
107
|
## Workflow
|
|
106
108
|
|
|
107
109
|
```text
|
|
108
|
-
/vibe.spec →
|
|
110
|
+
/vibe.spec → vibe.interview (skill) → vibe.plan (skill) → vibe.spec (skill) → vibe.spec.review (skill) → ┬→ /vibe.run → /vibe.verify → /vibe.trace → Done
|
|
111
|
+
│ (Logic Track)
|
|
112
|
+
└→ /vibe.figma → FE UI 코드
|
|
113
|
+
(UI Track — type ∈ {website,webapp,mobile}만)
|
|
109
114
|
```
|
|
110
115
|
|
|
116
|
+
**단일 진입점**: `/vibe.spec`은 "무엇을 개발할지" 질문으로 시작해서 전체 흐름을 오케스트레이션한다. 사용자는 `/vibe.*` 커맨드 이름을 외울 필요 없음. **Smart Resume**: 기존 interview/plan/spec 파일 존재 여부로 어느 단계부터 시작할지 자동 판단.
|
|
117
|
+
|
|
118
|
+
**커맨드 `/vibe.spec` vs 스킬 `vibe.spec`**: 커맨드는 **전체 워크플로 오케스트레이터**, 스킬은 그 안의 **SPEC 작성 단계**. `/vibe.figma` 커맨드와 `vibe.figma` 스킬 관계와 동일한 패턴.
|
|
119
|
+
|
|
120
|
+
**스킬 기반 workflow**:
|
|
121
|
+
- `vibe.interview` — 반복 인터뷰로 요구사항 수집 (사용자 "그만"까지). 타입별 체크리스트(`skills/vibe.interview/checklists/{type}.md`).
|
|
122
|
+
- `vibe.plan` — interview → 마크다운 기획서 정제 (`.claude/vibe/plans/{feature}.md`).
|
|
123
|
+
- `vibe.spec` — 기획서 → PTCF SPEC + Feature(BDD) 파일.
|
|
124
|
+
- `vibe.spec.review` — GPT/Gemini Race Review + 품질 게이트.
|
|
125
|
+
- 모두 자연어 트리거(만들자/개발하자/신규/아이디어)로도 자동 활성화.
|
|
126
|
+
|
|
127
|
+
**UI/Logic 분기**: 기획서의 `type` 필드로 자동 판단. UI 포함 프로젝트(website/webapp/mobile)는 Logic + UI 트랙 병렬, 비-UI(api/library)는 Logic만.
|
|
128
|
+
|
|
111
129
|
| Task Size | Approach |
|
|
112
130
|
|-----------|----------|
|
|
113
131
|
| 1-2 files | Plan Mode |
|
|
114
|
-
| 3+ files | `/vibe.spec` |
|
|
132
|
+
| 3+ files | `/vibe.spec` (전체 워크플로 오케스트레이션) |
|
|
115
133
|
|
|
116
134
|
## Magic Keywords
|
|
117
135
|
|
|
@@ -129,7 +147,7 @@ Skills are classified into 3 tiers to prevent context overload (Curse of Instruc
|
|
|
129
147
|
|
|
130
148
|
| Tier | Loading | Purpose | Count |
|
|
131
149
|
|------|---------|---------|-------|
|
|
132
|
-
| **core** | Always active | Bug/mistake prevention
|
|
150
|
+
| **core** | Always active | Bug/mistake prevention + workflow entry (interview/plan) | ~11 |
|
|
133
151
|
| **standard** | Project setup selects | Workflow support by stack/capability | ~21 |
|
|
134
152
|
| **optional** | Explicit `/skill` only | Reference/wrapper — not auto-loaded | ~4 |
|
|
135
153
|
|
|
@@ -141,7 +159,10 @@ When the user's context matches a pattern below, suggest the relevant skill **on
|
|
|
141
159
|
|
|
142
160
|
| User Context | Suggested Skill | Tier | Signal |
|
|
143
161
|
|-------------|-----------------|------|--------|
|
|
144
|
-
|
|
|
162
|
+
| New project/feature idea, no plan yet | `/vibe.spec` | command | "만들자", "개발하자", "신규", "아이디어", "무엇을 만들", "let's build", "new feature" |
|
|
163
|
+
| Interview 완료, 기획서 필요 | `/vibe.spec` | command | `.claude/vibe/interviews/*.md` 존재, 기획서 없음 (Smart Resume으로 Phase 2부터) |
|
|
164
|
+
| 전체 워크플로 진입 | `/vibe.spec` | command | "어디서부터 시작", "전체 워크플로", 커맨드 이름 모를 때 |
|
|
165
|
+
| 기획서 → 코드 명세 | `/vibe.spec` | command | `.claude/vibe/plans/*.md` 존재, SPEC 없음 (Smart Resume으로 Phase 3부터) |
|
|
145
166
|
| SPEC exists, ready to implement | `/vibe.run` | core | SPEC file present, no implementation started |
|
|
146
167
|
| Implementation done, verifying | `/vibe.trace` | core | Code changes match SPEC phases |
|
|
147
168
|
| Technical debt accumulating | `/techdebt` | core | Multiple `any` types, console.log, unused imports |
|
|
@@ -162,7 +183,7 @@ When the user's context matches a pattern below, suggest the relevant skill **on
|
|
|
162
183
|
|
|
163
184
|
## Git Commit Rules
|
|
164
185
|
|
|
165
|
-
**Must include:** `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/`, `.claude/vibe/config.json`, `CLAUDE.md`
|
|
186
|
+
**Must include:** `.claude/vibe/plans/`, `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/`, `.claude/vibe/config.json`, `CLAUDE.md`
|
|
166
187
|
|
|
167
188
|
**Exclude:** `~/.claude/vibe/rules/`, `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/`, `.claude/settings.local.json`
|
|
168
189
|
|
package/README.ko.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# VIBE
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**바이브 코딩은 쉽게. 최소 품질은 보장.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
6
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
Vibe는 AI 코딩 도구를 위한 품질 하네스입니다. Claude Code, Codex, Cursor, Gemini CLI를 감싸고, 타입 안전성, 코드 품질, 보안을 자동으로 강제합니다.
|
|
10
|
+
Vibe는 AI 코딩 도구를 위한 품질 하네스입니다. Claude Code, Codex, Cursor, Gemini CLI를 감싸고, 타입 안전성, 코드 품질, 보안을 자동으로 강제합니다. 빠르게 바이브 코딩하되, 엉망인 코드가 나가지 않게.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g @su-record/vibe
|
|
@@ -16,61 +16,114 @@ vibe init
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## 워크플로우
|
|
20
20
|
|
|
21
|
+
진입점 하나. 나머지는 자동.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
/vibe.spec "커피 브랜드 랜딩 페이지"
|
|
25
|
+
|
|
|
26
|
+
v
|
|
27
|
+
인터뷰 ─── "타깃은 누구?" "어떤 섹션?" "다크 모드?" ───
|
|
28
|
+
| (사용자가 "그만"할 때까지 반복)
|
|
29
|
+
v
|
|
30
|
+
기획서 ─── 구조화된 마크다운 기획서 (.claude/vibe/plans/)
|
|
31
|
+
|
|
|
32
|
+
v
|
|
33
|
+
SPEC ─── PTCF 명세 + BDD 피처, GPT+Gemini 병렬 리서치
|
|
34
|
+
|
|
|
35
|
+
v
|
|
36
|
+
리뷰 ─── Race Review (GPT vs Gemini), 품질 게이트 (100점, 수렴까지 루프)
|
|
37
|
+
|
|
|
38
|
+
+──────────────────────────────┐
|
|
39
|
+
v v
|
|
40
|
+
/vibe.run (로직) /vibe.figma (UI)
|
|
41
|
+
SPEC 기반 구현 Figma 디자인 ↔ 코드
|
|
42
|
+
12개 에이전트 리뷰 읽기 또는 쓰기
|
|
43
|
+
| |
|
|
44
|
+
v v
|
|
45
|
+
/vibe.verify ──── /vibe.trace ──── 완료
|
|
21
46
|
```
|
|
22
|
-
사용자: "사용자 인증 추가해줘"
|
|
23
47
|
|
|
24
|
-
|
|
25
|
-
/vibe.run → SPEC 기반 구현 → 12개 에이전트 병렬 리뷰
|
|
26
|
-
품질 게이트 → any 타입 차단, 긴 함수 차단, 위험한 명령 차단
|
|
27
|
-
완료 → 리뷰 통과된 타입 안전 코드만 남음
|
|
48
|
+
**Smart Resume** — 아무 단계에서나 멈추고, 세션을 닫고, 나중에 돌아오세요. `/vibe.spec`이 중단된 위치를 자동 감지하고 이어서 진행합니다. feature 이름을 외울 필요 없음.
|
|
28
49
|
|
|
29
|
-
|
|
30
|
-
```
|
|
50
|
+
**ultrawork** — 어느 명령이든 `ultrawork`를 붙이면 모든 확인 게이트를 건너뛰고 전체 파이프라인을 자동 실행합니다.
|
|
31
51
|
|
|
32
52
|
---
|
|
33
53
|
|
|
34
54
|
## 빠른 시작
|
|
35
55
|
|
|
36
56
|
```bash
|
|
37
|
-
#
|
|
57
|
+
# 설치
|
|
38
58
|
npm install -g @su-record/vibe
|
|
39
59
|
|
|
40
|
-
#
|
|
60
|
+
# 프로젝트 초기화 (스택 자동 감지)
|
|
41
61
|
cd your-project
|
|
42
62
|
vibe init
|
|
43
63
|
|
|
44
|
-
#
|
|
45
|
-
claude
|
|
46
|
-
# 또는 codex, cursor, gemini — 모두 지원
|
|
64
|
+
# AI 코딩 도구 시작
|
|
65
|
+
claude
|
|
47
66
|
|
|
48
|
-
#
|
|
49
|
-
/vibe.spec "사용자 인증 추가"
|
|
50
|
-
/vibe.run # SPEC 기반 구현
|
|
67
|
+
# 워크플로우 실행
|
|
68
|
+
/vibe.spec "사용자 인증 추가"
|
|
51
69
|
```
|
|
52
70
|
|
|
53
|
-
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Figma ↔ 코드
|
|
74
|
+
|
|
75
|
+
양방향. Figma에서 디자인을 읽거나, 기획서에서 Figma에 디자인을 쓰거나.
|
|
54
76
|
|
|
55
77
|
```bash
|
|
56
|
-
|
|
78
|
+
# READ — 기존 프로젝트에 UI 추가 (프로젝트 컨벤션 준수)
|
|
79
|
+
/vibe.figma <figma-url> <figma-url>
|
|
80
|
+
|
|
81
|
+
# READ — 신규 독립 페이지 (독립 스타일)
|
|
82
|
+
/vibe.figma --new <figma-url>
|
|
83
|
+
|
|
84
|
+
# WRITE — 기획서에서 Figma 디자인 생성
|
|
85
|
+
/vibe.figma plan.md --create # Full (와이어 + 비주얼 디자인)
|
|
86
|
+
/vibe.figma plan.md --create-storyboard # 와이어만
|
|
87
|
+
/vibe.figma plan.md --create-design # 비주얼 디자인만
|
|
57
88
|
```
|
|
58
89
|
|
|
90
|
+
**READ 동작**: Figma REST API로 노드 트리 + 30개 CSS 속성 추출. Auto Layout → Flexbox 1:1 기계적 매핑. 스크린샷은 검증용 — 트리가 원천.
|
|
91
|
+
|
|
92
|
+
**WRITE 동작**: 기획서의 Look & Feel, 레이아웃, 반응형 전략 섹션을 파싱하여 와이어프레임을 먼저 그리고 (구조 검토), 그 위에 디자인 시스템 컴포넌트로 비주얼 적용. 멱등성 보장 — 기획서 수정 후 재실행하면 변경된 섹션만 갱신.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 품질 게이트
|
|
97
|
+
|
|
98
|
+
모든 도구 호출마다 3계층 방어:
|
|
99
|
+
|
|
100
|
+
| 계층 | 차단 대상 |
|
|
101
|
+
|------|----------|
|
|
102
|
+
| Pre-commit 훅 | `any` 타입, `@ts-ignore`, `console.log`, 50줄 초과 함수 |
|
|
103
|
+
| 리뷰 에이전트 | 12개 전문 리뷰어 병렬 실행 (보안, 성능, 접근성, 복잡도, ...) |
|
|
104
|
+
| 수렴 루프 | 리뷰 findings P1=0까지 루프. 라운드 캡 없음. Stuck이면 사용자에게 질문, 절대 조용히 넘어가지 않음. |
|
|
105
|
+
|
|
59
106
|
---
|
|
60
107
|
|
|
61
108
|
## 주요 기능
|
|
62
109
|
|
|
63
|
-
|
|
110
|
+
**40+ 에이전트** — 탐색, 구현, 아키텍처, 병렬 코드 리뷰, UI/UX 분석, 보안 감사, Figma 분석/빌드.
|
|
111
|
+
|
|
112
|
+
**44개 스킬** — 한 번에 다 로드되지 않음. 3-tier 시스템으로 컨텍스트 과부하 방지:
|
|
64
113
|
|
|
65
|
-
|
|
114
|
+
| 티어 | 로드 시점 | 용도 | 예시 |
|
|
115
|
+
|------|----------|------|------|
|
|
116
|
+
| **Core** | 항상 활성 | 버그 방지, 워크플로 진입 | 품질 게이트, 인터뷰, 기획 |
|
|
117
|
+
| **Standard** | `vibe init`이 스택별 선택 | 스택/역할 지원 | figma, design-audit, techdebt |
|
|
118
|
+
| **Optional** | 명시적 `/skill` 호출만 | 레퍼런스, 래퍼 | chub-usage, context7 |
|
|
66
119
|
|
|
67
120
|
**멀티 LLM** — Claude가 오케스트레이션, GPT가 추론, Gemini가 리서치. 가용 모델에 따라 자동 라우팅. 기본값은 Claude 단독.
|
|
68
121
|
|
|
69
|
-
|
|
122
|
+
**스택 감지** — 24개 프레임워크 자동 감지 (Next.js, Django, Rails, Go, Rust, Flutter 등) 후 프레임워크별 규칙과 스킬 적용.
|
|
70
123
|
|
|
71
|
-
|
|
124
|
+
**세션 메모리** — 결정, 제약, 목표가 SQLite + FTS5 검색으로 세션 간 유지.
|
|
72
125
|
|
|
73
|
-
**
|
|
126
|
+
**Smart Resume** — `.last-feature` 포인터가 마지막 작업을 추적. 인자 없이 `/vibe.spec`을 호출하면 중단된 위치를 보여주거나 진행 중 feature 목록을 제시.
|
|
74
127
|
|
|
75
128
|
---
|
|
76
129
|
|
|
@@ -85,6 +138,18 @@ claude # Claude Code
|
|
|
85
138
|
|
|
86
139
|
---
|
|
87
140
|
|
|
141
|
+
## 명령어
|
|
142
|
+
|
|
143
|
+
| 명령어 | 용도 |
|
|
144
|
+
|--------|------|
|
|
145
|
+
| `/vibe.spec` | 단일 진입점 — 인터뷰, 기획, SPEC, 리뷰, 그리고 구현까지 |
|
|
146
|
+
| `/vibe.run` | SPEC 기반 구현 |
|
|
147
|
+
| `/vibe.figma` | Figma ↔ 코드 (읽기 또는 쓰기, 3가지 모드) |
|
|
148
|
+
| `/vibe.verify` | 구현이 SPEC에 맞는지 검증 |
|
|
149
|
+
| `/vibe.trace` | 요구사항 추적 매트릭스 |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
88
153
|
## 문서
|
|
89
154
|
|
|
90
155
|
상세 가이드, 스킬 레퍼런스, 설정 방법은 [Wiki](https://github.com/su-record/vibe/wiki)를 참고하세요.
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# VIBE
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Easy vibe coding. Minimum quality guaranteed.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
6
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
Vibe is a quality harness for AI coding tools. It wraps around Claude Code, Codex, Cursor, or Gemini CLI and automatically enforces type safety, code quality, and security —
|
|
10
|
+
Vibe is a quality harness for AI coding tools. It wraps around Claude Code, Codex, Cursor, or Gemini CLI and automatically enforces type safety, code quality, and security — so you can vibe-code fast without shipping garbage.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g @su-record/vibe
|
|
@@ -16,61 +16,159 @@ vibe init
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## The Workflow
|
|
20
20
|
|
|
21
|
+
One entry point. Everything else is automatic.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
/vibe.spec "coffee brand landing page"
|
|
25
|
+
|
|
|
26
|
+
v
|
|
27
|
+
Interview ─── "Who's the audience?" "What sections?" "Dark mode?" ───
|
|
28
|
+
| (loops until you say stop)
|
|
29
|
+
v
|
|
30
|
+
Plan ─── Structured planning document (.claude/vibe/plans/)
|
|
31
|
+
|
|
|
32
|
+
v
|
|
33
|
+
SPEC ─── PTCF spec + BDD features, GPT+Gemini parallel research
|
|
34
|
+
|
|
|
35
|
+
v
|
|
36
|
+
Review ─── Race review (GPT vs Gemini), quality gate (100-point, loop until perfect)
|
|
37
|
+
|
|
|
38
|
+
+──────────────────────────────┐
|
|
39
|
+
v v
|
|
40
|
+
/vibe.run (Logic) /vibe.figma (UI)
|
|
41
|
+
Implement from SPEC Figma design ↔ Code
|
|
42
|
+
12 agents review Read or Write
|
|
43
|
+
| |
|
|
44
|
+
v v
|
|
45
|
+
/vibe.verify ──── /vibe.trace ──── Done
|
|
21
46
|
```
|
|
22
|
-
You: "Add user authentication"
|
|
23
47
|
|
|
24
|
-
|
|
25
|
-
/vibe.run → Implement from SPEC → 12 agents review in parallel
|
|
26
|
-
Quality gates → Block any types, long functions, dangerous commands
|
|
27
|
-
Done → Only reviewed, type-safe code remains
|
|
48
|
+
**Smart Resume** — Stop at any step, close the session, come back later. `/vibe.spec` auto-detects where you left off and picks up from there. No need to remember feature names.
|
|
28
49
|
|
|
29
|
-
|
|
30
|
-
```
|
|
50
|
+
**ultrawork** — Add `ultrawork` to skip all confirmation gates and run the full pipeline hands-free.
|
|
31
51
|
|
|
32
52
|
---
|
|
33
53
|
|
|
34
54
|
## Quick Start
|
|
35
55
|
|
|
36
56
|
```bash
|
|
37
|
-
#
|
|
57
|
+
# Install
|
|
38
58
|
npm install -g @su-record/vibe
|
|
39
59
|
|
|
40
|
-
#
|
|
60
|
+
# Initialize (auto-detects your stack, generates project-aware CLAUDE.md)
|
|
41
61
|
cd your-project
|
|
42
62
|
vibe init
|
|
43
63
|
|
|
44
|
-
#
|
|
45
|
-
claude
|
|
46
|
-
|
|
64
|
+
# Start your AI coding tool
|
|
65
|
+
claude
|
|
66
|
+
|
|
67
|
+
# Run the workflow
|
|
68
|
+
/vibe.spec "add user authentication"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Harness Engineering
|
|
74
|
+
|
|
75
|
+
Vibe is built on the [Harness Engineering](https://anthropic.com/engineering/harness-design) principle — designing the working environment so AI operates effectively on its own.
|
|
76
|
+
|
|
77
|
+
### The 6 Axes
|
|
78
|
+
|
|
79
|
+
| Axis | What it covers | Vibe implementation |
|
|
80
|
+
|------|---------------|---------------------|
|
|
81
|
+
| **Scaffolding** | Project structure, tools, boundaries | `/vibe.scaffold` generates optimized folder structure (docs/, .dev/, layered src/) |
|
|
82
|
+
| **Context** | What AI knows | `vibe init` generates project-aware CLAUDE.md from actual structure analysis |
|
|
83
|
+
| **Planning** | What to build | `/vibe.spec` → interview → plan → SPEC → review pipeline |
|
|
84
|
+
| **Orchestration** | How to execute | 40+ agents, 12 teams, skill-based dispatch |
|
|
85
|
+
| **Verification** | How to trust | Hooks, convergence loops, RTM traceability |
|
|
86
|
+
| **Compounding** | How to improve | Evolution engine, session memory, auto-generated skills |
|
|
87
|
+
|
|
88
|
+
### Diagnose Your Project
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
/vibe.harness # Score your project across all 6 axes (0-100)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Produces a detailed report with per-axis scores, grade (S/A/B/C/D), and auto-fixable improvement suggestions. Detects project type (app vs package/library) and adjusts scoring accordingly.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Analyze Anything
|
|
99
|
+
|
|
100
|
+
`/vibe.analyze` works on more than just source code:
|
|
47
101
|
|
|
48
|
-
|
|
49
|
-
/vibe.
|
|
50
|
-
/vibe.
|
|
102
|
+
```bash
|
|
103
|
+
/vibe.analyze "login" # Feature/module code exploration
|
|
104
|
+
/vibe.analyze --code # Code quality analysis
|
|
105
|
+
/vibe.analyze report.pdf # Document analysis (PDF, slides, markdown)
|
|
106
|
+
/vibe.analyze https://example.com # Website analysis (UX, tech, SEO, a11y)
|
|
107
|
+
/vibe.analyze https://figma.com/… # Figma design analysis
|
|
51
108
|
```
|
|
52
109
|
|
|
53
|
-
|
|
110
|
+
Auto-detects input type (file extension → URL pattern → flag → string) and routes to the appropriate analysis mode with mode-specific quality gates.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Figma ↔ Code
|
|
115
|
+
|
|
116
|
+
Bidirectional. Read designs from Figma, or write designs to Figma from a plan.
|
|
54
117
|
|
|
55
118
|
```bash
|
|
56
|
-
|
|
119
|
+
# READ — Add UI to existing project (follows project conventions)
|
|
120
|
+
/vibe.figma <figma-url> <figma-url>
|
|
121
|
+
|
|
122
|
+
# READ — New standalone page (independent styles)
|
|
123
|
+
/vibe.figma --new <figma-url>
|
|
124
|
+
|
|
125
|
+
# WRITE — Create Figma design from plan document
|
|
126
|
+
/vibe.figma plan.md --create # Full (wireframe + visual design)
|
|
127
|
+
/vibe.figma plan.md --create-storyboard # Wireframe only
|
|
128
|
+
/vibe.figma plan.md --create-design # Visual design only
|
|
57
129
|
```
|
|
58
130
|
|
|
131
|
+
**How READ works**: Extracts the Figma node tree + 30 CSS properties via REST API, maps Auto Layout to Flexbox 1:1, generates responsive SCSS. Screenshot is for verification only — the tree is the source of truth.
|
|
132
|
+
|
|
133
|
+
**How WRITE works**: Parses plan document sections (Look & Feel, layout, responsive strategy), builds wireframe first for structure review, then applies visual design with design system components. Idempotent — re-run after editing the plan and only changed sections update.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Quality Gates
|
|
138
|
+
|
|
139
|
+
Three layers of defense on every tool call:
|
|
140
|
+
|
|
141
|
+
| Layer | What it blocks |
|
|
142
|
+
|-------|----------------|
|
|
143
|
+
| Pre-commit hooks | `any` types, `@ts-ignore`, `console.log`, functions > 50 lines |
|
|
144
|
+
| Review agents | 12 specialized reviewers run in parallel (security, performance, a11y, complexity, ...) |
|
|
145
|
+
| Convergence loop | Review findings loop until P1 = 0. No round cap. Stuck = ask user, never silently proceed. |
|
|
146
|
+
|
|
59
147
|
---
|
|
60
148
|
|
|
61
|
-
##
|
|
149
|
+
## Key Features
|
|
150
|
+
|
|
151
|
+
**40+ agents** — Exploration, implementation, architecture, parallel code review, UI/UX analysis, security audit, Figma analysis/building.
|
|
62
152
|
|
|
63
|
-
**
|
|
153
|
+
**44 skills** — Not all loaded at once. 3-tier system prevents context overload:
|
|
64
154
|
|
|
65
|
-
|
|
155
|
+
| Tier | When loaded | Purpose | Examples |
|
|
156
|
+
|------|-------------|---------|----------|
|
|
157
|
+
| **Core** | Always active | Bug prevention, workflow entry | quality gates, interview, plan |
|
|
158
|
+
| **Standard** | `vibe init` selects by stack | Stack/capability support | figma, design-audit, techdebt |
|
|
159
|
+
| **Optional** | Explicit `/skill` only | Reference, wrappers | chub-usage, context7 |
|
|
66
160
|
|
|
67
161
|
**Multi-LLM** — Claude orchestrates, GPT reasons, Gemini researches. Auto-routes by availability. Works Claude-only by default.
|
|
68
162
|
|
|
163
|
+
**Stack detection** — Auto-detects 24 frameworks (Next.js, Django, Rails, Go, Rust, Flutter, and more) and applies framework-specific rules and skills.
|
|
164
|
+
|
|
165
|
+
**Project-aware CLAUDE.md** — `vibe init` and `vibe update` analyze your project's actual structure (folders, tech stack, build commands) and generate a tailored CLAUDE.md — not a static template.
|
|
166
|
+
|
|
69
167
|
**Session memory** — Decisions, constraints, and goals persist across sessions via SQLite + FTS5 hybrid search.
|
|
70
168
|
|
|
71
|
-
**
|
|
169
|
+
**Smart Resume** — `.last-feature` pointer tracks your latest work. `/vibe.spec` without arguments shows where you left off or lists all in-progress features.
|
|
72
170
|
|
|
73
|
-
**
|
|
171
|
+
**Self-repair** — Skills include error recovery tables. `/vibe.harness` diagnoses gaps and chains to `/vibe.scaffold` → `vibe update` for automated fixes.
|
|
74
172
|
|
|
75
173
|
---
|
|
76
174
|
|
|
@@ -85,6 +183,22 @@ Add `ultrawork` to any command for full automation:
|
|
|
85
183
|
|
|
86
184
|
---
|
|
87
185
|
|
|
186
|
+
## Commands
|
|
187
|
+
|
|
188
|
+
| Command | Purpose |
|
|
189
|
+
|---------|---------|
|
|
190
|
+
| `/vibe.spec` | Single entry point — interview, plan, spec, review, then run |
|
|
191
|
+
| `/vibe.run` | Implement from SPEC |
|
|
192
|
+
| `/vibe.figma` | Figma ↔ Code (read or write, 3 modes) |
|
|
193
|
+
| `/vibe.verify` | Verify implementation against SPEC |
|
|
194
|
+
| `/vibe.trace` | Requirements traceability matrix |
|
|
195
|
+
| `/vibe.analyze` | Analyze any target — code, documents, websites, Figma |
|
|
196
|
+
| `/vibe.scaffold` | Generate or audit project folder structure |
|
|
197
|
+
| `/vibe.harness` | Diagnose Harness Engineering maturity (6-axis scoring) |
|
|
198
|
+
| `/vibe.docs` | Generate project documentation |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
88
202
|
## Documentation
|
|
89
203
|
|
|
90
204
|
Full guides, skill reference, and configuration details are in the [Wiki](https://github.com/su-record/vibe/wiki).
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Debug Team
|
|
2
|
+
|
|
3
|
+
빌드/테스트 실패 시 아키텍트 진단 → 구현자 수정 → 테스터 검증 사이클.
|
|
4
|
+
|
|
5
|
+
## 팀 구성
|
|
6
|
+
|
|
7
|
+
| 팀원 | 역할 | Model |
|
|
8
|
+
|------|------|-------|
|
|
9
|
+
| architect (리더) | 근본 원인 진단, 수정 방향 설계, 아키텍처 레벨 문제 식별 | Opus |
|
|
10
|
+
| implementer | architect 진단에 따라 최소 diff 수정 적용 | Sonnet |
|
|
11
|
+
| tester | 수정 후 즉시 테스트 실행, 회귀 검증 | Haiku |
|
|
12
|
+
|
|
13
|
+
## 활성화 조건
|
|
14
|
+
|
|
15
|
+
- 동일 빌드/테스트 실패 3회 이상
|
|
16
|
+
- UltraQA `architecture_question` 상태 진입 시
|
|
17
|
+
|
|
18
|
+
## 워크플로우
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[입력: 에러 출력 + 실패 파일 + 이전 시도 이력]
|
|
22
|
+
|
|
|
23
|
+
architect: 근본 원인 분석 (증상이 아닌 원인)
|
|
24
|
+
|
|
|
25
|
+
└──→ implementer: 최소 diff 수정
|
|
26
|
+
└──→ tester: 테스트 실행
|
|
27
|
+
├─ PASS → 완료
|
|
28
|
+
└─ FAIL → architect 재진단 (3회 실패 → 사용자 에스컬레이션)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## spawn 패턴
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
TeamCreate(team_name="debug-{feature}", description="Debug team for {feature} build/test failure")
|
|
35
|
+
|
|
36
|
+
Task(team_name="debug-{feature}", name="architect", subagent_type="architect",
|
|
37
|
+
prompt="Debug team leader. Diagnose root cause of build/test failure.
|
|
38
|
+
Error: {error_output}
|
|
39
|
+
Failed files: {failed_files}
|
|
40
|
+
Previous attempts: {attempt_history}
|
|
41
|
+
Role: Analyze error, identify root cause (not symptoms). Design minimal fix.
|
|
42
|
+
Send diagnosis to implementer via SendMessage. If same failure 3x, escalate to user.")
|
|
43
|
+
|
|
44
|
+
Task(team_name="debug-{feature}", name="implementer", subagent_type="implementer",
|
|
45
|
+
mode="bypassPermissions",
|
|
46
|
+
prompt="Debug team fixer. Apply minimal-diff fixes based on architect diagnosis.
|
|
47
|
+
Role: Wait for architect diagnosis. Apply ONLY the specific fix recommended.
|
|
48
|
+
Do NOT refactor surrounding code. Notify tester when fix is applied.")
|
|
49
|
+
|
|
50
|
+
Task(team_name="debug-{feature}", name="tester", subagent_type="tester",
|
|
51
|
+
mode="bypassPermissions",
|
|
52
|
+
prompt="Debug team verifier. Run tests after each fix to verify resolution.
|
|
53
|
+
Role: Wait for implementer fix notification. Run failing tests.
|
|
54
|
+
Report results to architect. If still failing, provide detailed error output.")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## 팀원 간 통신
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
architect → implementer: "근본 원인: circular import in module A→B→A. B의 import를 lazy로 변경하세요"
|
|
61
|
+
implementer → tester: "수정 완료. 기존 실패 테스트 재실행 요청합니다"
|
|
62
|
+
tester → architect: "여전히 실패. 새로운 에러: TypeError at line 42"
|
|
63
|
+
architect → broadcast: "3회 실패. 사용자 에스컬레이션이 필요합니다"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## ⛔ 하지 않는 것
|
|
67
|
+
|
|
68
|
+
- 주변 코드 리팩터링 (최소 diff만)
|
|
69
|
+
- 증상 치료 (근본 원인 해결만)
|
|
70
|
+
- 4회 이상 자동 재시도 (3회 실패 → 사용자 에스컬레이션)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Dev Team
|
|
2
|
+
|
|
3
|
+
에이전트들이 팀을 이루어 서로 소통하며 구현하는 풀 구현 팀.
|
|
4
|
+
|
|
5
|
+
## 팀 구성
|
|
6
|
+
|
|
7
|
+
| 팀원 | 역할 | Model |
|
|
8
|
+
|------|------|-------|
|
|
9
|
+
| architect (리더) | 설계 결정, 구현 방향 조율, SPEC 준수 검증, 팀 합의 주도 | Opus |
|
|
10
|
+
| implementer | 핵심 비즈니스 로직 구현, architect 설계를 따라 코드 작성 | Sonnet |
|
|
11
|
+
| tester | 구현 완료 즉시 테스트 작성, 실패 시 implementer에 피드백 | Haiku |
|
|
12
|
+
| security-reviewer | 실시간 보안 취약점 검증, 블로킹 이슈 식별 | Sonnet |
|
|
13
|
+
|
|
14
|
+
## 활성화 조건
|
|
15
|
+
|
|
16
|
+
- ULTRAWORK 모드 + 3개 이상 시나리오
|
|
17
|
+
- 또는 복잡도 점수 20+ (High)
|
|
18
|
+
|
|
19
|
+
## 워크플로우
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
architect: SPEC Phase 분석 → 구현 계획 수립 → TaskList에 작업 등록
|
|
23
|
+
|
|
|
24
|
+
├──→ implementer: TaskList에서 claim → 코드 작성
|
|
25
|
+
│ ├──→ tester: 컴포넌트 완료 즉시 테스트 (점진적)
|
|
26
|
+
│ │ └── 실패 시 → implementer에 피드백
|
|
27
|
+
│ └──← security-reviewer: 실시간 보안 검증
|
|
28
|
+
│ └── 블로킹 이슈 → implementer 즉시 수정
|
|
29
|
+
|
|
|
30
|
+
architect: 모든 시나리오 통과 확인 → 팀 종료
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## spawn 패턴
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
TeamCreate(team_name="dev-{feature}", description="Implementation team for {feature} Phase {N}")
|
|
37
|
+
|
|
38
|
+
Task(team_name="dev-{feature}", name="architect", subagent_type="architect",
|
|
39
|
+
prompt="구현 팀 리더. Phase {N}의 SPEC을 분석하고 구현 계획을 수립하세요.
|
|
40
|
+
SPEC: {spec_content}
|
|
41
|
+
Feature Scenarios: {scenarios}
|
|
42
|
+
역할: 설계 결정, 구현 방향 조율, 팀원 간 충돌 해결, SPEC 준수 검증.
|
|
43
|
+
TaskList에 구현 작업을 등록하세요. implementer에게 설계를 SendMessage로 전달하세요.
|
|
44
|
+
모든 시나리오가 통과할 때까지 팀을 조율하세요.")
|
|
45
|
+
|
|
46
|
+
Task(team_name="dev-{feature}", name="implementer", subagent_type="implementer",
|
|
47
|
+
mode="bypassPermissions",
|
|
48
|
+
prompt="구현 팀 코드 담당. SPEC: {spec_content}
|
|
49
|
+
역할: architect의 설계를 따라 프로덕션 코드 작성.
|
|
50
|
+
architect에게서 설계를 받으면 구현을 시작하세요.
|
|
51
|
+
컴포넌트 구현 완료 시 tester에게 SendMessage로 테스트 요청하세요.
|
|
52
|
+
security-reviewer의 블로킹 이슈는 즉시 수정하세요.
|
|
53
|
+
TaskList에서 구현 작업을 claim하세요.")
|
|
54
|
+
|
|
55
|
+
Task(team_name="dev-{feature}", name="tester", subagent_type="tester",
|
|
56
|
+
mode="bypassPermissions",
|
|
57
|
+
prompt="구현 팀 테스트 담당. SPEC: {spec_content}
|
|
58
|
+
역할: implementer가 완료한 컴포넌트부터 즉시 테스트 작성.
|
|
59
|
+
구현 전체를 기다리지 말고 컴포넌트 단위로 점진적 테스트하세요.
|
|
60
|
+
테스트 실패 시 implementer에게 SendMessage로 피드백하세요.
|
|
61
|
+
edge case 발견 시 architect에게 설계 검토를 요청하세요.
|
|
62
|
+
TaskList에서 테스트 작업을 claim하세요.")
|
|
63
|
+
|
|
64
|
+
Task(team_name="dev-{feature}", name="security-reviewer", subagent_type="security-reviewer",
|
|
65
|
+
mode="bypassPermissions",
|
|
66
|
+
prompt="구현 팀 보안 담당. SPEC: {spec_content}
|
|
67
|
+
역할: 구현 코드의 보안 취약점 실시간 검증.
|
|
68
|
+
보안 이슈는 BLOCKING — implementer에게 SendMessage로 즉시 수정 요청하세요.
|
|
69
|
+
심각한 설계 결함 발견 시 architect에게 SendMessage로 알리세요.
|
|
70
|
+
TaskList에서 보안 검증 작업을 claim하세요.")
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 팀원 간 통신
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
architect → implementer: "Repository 패턴으로 데이터 접근 계층 분리해서 구현해주세요. 인터페이스는 TaskList에 등록했습니다"
|
|
77
|
+
implementer → tester: "LoginService 구현 완료. 정상/실패/잠금 시나리오 테스트 요청합니다"
|
|
78
|
+
security-reviewer → implementer: "SQL injection 위험: raw query 사용 감지. parameterized query로 즉시 수정 필요"
|
|
79
|
+
tester → architect: "edge case 3건 실패 (빈 입력, 특수문자, 동시 요청). 설계 검토 요청합니다"
|
|
80
|
+
architect → broadcast: "Phase {N} 모든 시나리오 통과 확인. 구현 완료합니다"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## ⛔ 하지 않는 것
|
|
84
|
+
|
|
85
|
+
- SPEC 범위 밖의 기능 추가
|
|
86
|
+
- architect 승인 없이 설계 변경
|
|
87
|
+
- 테스트 실패 상태에서 다음 컴포넌트 진행
|
|
88
|
+
- security-reviewer 블로킹 이슈 무시
|