@su-record/vibe 2.7.16 → 2.7.18
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/.env.example +37 -37
- package/CLAUDE.md +153 -134
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +379 -379
- package/commands/vibe.review.md +607 -607
- package/commands/vibe.run.md +2124 -2124
- package/commands/vibe.spec.md +1195 -1195
- package/commands/vibe.spec.review.md +569 -569
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +484 -484
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.js +51 -51
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/upgrade.d.ts +3 -3
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +24 -3
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +52 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.js +117 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts +2 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.test.d.ts.map +1 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +91 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -0
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/test-helpers/index.d.ts +36 -0
- package/dist/test-helpers/index.d.ts.map +1 -0
- package/dist/test-helpers/index.js +85 -0
- package/dist/test-helpers/index.js.map +1 -0
- package/dist/test-helpers/index.test.d.ts +2 -0
- package/dist/test-helpers/index.test.d.ts.map +1 -0
- package/dist/test-helpers/index.test.js +92 -0
- package/dist/test-helpers/index.test.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -77
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +123 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -63
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -13
- package/skills/e2e-commerce/SKILL.md +61 -61
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -12
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -221
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
package/README.md
CHANGED
|
@@ -1,449 +1,449 @@
|
|
|
1
|
-
# VIBE — AI Coding Framework for Claude Code
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
4
|
-
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
5
|
-
[](https://nodejs.org/)
|
|
6
|
-
[](https://www.typescriptlang.org/)
|
|
7
|
-
[](https://opensource.org/licenses/MIT)
|
|
8
|
-
|
|
9
|
-
**설치 한 줄로 Claude Code에 49개 에이전트, 41+ 도구, 멀티 LLM 오케스트레이션을 더합니다.**
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g @su-record/vibe
|
|
13
|
-
vibe init
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 왜 Vibe인가
|
|
19
|
-
|
|
20
|
-
AI에게 "로그인 기능 만들어줘"라고 던지면 동작은 하지만 품질은 운에 맡기게 됩니다.
|
|
21
|
-
Vibe는 구조로 해결합니다.
|
|
22
|
-
|
|
23
|
-
| 문제 | 해결 |
|
|
24
|
-
|------|------|
|
|
25
|
-
| AI가 `any` 타입 남발 | Quality Gate가 `any`/`@ts-ignore` 차단 |
|
|
26
|
-
| 한 번에 완성 기대 | SPEC → 구현 → 검증 단계별 워크플로우 |
|
|
27
|
-
| 리뷰 없이 머지 | 13개 에이전트 병렬 리뷰 |
|
|
28
|
-
| AI 결과를 그대로 수용 | GPT + Gemini 교차 검증 |
|
|
29
|
-
| 컨텍스트 소실 | Session RAG로 자동 저장/복원 |
|
|
30
|
-
| 복잡한 작업에서 길을 잃음 | SwarmOrchestrator 자동 분해 + 병렬 실행 |
|
|
31
|
-
|
|
32
|
-
### 설계 철학
|
|
33
|
-
|
|
34
|
-
| 원칙 | 설명 |
|
|
35
|
-
|------|------|
|
|
36
|
-
| **Easy Vibe Coding** | 빠른 흐름, AI와 협업하며 생각하기 |
|
|
37
|
-
| **Minimum Quality Guaranteed** | 타입 안전성, 코드 품질, 보안 — 자동 하한선 |
|
|
38
|
-
| **Iterative Reasoning** | 문제를 쪼개고 질문하며 함께 추론 |
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 워크플로우
|
|
43
|
-
|
|
44
|
-
```mermaid
|
|
45
|
-
flowchart LR
|
|
46
|
-
A["/vibe.spec"] --> B["/vibe.spec.review"]
|
|
47
|
-
B --> C["/vibe.run"]
|
|
48
|
-
C --> D["자동 리뷰"]
|
|
49
|
-
D --> E["완료"]
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
1. **`/vibe.spec`** — 요구사항을 SPEC 문서로 정의 (GPT + Gemini 병렬 리서치)
|
|
53
|
-
2. **`/vibe.spec.review`** — SPEC 품질 리뷰
|
|
54
|
-
3. **`/vibe.run`** — SPEC 기반 구현 + 병렬 코드 리뷰
|
|
55
|
-
4. **자동 리뷰** — 13개 전문 에이전트 병렬 검토, P1/P2 자동 수정
|
|
56
|
-
|
|
57
|
-
`ultrawork` 키워드를 붙이면 전 과정이 자동화됩니다:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
/vibe.run "기능" ultrawork
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 에이전트 (49개)
|
|
66
|
-
|
|
67
|
-
### 메인 에이전트 (19)
|
|
68
|
-
|
|
69
|
-
| 카테고리 | 에이전트 |
|
|
70
|
-
|----------|---------|
|
|
71
|
-
| **탐색** | Explorer (High/Medium/Low) |
|
|
72
|
-
| **구현** | Implementer (High/Medium/Low) |
|
|
73
|
-
| **설계** | Architect (High/Medium/Low) |
|
|
74
|
-
| **유틸** | Searcher, Tester, Simplifier, Refactor Cleaner, Build Error Resolver, Compounder, Diagrammer, E2E Tester, UI Previewer, Junior Mentor |
|
|
75
|
-
|
|
76
|
-
### 리뷰 에이전트 (12)
|
|
77
|
-
|
|
78
|
-
Security, Performance, Architecture, Complexity, Simplicity, Data Integrity, Test Coverage, Git History, TypeScript, Python, Rails, React
|
|
79
|
-
|
|
80
|
-
### UI/UX 에이전트 (8)
|
|
81
|
-
|
|
82
|
-
24개 CSV 기반 디자인 인텔리전스. 산업 분석 → 디자인 시스템 생성 → 구현 가이드 → 접근성 감사.
|
|
83
|
-
|
|
84
|
-
| 단계 | 에이전트 |
|
|
85
|
-
|------|---------|
|
|
86
|
-
| SPEC | ui-industry-analyzer, ui-design-system-gen, ui-layout-architect |
|
|
87
|
-
| RUN | ui-stack-implementer, ui-dataviz-advisor |
|
|
88
|
-
| REVIEW | ux-compliance-reviewer, ui-a11y-auditor, ui-antipattern-detector |
|
|
89
|
-
|
|
90
|
-
### 리서치 & QA (10)
|
|
91
|
-
|
|
92
|
-
Best Practices, Framework Docs, Codebase Patterns, Security Advisory, Requirements Analyst, UX Advisor, Acceptance Tester, Edge Case Finder, API Documenter, Changelog Writer
|
|
93
|
-
|
|
94
|
-
### 에이전트 팀 (9팀)
|
|
95
|
-
|
|
96
|
-
에이전트가 팀을 구성하여 공유 태스크 리스트로 협업합니다.
|
|
97
|
-
|
|
98
|
-
| 팀 | 트리거 | 멤버 |
|
|
99
|
-
|----|--------|------|
|
|
100
|
-
| Lite | `/vibe.run` 일반 | architect, implementer, tester |
|
|
101
|
-
| Dev | `/vibe.run` ULTRAWORK | + security-reviewer |
|
|
102
|
-
| Research | `/vibe.spec` | 4개 리서치 에이전트 |
|
|
103
|
-
| Review Debate | `/vibe.review` | security, architecture, performance, simplicity |
|
|
104
|
-
| Debug | `/vibe.run` 실패 | architect, implementer, tester |
|
|
105
|
-
| Security | `/vibe.run` 보안 | security, data-integrity, security-advisory, tester |
|
|
106
|
-
| Migration | `/vibe.run` 마이그레이션 | + build-error-resolver |
|
|
107
|
-
| Fullstack | `/vibe.run` 풀스택 | frontend + backend implementer |
|
|
108
|
-
| SPEC Debate | `/vibe.spec.review` | 동일 |
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 멀티 LLM 오케스트레이션
|
|
113
|
-
|
|
114
|
-
| 프로바이더 | 역할 | 인증 |
|
|
115
|
-
|-----------|------|------|
|
|
116
|
-
| **Claude** | 오케스트레이션, 코드 생성 | 내장 (Claude Code) |
|
|
117
|
-
| **GPT** | 아키텍처, 디버깅, 교차 리뷰 | OAuth / API Key |
|
|
118
|
-
| **Gemini** | UI/UX, 웹 검색, 음성, 리서치 | OAuth / API Key |
|
|
119
|
-
|
|
120
|
-
### SmartRouter
|
|
121
|
-
|
|
122
|
-
작업 유형별 자동 라우팅 + 폴백 체인. 프로바이더별 30초 타임아웃, 최대 3회 재시도, 5분 가용성 캐시.
|
|
123
|
-
|
|
124
|
-
| 작업 유형 | 우선순위 |
|
|
125
|
-
|----------|---------|
|
|
126
|
-
| 코드 분석, 리뷰, 추론, 아키텍처 | GPT → Gemini → Claude |
|
|
127
|
-
| UI/UX, 웹 검색 | Gemini → GPT → Claude |
|
|
128
|
-
|
|
129
|
-
### ReviewRace
|
|
130
|
-
|
|
131
|
-
GPT/Gemini가 동시에 리뷰 → Jaccard 유사도 교차 검증 → 우선순위 산출.
|
|
132
|
-
|
|
133
|
-
| 우선순위 | 조건 | 처리 |
|
|
134
|
-
|---------|------|------|
|
|
135
|
-
| **P1** | 신뢰도 >= 0.9 AND critical/high | 자동 수정 |
|
|
136
|
-
| **P2** | 신뢰도 >= 0.6 OR medium | 자동 수정 |
|
|
137
|
-
| **P3** | 나머지 | 참고 |
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## 오케스트레이터
|
|
142
|
-
|
|
143
|
-
### SwarmOrchestrator
|
|
144
|
-
|
|
145
|
-
복잡도 15점 이상인 작업을 자동 분해하여 병렬 실행합니다.
|
|
146
|
-
최대 깊이 2단계, 동시 실행 5개, 기본 타임아웃 5분.
|
|
147
|
-
|
|
148
|
-
### PhasePipeline
|
|
149
|
-
|
|
150
|
-
`prepare()` → `execute()` → `cleanup()` 생명주기.
|
|
151
|
-
ULTRAWORK 모드에서 다음 Phase의 `prepare()`를 병렬 실행.
|
|
152
|
-
|
|
153
|
-
### BackgroundManager
|
|
154
|
-
|
|
155
|
-
모델별/프로바이더별 동시 실행 제한. 타임아웃 시 retry (최대 3회, 지수 백오프). 24시간 TTL 자동 정리.
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Session RAG
|
|
160
|
-
|
|
161
|
-
SQLite + FTS5 하이브리드 검색으로 세션 간 컨텍스트를 유지합니다.
|
|
162
|
-
|
|
163
|
-
**4가지 엔티티**: Decision, Constraint, Goal, Evidence
|
|
164
|
-
|
|
165
|
-
```
|
|
166
|
-
최종 점수 = BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
세션 시작 시 활성 Goals, 중요 Constraints, 최근 Decisions 자동 주입.
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## 스킬
|
|
174
|
-
|
|
175
|
-
### 내장 스킬
|
|
176
|
-
|
|
177
|
-
에이전트가 활용하는 도메인별 스킬 모듈입니다. 스택 감지 결과에 따라 자동 설치됩니다.
|
|
178
|
-
|
|
179
|
-
**코어**: Core Capabilities, Parallel Research, Commit Push PR, Git Worktree, Handoff, Priority Todos, Tool Fallback, Context7, Tech Debt, Characterization Test, Agents MD, Exec Plan, Arch Guard, Capability Loop
|
|
180
|
-
|
|
181
|
-
**프론트엔드**: Frontend Design, UI/UX Pro Max, Brand Assets, SEO Checklist, Vercel React Best Practices
|
|
182
|
-
|
|
183
|
-
**도메인**: Commerce Patterns, E2E Commerce, Video Production, TypeScript Advanced Types
|
|
184
|
-
|
|
185
|
-
### 외부 스킬 (skills.sh)
|
|
186
|
-
|
|
187
|
-
[skills.sh](https://skills.sh) 에코시스템의 외부 스킬을 설치할 수 있습니다.
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
# 수동 설치
|
|
191
|
-
vibe skills add vercel-labs/next-skills
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
`vibe init`/`vibe update` 시 감지된 스택에 맞는 외부 스킬이 자동 설치됩니다.
|
|
195
|
-
|
|
196
|
-
| 스택 | 자동 설치 패키지 |
|
|
197
|
-
|------|-----------------|
|
|
198
|
-
| `typescript-react` | `vercel-labs/agent-skills` |
|
|
199
|
-
| `typescript-nextjs` | `vercel-labs/agent-skills`, `vercel-labs/next-skills` |
|
|
200
|
-
|
|
201
|
-
설치된 패키지는 `.claude/vibe/config.json`의 `installedExternalSkills`로 추적되어 중복 설치를 방지합니다.
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## 25개 프레임워크 지원
|
|
206
|
-
|
|
207
|
-
프로젝트의 기술 스택을 자동 감지하고 프레임워크별 코딩 규칙을 적용합니다.
|
|
208
|
-
모노레포 지원 (pnpm-workspace, npm workspaces, Lerna, Nx, Turborepo).
|
|
209
|
-
|
|
210
|
-
- **TypeScript (12)** — Next.js, React, Angular, Vue, Svelte, Nuxt, NestJS, Node, Electron, Tauri, React Native, Astro
|
|
211
|
-
- **Python (2)** — Django, FastAPI
|
|
212
|
-
- **Java/Kotlin (2)** — Spring Boot, Android
|
|
213
|
-
- **기타** — Rails, Go, Rust, Swift (iOS), Unity (C#), Flutter (Dart), Godot (GDScript)
|
|
214
|
-
|
|
215
|
-
자동 감지: DB (PostgreSQL, MySQL, MongoDB, Redis, Prisma, Drizzle 등), 상태 관리 (Redux, Zustand, Jotai 등), CI/CD, 호스팅
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## 41+ 내장 도구
|
|
220
|
-
|
|
221
|
-
### 메모리 & 세션 (21)
|
|
222
|
-
|
|
223
|
-
`save_session_item`, `retrieve_session_context`, `manage_goals`, `core_save_memory`, `core_recall_memory`, `core_search_memories`, `core_start_session`, `core_auto_save_context` 등
|
|
224
|
-
|
|
225
|
-
### 코드 품질 & 분석 (8)
|
|
226
|
-
|
|
227
|
-
`core_find_symbol`, `core_find_references`, `core_analyze_dependency_graph`, `core_analyze_complexity`, `core_validate_code_quality`, `core_check_coupling_cohesion`, `core_suggest_improvements`, `core_apply_quality_rules`
|
|
228
|
-
|
|
229
|
-
### SPEC & 테스트 (9)
|
|
230
|
-
|
|
231
|
-
`core_spec_generator`, `core_prd_parser`, `core_traceability_matrix`, `core_e2e_test_generator`, `core_preview_ui_ascii` 등
|
|
232
|
-
|
|
233
|
-
### UI/UX (4)
|
|
234
|
-
|
|
235
|
-
`core_ui_search`, `core_ui_stack_search`, `core_ui_generate_design_system`, `core_ui_persist_design_system`
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## 품질 보장
|
|
240
|
-
|
|
241
|
-
| 가드레일 | 메커니즘 |
|
|
242
|
-
|----------|---------|
|
|
243
|
-
| **타입 안전성** | Quality Gate — `any`, `@ts-ignore` 차단 |
|
|
244
|
-
| **코드 리뷰** | ReviewRace — GPT + Gemini 교차 검증 |
|
|
245
|
-
| **완성도** | Ralph Loop — 100%까지 반복 (범위 축소 없음) |
|
|
246
|
-
| **스코프 보호** | pre-tool-guard — 요청 범위 외 수정 방지 |
|
|
247
|
-
| **컨텍스트 보호** | context-save — 80/90/95% 자동 저장 |
|
|
248
|
-
| **합리화 방지** | Anti-Rationalization — AI 변명 패턴 차단 |
|
|
249
|
-
| **증거 게이트** | Evidence Gate — 증거 없는 완료 주장 금지 |
|
|
250
|
-
|
|
251
|
-
**복잡도 제한**: 함수 ≤50줄 | 중첩 ≤3단계 | 매개변수 ≤5 | 순환 복잡도 ≤10
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
## 훅 시스템
|
|
256
|
-
|
|
257
|
-
| 이벤트 | 스크립트 | 역할 |
|
|
258
|
-
|--------|---------|------|
|
|
259
|
-
| SessionStart | `session-start.js` | 세션 컨텍스트 복원, 메모리 로드 |
|
|
260
|
-
| PreToolUse | `pre-tool-guard.js` | 파괴적 명령어 차단, 스코프 보호 |
|
|
261
|
-
| PostToolUse | `code-check.js` | 타입 안전성/복잡도 검증 |
|
|
262
|
-
| PostToolUse | `post-edit.js` | Git 인덱스 업데이트 |
|
|
263
|
-
| UserPromptSubmit | `prompt-dispatcher.js` | 명령어 라우팅 |
|
|
264
|
-
| UserPromptSubmit | `keyword-detector.js` | 매직 키워드 감지 |
|
|
265
|
-
| Notification | `context-save.js` | 컨텍스트 80/90/95% 자동 저장 |
|
|
266
|
-
|
|
267
|
-
추가: `llm-orchestrate.js`, `code-review.js`, `recall.js`, `complexity.js`, `compound.js`, `stop-notify.js`
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## 슬래시 명령어
|
|
272
|
-
|
|
273
|
-
| 명령어 | 설명 |
|
|
274
|
-
|--------|------|
|
|
275
|
-
| `/vibe.spec "기능"` | SPEC 작성 + GPT/Gemini 병렬 리서치 |
|
|
276
|
-
| `/vibe.spec.review` | SPEC 품질 리뷰 |
|
|
277
|
-
| `/vibe.run "기능"` | SPEC 기반 구현 + Race Review |
|
|
278
|
-
| `/vibe.verify "기능"` | SPEC 대비 BDD 검증 |
|
|
279
|
-
| `/vibe.review` | 13개 에이전트 병렬 코드 리뷰 |
|
|
280
|
-
| `/vibe.trace "기능"` | 요구사항 추적성 매트릭스 |
|
|
281
|
-
| `/vibe.reason "문제"` | 체계적 추론 프레임워크 |
|
|
282
|
-
| `/vibe.analyze` | 프로젝트 분석 |
|
|
283
|
-
| `/vibe.utils` | 유틸리티 (E2E, 다이어그램, UI, 세션 복원) |
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## CLI
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
# 프로젝트
|
|
291
|
-
vibe init [project] # 프로젝트 초기화
|
|
292
|
-
vibe update # 설정 업데이트 (스택 재감지)
|
|
293
|
-
vibe upgrade # 최신 버전으로 업그레이드
|
|
294
|
-
vibe setup # 셋업 위자드
|
|
295
|
-
vibe status # 상태 확인
|
|
296
|
-
vibe remove # 제거
|
|
297
|
-
|
|
298
|
-
# LLM 인증
|
|
299
|
-
vibe gpt auth|key|status|logout
|
|
300
|
-
vibe gemini auth|key|status|logout
|
|
301
|
-
vibe claude key|status|logout
|
|
302
|
-
|
|
303
|
-
# 외부 스킬
|
|
304
|
-
vibe skills add <owner/repo> # skills.sh 스킬 설치
|
|
305
|
-
|
|
306
|
-
# 채널
|
|
307
|
-
vibe telegram setup|chat|status
|
|
308
|
-
vibe slack setup|channel|status
|
|
309
|
-
|
|
310
|
-
# 기타
|
|
311
|
-
vibe env import [path] # .env → config.json 마이그레이션
|
|
312
|
-
vibe help / version
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
### 인증 우선순위
|
|
316
|
-
|
|
317
|
-
| 프로바이더 | 우선순위 |
|
|
318
|
-
|-----------|---------|
|
|
319
|
-
| **GPT** | OAuth → API Key → Azure OpenAI |
|
|
320
|
-
| **Gemini** | gemini-cli 자동감지 → OAuth → API Key |
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
## 매직 키워드
|
|
325
|
-
|
|
326
|
-
| 키워드 | 효과 |
|
|
327
|
-
|--------|------|
|
|
328
|
-
| `ultrawork` / `ulw` | 병렬 처리 + Phase 파이프라이닝 + 자동 계속 + Ralph Loop |
|
|
329
|
-
| `ralph` | 100% 완성까지 반복 (범위 축소 없음) |
|
|
330
|
-
| `ralplan` | 반복적 계획 수립 + 영속화 |
|
|
331
|
-
| `verify` | 엄격 검증 모드 |
|
|
332
|
-
| `quick` | 빠른 모드, 최소 검증 |
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
## 설정
|
|
337
|
-
|
|
338
|
-
### 전역: `~/.vibe/config.json`
|
|
339
|
-
|
|
340
|
-
인증, 채널, 모델 설정 통합 관리 (파일 권한 0o600).
|
|
341
|
-
|
|
342
|
-
```json
|
|
343
|
-
{
|
|
344
|
-
"credentials": {
|
|
345
|
-
"gpt": { "oauthRefreshToken": "..." },
|
|
346
|
-
"gemini": { "oauthRefreshToken": "..." }
|
|
347
|
-
},
|
|
348
|
-
"channels": {
|
|
349
|
-
"telegram": { "botToken": "...", "allowedChatIds": ["..."] },
|
|
350
|
-
"slack": { "botToken": "...", "appToken": "...", "allowedChannelIds": ["..."] }
|
|
351
|
-
},
|
|
352
|
-
"models": { "gpt": "gpt-5.4", "gemini": "gemini-3.1-pro-preview" }
|
|
353
|
-
}
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### 프로젝트: `.claude/vibe/config.json`
|
|
357
|
-
|
|
358
|
-
프로젝트별 설정 — language, quality, stacks, details, references, installedExternalSkills.
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
## 모듈 서브패스 Export
|
|
363
|
-
|
|
364
|
-
런타임 모듈을 서브패스 export로 제공합니다.
|
|
365
|
-
|
|
366
|
-
```typescript
|
|
367
|
-
import { MemoryStorage, SessionRAGStore } from '@su-record/vibe/memory';
|
|
368
|
-
import { SwarmOrchestrator, PhasePipeline } from '@su-record/vibe/orchestrator';
|
|
369
|
-
import { findSymbol, validateCodeQuality } from '@su-record/vibe/tools';
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
| 서브패스 | 주요 export |
|
|
373
|
-
|---------|------------|
|
|
374
|
-
| `@su-record/vibe/agent` | Agent 클래스 및 타입 |
|
|
375
|
-
| `@su-record/vibe/memory` | `MemoryStorage`, `KnowledgeGraph`, `SessionRAGStore` |
|
|
376
|
-
| `@su-record/vibe/orchestrator` | `SwarmOrchestrator`, `PhasePipeline`, `BackgroundManager` |
|
|
377
|
-
| `@su-record/vibe/tools` | `findSymbol`, `validateCodeQuality`, `saveMemory` 등 |
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
|
|
381
|
-
## 프로젝트 구조
|
|
382
|
-
|
|
383
|
-
```
|
|
384
|
-
your-project/
|
|
385
|
-
├── .claude/
|
|
386
|
-
│ ├── vibe/
|
|
387
|
-
│ │ ├── config.json # 프로젝트 설정
|
|
388
|
-
│ │ ├── constitution.md # 프로젝트 원칙
|
|
389
|
-
│ │ ├── specs/ # SPEC 문서
|
|
390
|
-
│ │ ├── features/ # 기능 추적
|
|
391
|
-
│ │ ├── todos/ # P1/P2/P3 이슈
|
|
392
|
-
│ │ └── reports/ # 리뷰 리포트
|
|
393
|
-
│ └── skills/ # 로컬 + 외부 스킬
|
|
394
|
-
├── CLAUDE.md # 프로젝트 가이드 (자동 생성)
|
|
395
|
-
└── ...
|
|
396
|
-
|
|
397
|
-
~/.vibe/config.json # 전역 설정 (인증, 채널, 모델)
|
|
398
|
-
~/.claude/
|
|
399
|
-
├── vibe/
|
|
400
|
-
│ ├── rules/ # 코딩 규칙
|
|
401
|
-
│ ├── skills/ # 전역 스킬
|
|
402
|
-
│ ├── ui-ux-data/ # UI/UX CSV 데이터
|
|
403
|
-
│ ├── session-rag.db # Session RAG (SQLite + FTS5)
|
|
404
|
-
│ └── memories.json # 저장된 메모리
|
|
405
|
-
├── commands/ # 슬래시 명령어 (10개)
|
|
406
|
-
└── agents/ # 에이전트 정의 (49개)
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
---
|
|
410
|
-
|
|
411
|
-
## 시스템 아키텍처
|
|
412
|
-
|
|
413
|
-
```mermaid
|
|
414
|
-
flowchart TD
|
|
415
|
-
A["사용자 요청"] --> B["keyword-detector"]
|
|
416
|
-
B --> C["prompt-dispatcher"]
|
|
417
|
-
C --> D["SmartRouter"]
|
|
418
|
-
|
|
419
|
-
D --> E["LLMCluster"]
|
|
420
|
-
E --> E1["GPT"]
|
|
421
|
-
E --> E2["Gemini"]
|
|
422
|
-
|
|
423
|
-
D --> F["PhasePipeline"]
|
|
424
|
-
F --> G["SwarmOrchestrator"]
|
|
425
|
-
G --> H["BackgroundManager"]
|
|
426
|
-
H --> I["AgentRegistry"]
|
|
427
|
-
|
|
428
|
-
D --> J["ReviewRace"]
|
|
429
|
-
J --> J1["GPT 리뷰"]
|
|
430
|
-
J --> J2["Gemini 리뷰"]
|
|
431
|
-
J1 --> K["교차 검증 → P1/P2/P3"]
|
|
432
|
-
J2 --> K
|
|
433
|
-
|
|
434
|
-
L["Session RAG"] -.-> M["Decision / Constraint / Goal / Evidence"]
|
|
435
|
-
O["품질 게이트"] -.-> P["pre-tool-guard → 차단"]
|
|
436
|
-
O -.-> Q["code-check → 검증"]
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
---
|
|
440
|
-
|
|
441
|
-
## 요구사항
|
|
442
|
-
|
|
443
|
-
- **Node.js** >= 18.0.0
|
|
444
|
-
- **Claude Code** (필수)
|
|
445
|
-
- GPT, Gemini (선택 — 멀티 LLM 기능용)
|
|
446
|
-
|
|
447
|
-
## 라이선스
|
|
448
|
-
|
|
449
|
-
MIT License - Copyright (c) 2025 Su
|
|
1
|
+
# VIBE — AI Coding Framework for Claude Code
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
4
|
+
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
5
|
+
[](https://nodejs.org/)
|
|
6
|
+
[](https://www.typescriptlang.org/)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
**설치 한 줄로 Claude Code에 49개 에이전트, 41+ 도구, 멀티 LLM 오케스트레이션을 더합니다.**
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @su-record/vibe
|
|
13
|
+
vibe init
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 왜 Vibe인가
|
|
19
|
+
|
|
20
|
+
AI에게 "로그인 기능 만들어줘"라고 던지면 동작은 하지만 품질은 운에 맡기게 됩니다.
|
|
21
|
+
Vibe는 구조로 해결합니다.
|
|
22
|
+
|
|
23
|
+
| 문제 | 해결 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| AI가 `any` 타입 남발 | Quality Gate가 `any`/`@ts-ignore` 차단 |
|
|
26
|
+
| 한 번에 완성 기대 | SPEC → 구현 → 검증 단계별 워크플로우 |
|
|
27
|
+
| 리뷰 없이 머지 | 13개 에이전트 병렬 리뷰 |
|
|
28
|
+
| AI 결과를 그대로 수용 | GPT + Gemini 교차 검증 |
|
|
29
|
+
| 컨텍스트 소실 | Session RAG로 자동 저장/복원 |
|
|
30
|
+
| 복잡한 작업에서 길을 잃음 | SwarmOrchestrator 자동 분해 + 병렬 실행 |
|
|
31
|
+
|
|
32
|
+
### 설계 철학
|
|
33
|
+
|
|
34
|
+
| 원칙 | 설명 |
|
|
35
|
+
|------|------|
|
|
36
|
+
| **Easy Vibe Coding** | 빠른 흐름, AI와 협업하며 생각하기 |
|
|
37
|
+
| **Minimum Quality Guaranteed** | 타입 안전성, 코드 품질, 보안 — 자동 하한선 |
|
|
38
|
+
| **Iterative Reasoning** | 문제를 쪼개고 질문하며 함께 추론 |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 워크플로우
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
flowchart LR
|
|
46
|
+
A["/vibe.spec"] --> B["/vibe.spec.review"]
|
|
47
|
+
B --> C["/vibe.run"]
|
|
48
|
+
C --> D["자동 리뷰"]
|
|
49
|
+
D --> E["완료"]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
1. **`/vibe.spec`** — 요구사항을 SPEC 문서로 정의 (GPT + Gemini 병렬 리서치)
|
|
53
|
+
2. **`/vibe.spec.review`** — SPEC 품질 리뷰
|
|
54
|
+
3. **`/vibe.run`** — SPEC 기반 구현 + 병렬 코드 리뷰
|
|
55
|
+
4. **자동 리뷰** — 13개 전문 에이전트 병렬 검토, P1/P2 자동 수정
|
|
56
|
+
|
|
57
|
+
`ultrawork` 키워드를 붙이면 전 과정이 자동화됩니다:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
/vibe.run "기능" ultrawork
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 에이전트 (49개)
|
|
66
|
+
|
|
67
|
+
### 메인 에이전트 (19)
|
|
68
|
+
|
|
69
|
+
| 카테고리 | 에이전트 |
|
|
70
|
+
|----------|---------|
|
|
71
|
+
| **탐색** | Explorer (High/Medium/Low) |
|
|
72
|
+
| **구현** | Implementer (High/Medium/Low) |
|
|
73
|
+
| **설계** | Architect (High/Medium/Low) |
|
|
74
|
+
| **유틸** | Searcher, Tester, Simplifier, Refactor Cleaner, Build Error Resolver, Compounder, Diagrammer, E2E Tester, UI Previewer, Junior Mentor |
|
|
75
|
+
|
|
76
|
+
### 리뷰 에이전트 (12)
|
|
77
|
+
|
|
78
|
+
Security, Performance, Architecture, Complexity, Simplicity, Data Integrity, Test Coverage, Git History, TypeScript, Python, Rails, React
|
|
79
|
+
|
|
80
|
+
### UI/UX 에이전트 (8)
|
|
81
|
+
|
|
82
|
+
24개 CSV 기반 디자인 인텔리전스. 산업 분석 → 디자인 시스템 생성 → 구현 가이드 → 접근성 감사.
|
|
83
|
+
|
|
84
|
+
| 단계 | 에이전트 |
|
|
85
|
+
|------|---------|
|
|
86
|
+
| SPEC | ui-industry-analyzer, ui-design-system-gen, ui-layout-architect |
|
|
87
|
+
| RUN | ui-stack-implementer, ui-dataviz-advisor |
|
|
88
|
+
| REVIEW | ux-compliance-reviewer, ui-a11y-auditor, ui-antipattern-detector |
|
|
89
|
+
|
|
90
|
+
### 리서치 & QA (10)
|
|
91
|
+
|
|
92
|
+
Best Practices, Framework Docs, Codebase Patterns, Security Advisory, Requirements Analyst, UX Advisor, Acceptance Tester, Edge Case Finder, API Documenter, Changelog Writer
|
|
93
|
+
|
|
94
|
+
### 에이전트 팀 (9팀)
|
|
95
|
+
|
|
96
|
+
에이전트가 팀을 구성하여 공유 태스크 리스트로 협업합니다.
|
|
97
|
+
|
|
98
|
+
| 팀 | 트리거 | 멤버 |
|
|
99
|
+
|----|--------|------|
|
|
100
|
+
| Lite | `/vibe.run` 일반 | architect, implementer, tester |
|
|
101
|
+
| Dev | `/vibe.run` ULTRAWORK | + security-reviewer |
|
|
102
|
+
| Research | `/vibe.spec` | 4개 리서치 에이전트 |
|
|
103
|
+
| Review Debate | `/vibe.review` | security, architecture, performance, simplicity |
|
|
104
|
+
| Debug | `/vibe.run` 실패 | architect, implementer, tester |
|
|
105
|
+
| Security | `/vibe.run` 보안 | security, data-integrity, security-advisory, tester |
|
|
106
|
+
| Migration | `/vibe.run` 마이그레이션 | + build-error-resolver |
|
|
107
|
+
| Fullstack | `/vibe.run` 풀스택 | frontend + backend implementer |
|
|
108
|
+
| SPEC Debate | `/vibe.spec.review` | 동일 |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 멀티 LLM 오케스트레이션
|
|
113
|
+
|
|
114
|
+
| 프로바이더 | 역할 | 인증 |
|
|
115
|
+
|-----------|------|------|
|
|
116
|
+
| **Claude** | 오케스트레이션, 코드 생성 | 내장 (Claude Code) |
|
|
117
|
+
| **GPT** | 아키텍처, 디버깅, 교차 리뷰 | OAuth / API Key |
|
|
118
|
+
| **Gemini** | UI/UX, 웹 검색, 음성, 리서치 | OAuth / API Key |
|
|
119
|
+
|
|
120
|
+
### SmartRouter
|
|
121
|
+
|
|
122
|
+
작업 유형별 자동 라우팅 + 폴백 체인. 프로바이더별 30초 타임아웃, 최대 3회 재시도, 5분 가용성 캐시.
|
|
123
|
+
|
|
124
|
+
| 작업 유형 | 우선순위 |
|
|
125
|
+
|----------|---------|
|
|
126
|
+
| 코드 분석, 리뷰, 추론, 아키텍처 | GPT → Gemini → Claude |
|
|
127
|
+
| UI/UX, 웹 검색 | Gemini → GPT → Claude |
|
|
128
|
+
|
|
129
|
+
### ReviewRace
|
|
130
|
+
|
|
131
|
+
GPT/Gemini가 동시에 리뷰 → Jaccard 유사도 교차 검증 → 우선순위 산출.
|
|
132
|
+
|
|
133
|
+
| 우선순위 | 조건 | 처리 |
|
|
134
|
+
|---------|------|------|
|
|
135
|
+
| **P1** | 신뢰도 >= 0.9 AND critical/high | 자동 수정 |
|
|
136
|
+
| **P2** | 신뢰도 >= 0.6 OR medium | 자동 수정 |
|
|
137
|
+
| **P3** | 나머지 | 참고 |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 오케스트레이터
|
|
142
|
+
|
|
143
|
+
### SwarmOrchestrator
|
|
144
|
+
|
|
145
|
+
복잡도 15점 이상인 작업을 자동 분해하여 병렬 실행합니다.
|
|
146
|
+
최대 깊이 2단계, 동시 실행 5개, 기본 타임아웃 5분.
|
|
147
|
+
|
|
148
|
+
### PhasePipeline
|
|
149
|
+
|
|
150
|
+
`prepare()` → `execute()` → `cleanup()` 생명주기.
|
|
151
|
+
ULTRAWORK 모드에서 다음 Phase의 `prepare()`를 병렬 실행.
|
|
152
|
+
|
|
153
|
+
### BackgroundManager
|
|
154
|
+
|
|
155
|
+
모델별/프로바이더별 동시 실행 제한. 타임아웃 시 retry (최대 3회, 지수 백오프). 24시간 TTL 자동 정리.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Session RAG
|
|
160
|
+
|
|
161
|
+
SQLite + FTS5 하이브리드 검색으로 세션 간 컨텍스트를 유지합니다.
|
|
162
|
+
|
|
163
|
+
**4가지 엔티티**: Decision, Constraint, Goal, Evidence
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
최종 점수 = BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
세션 시작 시 활성 Goals, 중요 Constraints, 최근 Decisions 자동 주입.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 스킬
|
|
174
|
+
|
|
175
|
+
### 내장 스킬
|
|
176
|
+
|
|
177
|
+
에이전트가 활용하는 도메인별 스킬 모듈입니다. 스택 감지 결과에 따라 자동 설치됩니다.
|
|
178
|
+
|
|
179
|
+
**코어**: Core Capabilities, Parallel Research, Commit Push PR, Git Worktree, Handoff, Priority Todos, Tool Fallback, Context7, Tech Debt, Characterization Test, Agents MD, Exec Plan, Arch Guard, Capability Loop
|
|
180
|
+
|
|
181
|
+
**프론트엔드**: Frontend Design, UI/UX Pro Max, Brand Assets, SEO Checklist, Vercel React Best Practices
|
|
182
|
+
|
|
183
|
+
**도메인**: Commerce Patterns, E2E Commerce, Video Production, TypeScript Advanced Types
|
|
184
|
+
|
|
185
|
+
### 외부 스킬 (skills.sh)
|
|
186
|
+
|
|
187
|
+
[skills.sh](https://skills.sh) 에코시스템의 외부 스킬을 설치할 수 있습니다.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# 수동 설치
|
|
191
|
+
vibe skills add vercel-labs/next-skills
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`vibe init`/`vibe update` 시 감지된 스택에 맞는 외부 스킬이 자동 설치됩니다.
|
|
195
|
+
|
|
196
|
+
| 스택 | 자동 설치 패키지 |
|
|
197
|
+
|------|-----------------|
|
|
198
|
+
| `typescript-react` | `vercel-labs/agent-skills` |
|
|
199
|
+
| `typescript-nextjs` | `vercel-labs/agent-skills`, `vercel-labs/next-skills` |
|
|
200
|
+
|
|
201
|
+
설치된 패키지는 `.claude/vibe/config.json`의 `installedExternalSkills`로 추적되어 중복 설치를 방지합니다.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 25개 프레임워크 지원
|
|
206
|
+
|
|
207
|
+
프로젝트의 기술 스택을 자동 감지하고 프레임워크별 코딩 규칙을 적용합니다.
|
|
208
|
+
모노레포 지원 (pnpm-workspace, npm workspaces, Lerna, Nx, Turborepo).
|
|
209
|
+
|
|
210
|
+
- **TypeScript (12)** — Next.js, React, Angular, Vue, Svelte, Nuxt, NestJS, Node, Electron, Tauri, React Native, Astro
|
|
211
|
+
- **Python (2)** — Django, FastAPI
|
|
212
|
+
- **Java/Kotlin (2)** — Spring Boot, Android
|
|
213
|
+
- **기타** — Rails, Go, Rust, Swift (iOS), Unity (C#), Flutter (Dart), Godot (GDScript)
|
|
214
|
+
|
|
215
|
+
자동 감지: DB (PostgreSQL, MySQL, MongoDB, Redis, Prisma, Drizzle 등), 상태 관리 (Redux, Zustand, Jotai 등), CI/CD, 호스팅
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 41+ 내장 도구
|
|
220
|
+
|
|
221
|
+
### 메모리 & 세션 (21)
|
|
222
|
+
|
|
223
|
+
`save_session_item`, `retrieve_session_context`, `manage_goals`, `core_save_memory`, `core_recall_memory`, `core_search_memories`, `core_start_session`, `core_auto_save_context` 등
|
|
224
|
+
|
|
225
|
+
### 코드 품질 & 분석 (8)
|
|
226
|
+
|
|
227
|
+
`core_find_symbol`, `core_find_references`, `core_analyze_dependency_graph`, `core_analyze_complexity`, `core_validate_code_quality`, `core_check_coupling_cohesion`, `core_suggest_improvements`, `core_apply_quality_rules`
|
|
228
|
+
|
|
229
|
+
### SPEC & 테스트 (9)
|
|
230
|
+
|
|
231
|
+
`core_spec_generator`, `core_prd_parser`, `core_traceability_matrix`, `core_e2e_test_generator`, `core_preview_ui_ascii` 등
|
|
232
|
+
|
|
233
|
+
### UI/UX (4)
|
|
234
|
+
|
|
235
|
+
`core_ui_search`, `core_ui_stack_search`, `core_ui_generate_design_system`, `core_ui_persist_design_system`
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## 품질 보장
|
|
240
|
+
|
|
241
|
+
| 가드레일 | 메커니즘 |
|
|
242
|
+
|----------|---------|
|
|
243
|
+
| **타입 안전성** | Quality Gate — `any`, `@ts-ignore` 차단 |
|
|
244
|
+
| **코드 리뷰** | ReviewRace — GPT + Gemini 교차 검증 |
|
|
245
|
+
| **완성도** | Ralph Loop — 100%까지 반복 (범위 축소 없음) |
|
|
246
|
+
| **스코프 보호** | pre-tool-guard — 요청 범위 외 수정 방지 |
|
|
247
|
+
| **컨텍스트 보호** | context-save — 80/90/95% 자동 저장 |
|
|
248
|
+
| **합리화 방지** | Anti-Rationalization — AI 변명 패턴 차단 |
|
|
249
|
+
| **증거 게이트** | Evidence Gate — 증거 없는 완료 주장 금지 |
|
|
250
|
+
|
|
251
|
+
**복잡도 제한**: 함수 ≤50줄 | 중첩 ≤3단계 | 매개변수 ≤5 | 순환 복잡도 ≤10
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 훅 시스템
|
|
256
|
+
|
|
257
|
+
| 이벤트 | 스크립트 | 역할 |
|
|
258
|
+
|--------|---------|------|
|
|
259
|
+
| SessionStart | `session-start.js` | 세션 컨텍스트 복원, 메모리 로드 |
|
|
260
|
+
| PreToolUse | `pre-tool-guard.js` | 파괴적 명령어 차단, 스코프 보호 |
|
|
261
|
+
| PostToolUse | `code-check.js` | 타입 안전성/복잡도 검증 |
|
|
262
|
+
| PostToolUse | `post-edit.js` | Git 인덱스 업데이트 |
|
|
263
|
+
| UserPromptSubmit | `prompt-dispatcher.js` | 명령어 라우팅 |
|
|
264
|
+
| UserPromptSubmit | `keyword-detector.js` | 매직 키워드 감지 |
|
|
265
|
+
| Notification | `context-save.js` | 컨텍스트 80/90/95% 자동 저장 |
|
|
266
|
+
|
|
267
|
+
추가: `llm-orchestrate.js`, `code-review.js`, `recall.js`, `complexity.js`, `compound.js`, `stop-notify.js`
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 슬래시 명령어
|
|
272
|
+
|
|
273
|
+
| 명령어 | 설명 |
|
|
274
|
+
|--------|------|
|
|
275
|
+
| `/vibe.spec "기능"` | SPEC 작성 + GPT/Gemini 병렬 리서치 |
|
|
276
|
+
| `/vibe.spec.review` | SPEC 품질 리뷰 |
|
|
277
|
+
| `/vibe.run "기능"` | SPEC 기반 구현 + Race Review |
|
|
278
|
+
| `/vibe.verify "기능"` | SPEC 대비 BDD 검증 |
|
|
279
|
+
| `/vibe.review` | 13개 에이전트 병렬 코드 리뷰 |
|
|
280
|
+
| `/vibe.trace "기능"` | 요구사항 추적성 매트릭스 |
|
|
281
|
+
| `/vibe.reason "문제"` | 체계적 추론 프레임워크 |
|
|
282
|
+
| `/vibe.analyze` | 프로젝트 분석 |
|
|
283
|
+
| `/vibe.utils` | 유틸리티 (E2E, 다이어그램, UI, 세션 복원) |
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## CLI
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
# 프로젝트
|
|
291
|
+
vibe init [project] # 프로젝트 초기화
|
|
292
|
+
vibe update # 설정 업데이트 (스택 재감지)
|
|
293
|
+
vibe upgrade # 최신 버전으로 업그레이드
|
|
294
|
+
vibe setup # 셋업 위자드
|
|
295
|
+
vibe status # 상태 확인
|
|
296
|
+
vibe remove # 제거
|
|
297
|
+
|
|
298
|
+
# LLM 인증
|
|
299
|
+
vibe gpt auth|key|status|logout
|
|
300
|
+
vibe gemini auth|key|status|logout
|
|
301
|
+
vibe claude key|status|logout
|
|
302
|
+
|
|
303
|
+
# 외부 스킬
|
|
304
|
+
vibe skills add <owner/repo> # skills.sh 스킬 설치
|
|
305
|
+
|
|
306
|
+
# 채널
|
|
307
|
+
vibe telegram setup|chat|status
|
|
308
|
+
vibe slack setup|channel|status
|
|
309
|
+
|
|
310
|
+
# 기타
|
|
311
|
+
vibe env import [path] # .env → config.json 마이그레이션
|
|
312
|
+
vibe help / version
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### 인증 우선순위
|
|
316
|
+
|
|
317
|
+
| 프로바이더 | 우선순위 |
|
|
318
|
+
|-----------|---------|
|
|
319
|
+
| **GPT** | OAuth → API Key → Azure OpenAI |
|
|
320
|
+
| **Gemini** | gemini-cli 자동감지 → OAuth → API Key |
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 매직 키워드
|
|
325
|
+
|
|
326
|
+
| 키워드 | 효과 |
|
|
327
|
+
|--------|------|
|
|
328
|
+
| `ultrawork` / `ulw` | 병렬 처리 + Phase 파이프라이닝 + 자동 계속 + Ralph Loop |
|
|
329
|
+
| `ralph` | 100% 완성까지 반복 (범위 축소 없음) |
|
|
330
|
+
| `ralplan` | 반복적 계획 수립 + 영속화 |
|
|
331
|
+
| `verify` | 엄격 검증 모드 |
|
|
332
|
+
| `quick` | 빠른 모드, 최소 검증 |
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## 설정
|
|
337
|
+
|
|
338
|
+
### 전역: `~/.vibe/config.json`
|
|
339
|
+
|
|
340
|
+
인증, 채널, 모델 설정 통합 관리 (파일 권한 0o600).
|
|
341
|
+
|
|
342
|
+
```json
|
|
343
|
+
{
|
|
344
|
+
"credentials": {
|
|
345
|
+
"gpt": { "oauthRefreshToken": "..." },
|
|
346
|
+
"gemini": { "oauthRefreshToken": "..." }
|
|
347
|
+
},
|
|
348
|
+
"channels": {
|
|
349
|
+
"telegram": { "botToken": "...", "allowedChatIds": ["..."] },
|
|
350
|
+
"slack": { "botToken": "...", "appToken": "...", "allowedChannelIds": ["..."] }
|
|
351
|
+
},
|
|
352
|
+
"models": { "gpt": "gpt-5.4", "gemini": "gemini-3.1-pro-preview" }
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### 프로젝트: `.claude/vibe/config.json`
|
|
357
|
+
|
|
358
|
+
프로젝트별 설정 — language, quality, stacks, details, references, installedExternalSkills.
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## 모듈 서브패스 Export
|
|
363
|
+
|
|
364
|
+
런타임 모듈을 서브패스 export로 제공합니다.
|
|
365
|
+
|
|
366
|
+
```typescript
|
|
367
|
+
import { MemoryStorage, SessionRAGStore } from '@su-record/vibe/memory';
|
|
368
|
+
import { SwarmOrchestrator, PhasePipeline } from '@su-record/vibe/orchestrator';
|
|
369
|
+
import { findSymbol, validateCodeQuality } from '@su-record/vibe/tools';
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
| 서브패스 | 주요 export |
|
|
373
|
+
|---------|------------|
|
|
374
|
+
| `@su-record/vibe/agent` | Agent 클래스 및 타입 |
|
|
375
|
+
| `@su-record/vibe/memory` | `MemoryStorage`, `KnowledgeGraph`, `SessionRAGStore` |
|
|
376
|
+
| `@su-record/vibe/orchestrator` | `SwarmOrchestrator`, `PhasePipeline`, `BackgroundManager` |
|
|
377
|
+
| `@su-record/vibe/tools` | `findSymbol`, `validateCodeQuality`, `saveMemory` 등 |
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## 프로젝트 구조
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
your-project/
|
|
385
|
+
├── .claude/
|
|
386
|
+
│ ├── vibe/
|
|
387
|
+
│ │ ├── config.json # 프로젝트 설정
|
|
388
|
+
│ │ ├── constitution.md # 프로젝트 원칙
|
|
389
|
+
│ │ ├── specs/ # SPEC 문서
|
|
390
|
+
│ │ ├── features/ # 기능 추적
|
|
391
|
+
│ │ ├── todos/ # P1/P2/P3 이슈
|
|
392
|
+
│ │ └── reports/ # 리뷰 리포트
|
|
393
|
+
│ └── skills/ # 로컬 + 외부 스킬
|
|
394
|
+
├── CLAUDE.md # 프로젝트 가이드 (자동 생성)
|
|
395
|
+
└── ...
|
|
396
|
+
|
|
397
|
+
~/.vibe/config.json # 전역 설정 (인증, 채널, 모델)
|
|
398
|
+
~/.claude/
|
|
399
|
+
├── vibe/
|
|
400
|
+
│ ├── rules/ # 코딩 규칙
|
|
401
|
+
│ ├── skills/ # 전역 스킬
|
|
402
|
+
│ ├── ui-ux-data/ # UI/UX CSV 데이터
|
|
403
|
+
│ ├── session-rag.db # Session RAG (SQLite + FTS5)
|
|
404
|
+
│ └── memories.json # 저장된 메모리
|
|
405
|
+
├── commands/ # 슬래시 명령어 (10개)
|
|
406
|
+
└── agents/ # 에이전트 정의 (49개)
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## 시스템 아키텍처
|
|
412
|
+
|
|
413
|
+
```mermaid
|
|
414
|
+
flowchart TD
|
|
415
|
+
A["사용자 요청"] --> B["keyword-detector"]
|
|
416
|
+
B --> C["prompt-dispatcher"]
|
|
417
|
+
C --> D["SmartRouter"]
|
|
418
|
+
|
|
419
|
+
D --> E["LLMCluster"]
|
|
420
|
+
E --> E1["GPT"]
|
|
421
|
+
E --> E2["Gemini"]
|
|
422
|
+
|
|
423
|
+
D --> F["PhasePipeline"]
|
|
424
|
+
F --> G["SwarmOrchestrator"]
|
|
425
|
+
G --> H["BackgroundManager"]
|
|
426
|
+
H --> I["AgentRegistry"]
|
|
427
|
+
|
|
428
|
+
D --> J["ReviewRace"]
|
|
429
|
+
J --> J1["GPT 리뷰"]
|
|
430
|
+
J --> J2["Gemini 리뷰"]
|
|
431
|
+
J1 --> K["교차 검증 → P1/P2/P3"]
|
|
432
|
+
J2 --> K
|
|
433
|
+
|
|
434
|
+
L["Session RAG"] -.-> M["Decision / Constraint / Goal / Evidence"]
|
|
435
|
+
O["품질 게이트"] -.-> P["pre-tool-guard → 차단"]
|
|
436
|
+
O -.-> Q["code-check → 검증"]
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## 요구사항
|
|
442
|
+
|
|
443
|
+
- **Node.js** >= 18.0.0
|
|
444
|
+
- **Claude Code** (필수)
|
|
445
|
+
- GPT, Gemini (선택 — 멀티 LLM 기능용)
|
|
446
|
+
|
|
447
|
+
## 라이선스
|
|
448
|
+
|
|
449
|
+
MIT License - Copyright (c) 2025 Su
|