@su-record/vibe 2.6.13 → 2.6.15
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/LICENSE +21 -21
- package/README.md +497 -497
- 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/e2e-tester.md +266 -266
- 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/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-previewer.md +268 -268
- package/commands/vibe.analyze.md +356 -356
- package/commands/vibe.reason.md +329 -329
- package/commands/vibe.review.md +412 -412
- package/commands/vibe.run.md +1266 -1266
- package/commands/vibe.spec.md +1054 -1054
- package/commands/vibe.spec.review.md +319 -319
- package/commands/vibe.trace.md +161 -161
- package/commands/vibe.utils.md +376 -376
- package/commands/vibe.verify.md +375 -375
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.d.ts.map +1 -1
- package/dist/cli/detect.js +118 -44
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/hud.js +20 -20
- package/dist/cli/index.js +118 -118
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm.js +144 -144
- package/dist/cli/mcp.d.ts +49 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +169 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/postinstall.js +858 -858
- package/dist/cli/setup/ProjectSetup.d.ts +3 -0
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +28 -6
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/lib/DeepInit.js +24 -24
- package/dist/lib/IterationTracker.js +11 -11
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/ReviewRace.js +96 -96
- package/dist/lib/SkillFrontmatter.js +28 -28
- package/dist/lib/SkillQualityGate.js +9 -9
- package/dist/lib/SkillRepository.js +159 -159
- package/dist/lib/UltraQA.js +77 -77
- package/dist/lib/gemini-api.js +5 -5
- package/dist/lib/gemini-mcp.d.ts +10 -0
- package/dist/lib/gemini-mcp.d.ts.map +1 -0
- package/dist/lib/gemini-mcp.js +353 -0
- package/dist/lib/gemini-mcp.js.map +1 -0
- package/dist/lib/gpt-api.js +4 -4
- package/dist/lib/gpt-mcp.d.ts +10 -0
- package/dist/lib/gpt-mcp.d.ts.map +1 -0
- package/dist/lib/gpt-mcp.js +352 -0
- package/dist/lib/gpt-mcp.js.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/lib/memory/MemorySearch.js +20 -20
- package/dist/lib/memory/MemoryStorage.js +64 -64
- package/dist/orchestrator/AgentManager.js +12 -12
- package/dist/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/orchestrator/SmartRouter.js +11 -11
- package/dist/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
- package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
- package/dist/tools/analytics/getUsageAnalytics.js +246 -0
- package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +5 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +5 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/getCodingGuide.d.ts +7 -0
- package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
- package/dist/tools/convention/getCodingGuide.js +69 -0
- package/dist/tools/convention/getCodingGuide.js.map +1 -0
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
- package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
- package/dist/tools/planning/analyzeRequirements.js +171 -0
- package/dist/tools/planning/analyzeRequirements.js.map +1 -0
- package/dist/tools/planning/createUserStories.d.ts +9 -0
- package/dist/tools/planning/createUserStories.d.ts.map +1 -0
- package/dist/tools/planning/createUserStories.js +124 -0
- package/dist/tools/planning/createUserStories.js.map +1 -0
- package/dist/tools/planning/featureRoadmap.d.ts +10 -0
- package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
- package/dist/tools/planning/featureRoadmap.js +207 -0
- package/dist/tools/planning/featureRoadmap.js.map +1 -0
- package/dist/tools/planning/generatePrd.d.ts +11 -0
- package/dist/tools/planning/generatePrd.d.ts.map +1 -0
- package/dist/tools/planning/generatePrd.js +161 -0
- package/dist/tools/planning/generatePrd.js.map +1 -0
- package/dist/tools/planning/index.d.ts +8 -0
- package/dist/tools/planning/index.d.ts.map +1 -0
- package/dist/tools/planning/index.js +8 -0
- package/dist/tools/planning/index.js.map +1 -0
- package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
- package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/analyzePrompt.js +150 -0
- package/dist/tools/prompt/analyzePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
- package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePrompt.js +110 -0
- package/dist/tools/prompt/enhancePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.js +332 -0
- package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
- package/dist/tools/prompt/index.d.ts +7 -0
- package/dist/tools/prompt/index.d.ts.map +1 -0
- package/dist/tools/prompt/index.js +7 -0
- package/dist/tools/prompt/index.js.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
- package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
- package/dist/tools/reasoning/index.d.ts +5 -0
- package/dist/tools/reasoning/index.d.ts.map +1 -0
- package/dist/tools/reasoning/index.js +5 -0
- package/dist/tools/reasoning/index.js.map +1 -0
- 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/dist/tools/thinking/analyzeProblem.d.ts +7 -0
- package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
- package/dist/tools/thinking/analyzeProblem.js +55 -0
- package/dist/tools/thinking/analyzeProblem.js.map +1 -0
- package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
- package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
- package/dist/tools/thinking/breakDownProblem.js +145 -0
- package/dist/tools/thinking/breakDownProblem.js.map +1 -0
- package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
- package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
- package/dist/tools/thinking/createThinkingChain.js +44 -0
- package/dist/tools/thinking/createThinkingChain.js.map +1 -0
- package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
- package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
- package/dist/tools/thinking/formatAsPlan.js +78 -0
- package/dist/tools/thinking/formatAsPlan.js.map +1 -0
- package/dist/tools/thinking/index.d.ts +10 -0
- package/dist/tools/thinking/index.d.ts.map +1 -0
- package/dist/tools/thinking/index.js +10 -0
- package/dist/tools/thinking/index.js.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
- package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.js +80 -0
- package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
- package/hooks/hooks.json +222 -222
- package/hooks/scripts/code-check.js +22 -22
- package/hooks/scripts/code-review.js +22 -22
- package/hooks/scripts/complexity.js +22 -22
- package/hooks/scripts/compound.js +23 -23
- package/hooks/scripts/context-save.js +33 -33
- package/hooks/scripts/gemini-ui-gen.js +281 -281
- package/hooks/scripts/generate-brand-assets.js +474 -474
- package/hooks/scripts/hud-multiline.js +262 -262
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +171 -171
- package/hooks/scripts/post-edit.js +97 -97
- package/hooks/scripts/post-tool-verify.js +210 -210
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/recall.js +22 -22
- package/hooks/scripts/session-start.js +30 -30
- package/hooks/scripts/skill-injector.js +191 -191
- package/hooks/scripts/utils.js +97 -97
- 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 +84 -84
- package/skills/brand-assets.md +141 -141
- package/skills/commerce-patterns.md +361 -361
- package/skills/context7-usage.md +102 -102
- package/skills/e2e-commerce.md +304 -304
- package/skills/frontend-design.md +92 -92
- package/skills/git-worktree.md +181 -181
- package/skills/parallel-research.md +77 -77
- package/skills/priority-todos.md +239 -239
- package/skills/seo-checklist.md +244 -244
- package/skills/tool-fallback.md +190 -190
- package/skills/vibe-capabilities.md +161 -161
- package/vibe/constitution.md +227 -227
- package/vibe/rules/core/communication-guide.md +98 -98
- package/vibe/rules/core/development-philosophy.md +52 -52
- package/vibe/rules/core/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/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/naming-conventions.md +198 -198
- 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/README.md
CHANGED
|
@@ -1,497 +1,497 @@
|
|
|
1
|
-
# Vibe
|
|
2
|
-
|
|
3
|
-
**SPEC-Scenario-driven AI coding framework for Claude Code with Multi-LLM orchestration**
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
|
-
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
|
-
[](https://opensource.org/licenses/MIT)
|
|
8
|
-
|
|
9
|
-
## Install
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g @su-record/vibe
|
|
13
|
-
vibe init
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Commands
|
|
17
|
-
|
|
18
|
-
### Terminal
|
|
19
|
-
|
|
20
|
-
| Command | Description |
|
|
21
|
-
|---------|-------------|
|
|
22
|
-
| `vibe init` | Initialize project |
|
|
23
|
-
| `vibe update` | Update settings |
|
|
24
|
-
| `vibe status` | Check status |
|
|
25
|
-
| `vibe gpt auth` | GPT OAuth authentication |
|
|
26
|
-
| `vibe gpt key <KEY>` | GPT API key setup |
|
|
27
|
-
| `vibe gpt logout` | GPT logout |
|
|
28
|
-
| `vibe gemini auth` | Gemini OAuth authentication |
|
|
29
|
-
| `vibe gemini key <KEY>` | Gemini API key setup |
|
|
30
|
-
| `vibe gemini logout` | Gemini logout |
|
|
31
|
-
| `vibe help` | Help |
|
|
32
|
-
| `vibe version` | Version info |
|
|
33
|
-
|
|
34
|
-
### Claude Code
|
|
35
|
-
|
|
36
|
-
| Command | Description |
|
|
37
|
-
|---------|-------------|
|
|
38
|
-
| `/vibe.spec "feature"` | Create SPEC + parallel research |
|
|
39
|
-
| `/vibe.run "feature"` | Execute implementation |
|
|
40
|
-
| `/vibe.run "feature" ultrawork` | Maximum performance mode |
|
|
41
|
-
| `/vibe.verify "feature"` | BDD verification |
|
|
42
|
-
| `/vibe.trace "feature"` | Requirements traceability matrix (v2.6) |
|
|
43
|
-
| `/vibe.review` | 13+ agent parallel review (`--race` for GPT+Gemini) |
|
|
44
|
-
| `/vibe.analyze` | Code analysis |
|
|
45
|
-
| `/vibe.reason "problem"` | Systematic reasoning |
|
|
46
|
-
| `/vibe.utils --ui` | UI preview (Gemini image / ASCII fallback) |
|
|
47
|
-
| `/vibe.utils --e2e` | E2E testing, diagrams, etc. |
|
|
48
|
-
|
|
49
|
-
## Workflow
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
/vibe.spec → /vibe.run → /vibe.trace → /vibe.verify → /vibe.review
|
|
53
|
-
↑
|
|
54
|
-
Coverage check (v2.6)
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Key Features
|
|
58
|
-
|
|
59
|
-
| Feature | Description |
|
|
60
|
-
|---------|-------------|
|
|
61
|
-
| **Race Review (v2.6.9)** | GPT + Gemini parallel review with cross-validation |
|
|
62
|
-
| **Fire-and-Forget Agents (v2.6)** | Non-blocking background execution with instant handle return |
|
|
63
|
-
| **Phase Pipelining (v2.6)** | Prepare next phase during current execution |
|
|
64
|
-
| **PRD-to-SPEC Automation (v2.6)** | Auto-generate SPEC from PRD documents |
|
|
65
|
-
| **Traceability Matrix (v2.6)** | REQ → SPEC → Feature → Test coverage tracking |
|
|
66
|
-
| **Multi-LLM Research (v2.5)** | Claude + GPT + Gemini 3-way validation during SPEC research |
|
|
67
|
-
| **Multi-model orchestration** | Claude + GPT-5.2 + Gemini 3 Pro |
|
|
68
|
-
| **13+ parallel review agents** | Security, performance, architecture |
|
|
69
|
-
| **Iterative SPEC review** | GPT + Gemini convergence loop (max 3 rounds) |
|
|
70
|
-
| **Large SPEC auto-split** | 5+ phases auto-split into phase files |
|
|
71
|
-
| **BDD auto verification** | Given/When/Then scenario verification |
|
|
72
|
-
| **ULTRAWORK mode** | One keyword enables all optimizations |
|
|
73
|
-
| **30+ built-in tools** | Code analysis, memory management, quality validation |
|
|
74
|
-
| **Auto context management** | 80%+ auto-save, session restore |
|
|
75
|
-
| **23 language presets** | TypeScript, Python, Go, Rust, Swift, Kotlin, C#, Ruby, Dart, GDScript |
|
|
76
|
-
|
|
77
|
-
## ULTRAWORK Mode
|
|
78
|
-
|
|
79
|
-
Enable maximum performance with `ultrawork` or `ulw`:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
/vibe.run "feature" ultrawork
|
|
83
|
-
/vibe.run "feature" ulw # Same
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Enabled features:**
|
|
87
|
-
- Parallel subagent exploration (3+ concurrent)
|
|
88
|
-
- **Background agents** (v2.6) - Prepare next phase during implementation
|
|
89
|
-
- **Phase pipelining** (v2.6) - Zero wait time between phases
|
|
90
|
-
- Boulder Loop (auto-progress until all scenarios complete)
|
|
91
|
-
- Auto-retry on errors (max 3)
|
|
92
|
-
- Continuous execution without phase confirmation
|
|
93
|
-
- Auto-save at 80%+ context
|
|
94
|
-
|
|
95
|
-
## Fire-and-Forget Background Manager (v2.6)
|
|
96
|
-
|
|
97
|
-
Non-blocking task execution with instant response:
|
|
98
|
-
|
|
99
|
-
```typescript
|
|
100
|
-
import { launch, poll, getStats } from '@su-record/vibe/orchestrator';
|
|
101
|
-
|
|
102
|
-
// Fire-and-forget: returns immediately (<100ms)
|
|
103
|
-
const { taskId } = launch({
|
|
104
|
-
prompt: 'Analyze codebase security',
|
|
105
|
-
agentName: 'security-agent',
|
|
106
|
-
model: 'claude-sonnet-4-5'
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
// Poll for result later
|
|
110
|
-
const result = await poll(taskId);
|
|
111
|
-
|
|
112
|
-
// Check queue stats
|
|
113
|
-
const stats = getStats();
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**Concurrency limits:**
|
|
117
|
-
|
|
118
|
-
| Model | Concurrent Limit |
|
|
119
|
-
|--------|------------------|
|
|
120
|
-
| Opus | 3 |
|
|
121
|
-
| Sonnet | 5 |
|
|
122
|
-
| Haiku | 8 |
|
|
123
|
-
|
|
124
|
-
**Queue features:**
|
|
125
|
-
|
|
126
|
-
- Bounded queue (max 100 tasks)
|
|
127
|
-
- Per-model rate limiting
|
|
128
|
-
- Task timeout: 180s individual, 10min pipeline
|
|
129
|
-
- Automatic cleanup (24h TTL)
|
|
130
|
-
|
|
131
|
-
## Phase Pipelining (v2.6)
|
|
132
|
-
|
|
133
|
-
Prepare next phase while current phase executes:
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
Phase N execution │ Background: Phase N+1 preparation
|
|
137
|
-
──────────────────────┼──────────────────────────────────
|
|
138
|
-
[Implementing...] │ [Analyzing files for next phase]
|
|
139
|
-
[Testing...] │ [Pre-generating test cases]
|
|
140
|
-
[Complete] │ [Ready to start immediately!]
|
|
141
|
-
↓
|
|
142
|
-
Phase N+1 starts with ZERO wait time
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
**Speed comparison:**
|
|
146
|
-
|
|
147
|
-
| Mode | 5 Phases Total |
|
|
148
|
-
|---------------------------|----------------|
|
|
149
|
-
| Sequential | ~10min |
|
|
150
|
-
| Parallel Exploration | ~7.5min |
|
|
151
|
-
| **ULTRAWORK + Pipeline** | **~5min** |
|
|
152
|
-
|
|
153
|
-
## PRD-to-SPEC Automation (v2.6)
|
|
154
|
-
|
|
155
|
-
Auto-generate SPEC from PRD documents:
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
import { parsePRD } from '@su-record/vibe/tools';
|
|
159
|
-
|
|
160
|
-
// Parse PRD (supports Markdown, YAML frontmatter)
|
|
161
|
-
const prd = parsePRD(prdContent, 'login-feature');
|
|
162
|
-
|
|
163
|
-
// Extracted requirements with auto-generated IDs
|
|
164
|
-
// REQ-login-001, REQ-login-002, ...
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**Requirement ID System:**
|
|
168
|
-
|
|
169
|
-
- Format: `REQ-{feature}-{number}`
|
|
170
|
-
- Auto-deduplication
|
|
171
|
-
- Priority inference from keywords (must, should, nice-to-have)
|
|
172
|
-
|
|
173
|
-
## Requirements Traceability Matrix (v2.6)
|
|
174
|
-
|
|
175
|
-
Track coverage from requirements to tests:
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
/vibe.trace "feature-name" # Generate RTM
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
**RTM tracks:**
|
|
182
|
-
|
|
183
|
-
```
|
|
184
|
-
REQ-login-001 → SPEC Phase 1 → Feature Scenario 1 → login.test.ts
|
|
185
|
-
REQ-login-002 → SPEC Phase 2 → Feature Scenario 3 → auth.test.ts
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**Coverage report:**
|
|
189
|
-
|
|
190
|
-
- Requirements coverage %
|
|
191
|
-
- Missing implementations
|
|
192
|
-
- Untested features
|
|
193
|
-
- Export: Markdown, HTML
|
|
194
|
-
|
|
195
|
-
## SPEC Versioning (v2.6)
|
|
196
|
-
|
|
197
|
-
Automatic version management for SPEC documents:
|
|
198
|
-
|
|
199
|
-
```typescript
|
|
200
|
-
import { bumpVersion, generateChangelog } from '@su-record/vibe/tools';
|
|
201
|
-
|
|
202
|
-
// Auto-bump version on SPEC changes
|
|
203
|
-
await bumpVersion('feature-name', 'minor');
|
|
204
|
-
|
|
205
|
-
// Generate changelog
|
|
206
|
-
await generateChangelog('feature-name');
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**Features:**
|
|
210
|
-
|
|
211
|
-
- Semantic versioning (major.minor.patch)
|
|
212
|
-
- Git tag integration
|
|
213
|
-
- Automatic changelog generation
|
|
214
|
-
- Baseline tagging for releases
|
|
215
|
-
|
|
216
|
-
## UI Preview (`--ui`)
|
|
217
|
-
|
|
218
|
-
Generate UI previews from text description or design folder:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
/vibe.utils --ui "login form with email/password"
|
|
222
|
-
/vibe.utils --ui ./design/dashboard/
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
**Features:**
|
|
226
|
-
|
|
227
|
-
- **Gemini enabled**: Generates actual UI mockup image
|
|
228
|
-
- **Gemini disabled**: ASCII art fallback
|
|
229
|
-
- Supports: HTML, PNG, JPG, CSS, JSON, SVG, MD
|
|
230
|
-
|
|
231
|
-
## Multi-model Orchestration
|
|
232
|
-
|
|
233
|
-
**Hook-based automatic routing** - Keywords in your prompt trigger the right LLM automatically:
|
|
234
|
-
|
|
235
|
-
| Keyword Pattern | Routes to | Use Case |
|
|
236
|
-
|-----------------|-----------|----------|
|
|
237
|
-
| `architecture`, `design` | GPT | Architecture review |
|
|
238
|
-
| `UI`, `UX` | Gemini | UI/UX feedback |
|
|
239
|
-
| `debugging`, `find bug` | GPT | Bug analysis |
|
|
240
|
-
| `analyze code` | Gemini | Code review |
|
|
241
|
-
|
|
242
|
-
**Smart Routing features:**
|
|
243
|
-
- Automatic LLM selection based on task type
|
|
244
|
-
- Exponential backoff retry (3 attempts, 2s → 4s → 8s)
|
|
245
|
-
- Auto fallback chain: GPT ↔ Gemini (if primary fails)
|
|
246
|
-
- 5-minute availability cache
|
|
247
|
-
- Web search via Gemini (Google Search grounding)
|
|
248
|
-
|
|
249
|
-
**API usage:**
|
|
250
|
-
|
|
251
|
-
```javascript
|
|
252
|
-
import('@su-record/vibe/lib/gpt').then(g => g.ask('question'))
|
|
253
|
-
import('@su-record/vibe/lib/gemini').then(g => g.webSearch('search query'))
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
## Multi-LLM Research (v2.5)
|
|
257
|
-
|
|
258
|
-
During `/vibe.spec`, research agents use **3 LLM perspectives** for quality assurance:
|
|
259
|
-
|
|
260
|
-
```text
|
|
261
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
262
|
-
│ MULTI-LLM PARALLEL RESEARCH │
|
|
263
|
-
├─────────────────────────────────────────────────────────────┤
|
|
264
|
-
│ best-practices-agent │
|
|
265
|
-
│ ├── Claude: Core patterns, anti-patterns │
|
|
266
|
-
│ ├── GPT: Architecture patterns, code conventions │
|
|
267
|
-
│ └── Gemini: Latest trends, framework updates │
|
|
268
|
-
├─────────────────────────────────────────────────────────────┤
|
|
269
|
-
│ security-advisory-agent │
|
|
270
|
-
│ ├── Claude: OWASP Top 10, security patterns │
|
|
271
|
-
│ ├── GPT: CVE database, vulnerability details │
|
|
272
|
-
│ └── Gemini: Latest security advisories, patches │
|
|
273
|
-
└─────────────────────────────────────────────────────────────┘
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
> vibe = Quality Assurance Framework
|
|
277
|
-
|
|
278
|
-
## Race Review (v2.6.9)
|
|
279
|
-
|
|
280
|
-
**Multi-LLM competitive review** - Same task runs on GPT + Gemini in parallel, results cross-validated:
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
/vibe.review --race # All review types
|
|
284
|
-
/vibe.review --race security # Security only
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
**Cross-validation confidence:**
|
|
288
|
-
|
|
289
|
-
| Agreement | Priority | Action |
|
|
290
|
-
|-------------------|----------|-------------------------|
|
|
291
|
-
| Both agree (100%) | P1 | High confidence finding |
|
|
292
|
-
| One model (50%) | P2 | Needs verification |
|
|
293
|
-
|
|
294
|
-
**Output:**
|
|
295
|
-
|
|
296
|
-
```text
|
|
297
|
-
🏁 RACE REVIEW
|
|
298
|
-
├─ GPT: [SQL injection, XSS]
|
|
299
|
-
└─ Gemini: [SQL injection, CSRF]
|
|
300
|
-
↓
|
|
301
|
-
Cross-validation:
|
|
302
|
-
- SQL injection (2/2) → 🔴 P1 (100%)
|
|
303
|
-
- XSS (1/2) → 🟡 P2 (50%)
|
|
304
|
-
- CSRF (1/2) → 🟡 P2 (50%)
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
**ULTRAWORK default:** Race review is automatically enabled in ULTRAWORK mode.
|
|
308
|
-
|
|
309
|
-
**API usage:**
|
|
310
|
-
|
|
311
|
-
```javascript
|
|
312
|
-
import('@su-record/vibe/tools').then(t =>
|
|
313
|
-
t.raceReview({ reviewType: 'security', code: 'CODE' })
|
|
314
|
-
.then(r => console.log(t.formatRaceResult(r)))
|
|
315
|
-
)
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
## Parallel Review Agents
|
|
319
|
-
|
|
320
|
-
`/vibe.review` runs 13+ agents concurrently:
|
|
321
|
-
|
|
322
|
-
| Category | Agents |
|
|
323
|
-
|----------|--------|
|
|
324
|
-
| Security | security-reviewer, data-integrity-reviewer |
|
|
325
|
-
| Performance | performance-reviewer, complexity-reviewer |
|
|
326
|
-
| Architecture | architecture-reviewer, simplicity-reviewer |
|
|
327
|
-
| Language | python, typescript, rails, react reviewers |
|
|
328
|
-
| Context | git-history, test-coverage reviewers |
|
|
329
|
-
|
|
330
|
-
**Priority:**
|
|
331
|
-
- 🔴 P1 (Critical): Blocks merge
|
|
332
|
-
- 🟡 P2 (Important): Recommended fix
|
|
333
|
-
- 🔵 P3 (Nice-to-have): Backlog
|
|
334
|
-
|
|
335
|
-
## Built-in Tools (25)
|
|
336
|
-
|
|
337
|
-
| Category | Tools |
|
|
338
|
-
|----------|-------|
|
|
339
|
-
| **Semantic** | `find_symbol`, `find_references`, `analyze_dependency_graph` |
|
|
340
|
-
| **Convention** | `analyze_complexity`, `validate_code_quality`, `check_coupling_cohesion`, `suggest_improvements`, `apply_quality_rules` |
|
|
341
|
-
| **Memory** | `start_session`, `save_memory`, `auto_save_context`, `recall_memory`, `search_memories`, `search_memories_advanced`, `list_memories`, `update_memory`, `delete_memory`, `link_memories`, `prioritize_memory`, `get_memory_graph`, `create_memory_timeline`, `get_session_context`, `restore_session_context` |
|
|
342
|
-
| **UI** | `preview_ui_ascii` |
|
|
343
|
-
| **Time** | `get_current_time` |
|
|
344
|
-
|
|
345
|
-
## Project Structure
|
|
346
|
-
|
|
347
|
-
**Global install (`~/.claude/`):**
|
|
348
|
-
|
|
349
|
-
```text
|
|
350
|
-
~/.claude/
|
|
351
|
-
├── commands/ # Slash commands (7)
|
|
352
|
-
├── agents/ # Review/research agents
|
|
353
|
-
├── skills/ # Auto-activated guides (7)
|
|
354
|
-
└── settings.json # Hooks settings
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
**Project-specific (`project/.claude/vibe/`):**
|
|
358
|
-
|
|
359
|
-
```text
|
|
360
|
-
.claude/vibe/
|
|
361
|
-
├── specs/ # SPEC documents
|
|
362
|
-
├── features/ # BDD scenarios
|
|
363
|
-
├── rules/ # Coding rules (per stack)
|
|
364
|
-
├── solutions/ # Solution archive
|
|
365
|
-
├── config.json # Project settings
|
|
366
|
-
└── constitution.md # Project principles
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
## Cursor IDE Support (v2.6.8)
|
|
370
|
-
|
|
371
|
-
VIBE automatically installs Cursor-compatible assets on `vibe init` and `vibe update`:
|
|
372
|
-
|
|
373
|
-
**Installed locations:**
|
|
374
|
-
|
|
375
|
-
| Asset | Path | Count |
|
|
376
|
-
| ----- | ---- | ----- |
|
|
377
|
-
| Subagents | `~/.cursor/agents/*.md` | 12 |
|
|
378
|
-
| Skills | `~/.cursor/skills/*/SKILL.md` | 7 |
|
|
379
|
-
| Rules Template | `~/.cursor/rules-template/*.mdc` | 5 |
|
|
380
|
-
|
|
381
|
-
**12 Review Subagents with optimized model mapping:**
|
|
382
|
-
|
|
383
|
-
| Agent Type | Model | Purpose |
|
|
384
|
-
| ---------- | ----- | ------- |
|
|
385
|
-
| security, architecture, data-integrity | `claude-4.5-sonnet-thinking` | Deep reasoning |
|
|
386
|
-
| typescript, python, react, rails | `gpt-5.2-codex` | Code understanding |
|
|
387
|
-
| performance, complexity, simplicity, test-coverage, git-history | `gemini-3-flash` | Fast pattern checks |
|
|
388
|
-
|
|
389
|
-
**7 Skills (VIBE workflow guides):**
|
|
390
|
-
|
|
391
|
-
- `vibe-spec` - SPEC creation
|
|
392
|
-
- `vibe-run` - Implementation execution
|
|
393
|
-
- `vibe-review` - Parallel code review
|
|
394
|
-
- `vibe-analyze` - Project analysis
|
|
395
|
-
- `vibe-verify` - Requirement verification
|
|
396
|
-
- `vibe-reason` - Systematic reasoning
|
|
397
|
-
- `vibe-ui` - UI preview utilities
|
|
398
|
-
|
|
399
|
-
**5 Rules Templates:**
|
|
400
|
-
|
|
401
|
-
- `typescript-standards.mdc` - Type safety, complexity limits
|
|
402
|
-
- `react-patterns.mdc` - Component patterns
|
|
403
|
-
- `code-quality.mdc` - General quality rules
|
|
404
|
-
- `security-checklist.mdc` - OWASP checklist
|
|
405
|
-
- `python-standards.mdc` - PEP8, type hints
|
|
406
|
-
|
|
407
|
-
**Usage in Cursor:**
|
|
408
|
-
|
|
409
|
-
```text
|
|
410
|
-
# Invoke subagent
|
|
411
|
-
"Use security-reviewer to check this code"
|
|
412
|
-
|
|
413
|
-
# Use skill workflow
|
|
414
|
-
"vibe spec login feature"
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
## Code Quality Standards
|
|
418
|
-
|
|
419
|
-
| Metric | Limit |
|
|
420
|
-
|--------|-------|
|
|
421
|
-
| Function length | 30 lines recommended, 50 allowed |
|
|
422
|
-
| Nesting depth | 3 levels max |
|
|
423
|
-
| Parameters | 5 max |
|
|
424
|
-
| Cyclomatic complexity | 10 max |
|
|
425
|
-
|
|
426
|
-
## Usage Example
|
|
427
|
-
|
|
428
|
-
```
|
|
429
|
-
User: /vibe.spec "login feature"
|
|
430
|
-
|
|
431
|
-
Claude: You're building a login feature! I have a few questions.
|
|
432
|
-
1. Auth method? (email/password, OAuth, Passkey)
|
|
433
|
-
2. Tech stack?
|
|
434
|
-
...
|
|
435
|
-
|
|
436
|
-
[Requirements confirmed via conversation]
|
|
437
|
-
[4 parallel research agents run]
|
|
438
|
-
|
|
439
|
-
✅ SPEC document created
|
|
440
|
-
📄 .claude/vibe/specs/login.md
|
|
441
|
-
📄 .claude/vibe/features/login.feature
|
|
442
|
-
|
|
443
|
-
Next: /vibe.run "login feature" ultrawork
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
## Context7 Plugin (Recommended)
|
|
447
|
-
|
|
448
|
-
Install context7 plugin for up-to-date library documentation:
|
|
449
|
-
|
|
450
|
-
```bash
|
|
451
|
-
/plugin install context7
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
**Benefits:**
|
|
455
|
-
|
|
456
|
-
- **Skill integration**: Auto-invokes context7 for library/API questions without prompting
|
|
457
|
-
- **Subagent isolation**: Docs queries run in separate context, preventing main context bloat
|
|
458
|
-
- **Knowledge cutoff solution**: Access latest docs for long coding sessions
|
|
459
|
-
|
|
460
|
-
**Usage:**
|
|
461
|
-
|
|
462
|
-
- Automatic: Ask library questions, vibe's skill triggers context7
|
|
463
|
-
- Manual: `/context7:docs <library> [query]`
|
|
464
|
-
|
|
465
|
-
## Requirements
|
|
466
|
-
|
|
467
|
-
- Node.js 18.0.0+
|
|
468
|
-
- Claude Code
|
|
469
|
-
|
|
470
|
-
## License
|
|
471
|
-
|
|
472
|
-
MIT - [GitHub](https://github.com/su-record/vibe)
|
|
473
|
-
|
|
474
|
-
## Vibe Setup (AI Coding)
|
|
475
|
-
|
|
476
|
-
This project uses [Vibe](https://github.com/su-record/vibe) AI coding framework.
|
|
477
|
-
|
|
478
|
-
### Collaborator Install
|
|
479
|
-
|
|
480
|
-
```bash
|
|
481
|
-
# Global install (recommended)
|
|
482
|
-
npm install -g @su-record/vibe
|
|
483
|
-
vibe update
|
|
484
|
-
|
|
485
|
-
# Or use vibe init to setup
|
|
486
|
-
vibe init
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
### Usage
|
|
490
|
-
|
|
491
|
-
Use slash commands in Claude Code:
|
|
492
|
-
- `/vibe.spec "feature"` - Create SPEC document
|
|
493
|
-
- `/vibe.run "feature"` - Execute implementation
|
|
494
|
-
|
|
495
|
-
---
|
|
496
|
-
|
|
497
|
-
⭐ If this helps your workflow, consider giving it a star!
|
|
1
|
+
# Vibe
|
|
2
|
+
|
|
3
|
+
**SPEC-Scenario-driven AI coding framework for Claude Code with Multi-LLM orchestration**
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
|
+
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @su-record/vibe
|
|
13
|
+
vibe init
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
### Terminal
|
|
19
|
+
|
|
20
|
+
| Command | Description |
|
|
21
|
+
|---------|-------------|
|
|
22
|
+
| `vibe init` | Initialize project |
|
|
23
|
+
| `vibe update` | Update settings |
|
|
24
|
+
| `vibe status` | Check status |
|
|
25
|
+
| `vibe gpt auth` | GPT OAuth authentication |
|
|
26
|
+
| `vibe gpt key <KEY>` | GPT API key setup |
|
|
27
|
+
| `vibe gpt logout` | GPT logout |
|
|
28
|
+
| `vibe gemini auth` | Gemini OAuth authentication |
|
|
29
|
+
| `vibe gemini key <KEY>` | Gemini API key setup |
|
|
30
|
+
| `vibe gemini logout` | Gemini logout |
|
|
31
|
+
| `vibe help` | Help |
|
|
32
|
+
| `vibe version` | Version info |
|
|
33
|
+
|
|
34
|
+
### Claude Code
|
|
35
|
+
|
|
36
|
+
| Command | Description |
|
|
37
|
+
|---------|-------------|
|
|
38
|
+
| `/vibe.spec "feature"` | Create SPEC + parallel research |
|
|
39
|
+
| `/vibe.run "feature"` | Execute implementation |
|
|
40
|
+
| `/vibe.run "feature" ultrawork` | Maximum performance mode |
|
|
41
|
+
| `/vibe.verify "feature"` | BDD verification |
|
|
42
|
+
| `/vibe.trace "feature"` | Requirements traceability matrix (v2.6) |
|
|
43
|
+
| `/vibe.review` | 13+ agent parallel review (`--race` for GPT+Gemini) |
|
|
44
|
+
| `/vibe.analyze` | Code analysis |
|
|
45
|
+
| `/vibe.reason "problem"` | Systematic reasoning |
|
|
46
|
+
| `/vibe.utils --ui` | UI preview (Gemini image / ASCII fallback) |
|
|
47
|
+
| `/vibe.utils --e2e` | E2E testing, diagrams, etc. |
|
|
48
|
+
|
|
49
|
+
## Workflow
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
/vibe.spec → /vibe.run → /vibe.trace → /vibe.verify → /vibe.review
|
|
53
|
+
↑
|
|
54
|
+
Coverage check (v2.6)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Key Features
|
|
58
|
+
|
|
59
|
+
| Feature | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| **Race Review (v2.6.9)** | GPT + Gemini parallel review with cross-validation |
|
|
62
|
+
| **Fire-and-Forget Agents (v2.6)** | Non-blocking background execution with instant handle return |
|
|
63
|
+
| **Phase Pipelining (v2.6)** | Prepare next phase during current execution |
|
|
64
|
+
| **PRD-to-SPEC Automation (v2.6)** | Auto-generate SPEC from PRD documents |
|
|
65
|
+
| **Traceability Matrix (v2.6)** | REQ → SPEC → Feature → Test coverage tracking |
|
|
66
|
+
| **Multi-LLM Research (v2.5)** | Claude + GPT + Gemini 3-way validation during SPEC research |
|
|
67
|
+
| **Multi-model orchestration** | Claude + GPT-5.2 + Gemini 3 Pro |
|
|
68
|
+
| **13+ parallel review agents** | Security, performance, architecture |
|
|
69
|
+
| **Iterative SPEC review** | GPT + Gemini convergence loop (max 3 rounds) |
|
|
70
|
+
| **Large SPEC auto-split** | 5+ phases auto-split into phase files |
|
|
71
|
+
| **BDD auto verification** | Given/When/Then scenario verification |
|
|
72
|
+
| **ULTRAWORK mode** | One keyword enables all optimizations |
|
|
73
|
+
| **30+ built-in tools** | Code analysis, memory management, quality validation |
|
|
74
|
+
| **Auto context management** | 80%+ auto-save, session restore |
|
|
75
|
+
| **23 language presets** | TypeScript, Python, Go, Rust, Swift, Kotlin, C#, Ruby, Dart, GDScript |
|
|
76
|
+
|
|
77
|
+
## ULTRAWORK Mode
|
|
78
|
+
|
|
79
|
+
Enable maximum performance with `ultrawork` or `ulw`:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
/vibe.run "feature" ultrawork
|
|
83
|
+
/vibe.run "feature" ulw # Same
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Enabled features:**
|
|
87
|
+
- Parallel subagent exploration (3+ concurrent)
|
|
88
|
+
- **Background agents** (v2.6) - Prepare next phase during implementation
|
|
89
|
+
- **Phase pipelining** (v2.6) - Zero wait time between phases
|
|
90
|
+
- Boulder Loop (auto-progress until all scenarios complete)
|
|
91
|
+
- Auto-retry on errors (max 3)
|
|
92
|
+
- Continuous execution without phase confirmation
|
|
93
|
+
- Auto-save at 80%+ context
|
|
94
|
+
|
|
95
|
+
## Fire-and-Forget Background Manager (v2.6)
|
|
96
|
+
|
|
97
|
+
Non-blocking task execution with instant response:
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import { launch, poll, getStats } from '@su-record/vibe/orchestrator';
|
|
101
|
+
|
|
102
|
+
// Fire-and-forget: returns immediately (<100ms)
|
|
103
|
+
const { taskId } = launch({
|
|
104
|
+
prompt: 'Analyze codebase security',
|
|
105
|
+
agentName: 'security-agent',
|
|
106
|
+
model: 'claude-sonnet-4-5'
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Poll for result later
|
|
110
|
+
const result = await poll(taskId);
|
|
111
|
+
|
|
112
|
+
// Check queue stats
|
|
113
|
+
const stats = getStats();
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Concurrency limits:**
|
|
117
|
+
|
|
118
|
+
| Model | Concurrent Limit |
|
|
119
|
+
|--------|------------------|
|
|
120
|
+
| Opus | 3 |
|
|
121
|
+
| Sonnet | 5 |
|
|
122
|
+
| Haiku | 8 |
|
|
123
|
+
|
|
124
|
+
**Queue features:**
|
|
125
|
+
|
|
126
|
+
- Bounded queue (max 100 tasks)
|
|
127
|
+
- Per-model rate limiting
|
|
128
|
+
- Task timeout: 180s individual, 10min pipeline
|
|
129
|
+
- Automatic cleanup (24h TTL)
|
|
130
|
+
|
|
131
|
+
## Phase Pipelining (v2.6)
|
|
132
|
+
|
|
133
|
+
Prepare next phase while current phase executes:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
Phase N execution │ Background: Phase N+1 preparation
|
|
137
|
+
──────────────────────┼──────────────────────────────────
|
|
138
|
+
[Implementing...] │ [Analyzing files for next phase]
|
|
139
|
+
[Testing...] │ [Pre-generating test cases]
|
|
140
|
+
[Complete] │ [Ready to start immediately!]
|
|
141
|
+
↓
|
|
142
|
+
Phase N+1 starts with ZERO wait time
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Speed comparison:**
|
|
146
|
+
|
|
147
|
+
| Mode | 5 Phases Total |
|
|
148
|
+
|---------------------------|----------------|
|
|
149
|
+
| Sequential | ~10min |
|
|
150
|
+
| Parallel Exploration | ~7.5min |
|
|
151
|
+
| **ULTRAWORK + Pipeline** | **~5min** |
|
|
152
|
+
|
|
153
|
+
## PRD-to-SPEC Automation (v2.6)
|
|
154
|
+
|
|
155
|
+
Auto-generate SPEC from PRD documents:
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
import { parsePRD } from '@su-record/vibe/tools';
|
|
159
|
+
|
|
160
|
+
// Parse PRD (supports Markdown, YAML frontmatter)
|
|
161
|
+
const prd = parsePRD(prdContent, 'login-feature');
|
|
162
|
+
|
|
163
|
+
// Extracted requirements with auto-generated IDs
|
|
164
|
+
// REQ-login-001, REQ-login-002, ...
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Requirement ID System:**
|
|
168
|
+
|
|
169
|
+
- Format: `REQ-{feature}-{number}`
|
|
170
|
+
- Auto-deduplication
|
|
171
|
+
- Priority inference from keywords (must, should, nice-to-have)
|
|
172
|
+
|
|
173
|
+
## Requirements Traceability Matrix (v2.6)
|
|
174
|
+
|
|
175
|
+
Track coverage from requirements to tests:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
/vibe.trace "feature-name" # Generate RTM
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**RTM tracks:**
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
REQ-login-001 → SPEC Phase 1 → Feature Scenario 1 → login.test.ts
|
|
185
|
+
REQ-login-002 → SPEC Phase 2 → Feature Scenario 3 → auth.test.ts
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Coverage report:**
|
|
189
|
+
|
|
190
|
+
- Requirements coverage %
|
|
191
|
+
- Missing implementations
|
|
192
|
+
- Untested features
|
|
193
|
+
- Export: Markdown, HTML
|
|
194
|
+
|
|
195
|
+
## SPEC Versioning (v2.6)
|
|
196
|
+
|
|
197
|
+
Automatic version management for SPEC documents:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
import { bumpVersion, generateChangelog } from '@su-record/vibe/tools';
|
|
201
|
+
|
|
202
|
+
// Auto-bump version on SPEC changes
|
|
203
|
+
await bumpVersion('feature-name', 'minor');
|
|
204
|
+
|
|
205
|
+
// Generate changelog
|
|
206
|
+
await generateChangelog('feature-name');
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Features:**
|
|
210
|
+
|
|
211
|
+
- Semantic versioning (major.minor.patch)
|
|
212
|
+
- Git tag integration
|
|
213
|
+
- Automatic changelog generation
|
|
214
|
+
- Baseline tagging for releases
|
|
215
|
+
|
|
216
|
+
## UI Preview (`--ui`)
|
|
217
|
+
|
|
218
|
+
Generate UI previews from text description or design folder:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
/vibe.utils --ui "login form with email/password"
|
|
222
|
+
/vibe.utils --ui ./design/dashboard/
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Features:**
|
|
226
|
+
|
|
227
|
+
- **Gemini enabled**: Generates actual UI mockup image
|
|
228
|
+
- **Gemini disabled**: ASCII art fallback
|
|
229
|
+
- Supports: HTML, PNG, JPG, CSS, JSON, SVG, MD
|
|
230
|
+
|
|
231
|
+
## Multi-model Orchestration
|
|
232
|
+
|
|
233
|
+
**Hook-based automatic routing** - Keywords in your prompt trigger the right LLM automatically:
|
|
234
|
+
|
|
235
|
+
| Keyword Pattern | Routes to | Use Case |
|
|
236
|
+
|-----------------|-----------|----------|
|
|
237
|
+
| `architecture`, `design` | GPT | Architecture review |
|
|
238
|
+
| `UI`, `UX` | Gemini | UI/UX feedback |
|
|
239
|
+
| `debugging`, `find bug` | GPT | Bug analysis |
|
|
240
|
+
| `analyze code` | Gemini | Code review |
|
|
241
|
+
|
|
242
|
+
**Smart Routing features:**
|
|
243
|
+
- Automatic LLM selection based on task type
|
|
244
|
+
- Exponential backoff retry (3 attempts, 2s → 4s → 8s)
|
|
245
|
+
- Auto fallback chain: GPT ↔ Gemini (if primary fails)
|
|
246
|
+
- 5-minute availability cache
|
|
247
|
+
- Web search via Gemini (Google Search grounding)
|
|
248
|
+
|
|
249
|
+
**API usage:**
|
|
250
|
+
|
|
251
|
+
```javascript
|
|
252
|
+
import('@su-record/vibe/lib/gpt').then(g => g.ask('question'))
|
|
253
|
+
import('@su-record/vibe/lib/gemini').then(g => g.webSearch('search query'))
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Multi-LLM Research (v2.5)
|
|
257
|
+
|
|
258
|
+
During `/vibe.spec`, research agents use **3 LLM perspectives** for quality assurance:
|
|
259
|
+
|
|
260
|
+
```text
|
|
261
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
262
|
+
│ MULTI-LLM PARALLEL RESEARCH │
|
|
263
|
+
├─────────────────────────────────────────────────────────────┤
|
|
264
|
+
│ best-practices-agent │
|
|
265
|
+
│ ├── Claude: Core patterns, anti-patterns │
|
|
266
|
+
│ ├── GPT: Architecture patterns, code conventions │
|
|
267
|
+
│ └── Gemini: Latest trends, framework updates │
|
|
268
|
+
├─────────────────────────────────────────────────────────────┤
|
|
269
|
+
│ security-advisory-agent │
|
|
270
|
+
│ ├── Claude: OWASP Top 10, security patterns │
|
|
271
|
+
│ ├── GPT: CVE database, vulnerability details │
|
|
272
|
+
│ └── Gemini: Latest security advisories, patches │
|
|
273
|
+
└─────────────────────────────────────────────────────────────┘
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
> vibe = Quality Assurance Framework
|
|
277
|
+
|
|
278
|
+
## Race Review (v2.6.9)
|
|
279
|
+
|
|
280
|
+
**Multi-LLM competitive review** - Same task runs on GPT + Gemini in parallel, results cross-validated:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
/vibe.review --race # All review types
|
|
284
|
+
/vibe.review --race security # Security only
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Cross-validation confidence:**
|
|
288
|
+
|
|
289
|
+
| Agreement | Priority | Action |
|
|
290
|
+
|-------------------|----------|-------------------------|
|
|
291
|
+
| Both agree (100%) | P1 | High confidence finding |
|
|
292
|
+
| One model (50%) | P2 | Needs verification |
|
|
293
|
+
|
|
294
|
+
**Output:**
|
|
295
|
+
|
|
296
|
+
```text
|
|
297
|
+
🏁 RACE REVIEW
|
|
298
|
+
├─ GPT: [SQL injection, XSS]
|
|
299
|
+
└─ Gemini: [SQL injection, CSRF]
|
|
300
|
+
↓
|
|
301
|
+
Cross-validation:
|
|
302
|
+
- SQL injection (2/2) → 🔴 P1 (100%)
|
|
303
|
+
- XSS (1/2) → 🟡 P2 (50%)
|
|
304
|
+
- CSRF (1/2) → 🟡 P2 (50%)
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**ULTRAWORK default:** Race review is automatically enabled in ULTRAWORK mode.
|
|
308
|
+
|
|
309
|
+
**API usage:**
|
|
310
|
+
|
|
311
|
+
```javascript
|
|
312
|
+
import('@su-record/vibe/tools').then(t =>
|
|
313
|
+
t.raceReview({ reviewType: 'security', code: 'CODE' })
|
|
314
|
+
.then(r => console.log(t.formatRaceResult(r)))
|
|
315
|
+
)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Parallel Review Agents
|
|
319
|
+
|
|
320
|
+
`/vibe.review` runs 13+ agents concurrently:
|
|
321
|
+
|
|
322
|
+
| Category | Agents |
|
|
323
|
+
|----------|--------|
|
|
324
|
+
| Security | security-reviewer, data-integrity-reviewer |
|
|
325
|
+
| Performance | performance-reviewer, complexity-reviewer |
|
|
326
|
+
| Architecture | architecture-reviewer, simplicity-reviewer |
|
|
327
|
+
| Language | python, typescript, rails, react reviewers |
|
|
328
|
+
| Context | git-history, test-coverage reviewers |
|
|
329
|
+
|
|
330
|
+
**Priority:**
|
|
331
|
+
- 🔴 P1 (Critical): Blocks merge
|
|
332
|
+
- 🟡 P2 (Important): Recommended fix
|
|
333
|
+
- 🔵 P3 (Nice-to-have): Backlog
|
|
334
|
+
|
|
335
|
+
## Built-in Tools (25)
|
|
336
|
+
|
|
337
|
+
| Category | Tools |
|
|
338
|
+
|----------|-------|
|
|
339
|
+
| **Semantic** | `find_symbol`, `find_references`, `analyze_dependency_graph` |
|
|
340
|
+
| **Convention** | `analyze_complexity`, `validate_code_quality`, `check_coupling_cohesion`, `suggest_improvements`, `apply_quality_rules` |
|
|
341
|
+
| **Memory** | `start_session`, `save_memory`, `auto_save_context`, `recall_memory`, `search_memories`, `search_memories_advanced`, `list_memories`, `update_memory`, `delete_memory`, `link_memories`, `prioritize_memory`, `get_memory_graph`, `create_memory_timeline`, `get_session_context`, `restore_session_context` |
|
|
342
|
+
| **UI** | `preview_ui_ascii` |
|
|
343
|
+
| **Time** | `get_current_time` |
|
|
344
|
+
|
|
345
|
+
## Project Structure
|
|
346
|
+
|
|
347
|
+
**Global install (`~/.claude/`):**
|
|
348
|
+
|
|
349
|
+
```text
|
|
350
|
+
~/.claude/
|
|
351
|
+
├── commands/ # Slash commands (7)
|
|
352
|
+
├── agents/ # Review/research agents
|
|
353
|
+
├── skills/ # Auto-activated guides (7)
|
|
354
|
+
└── settings.json # Hooks settings
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Project-specific (`project/.claude/vibe/`):**
|
|
358
|
+
|
|
359
|
+
```text
|
|
360
|
+
.claude/vibe/
|
|
361
|
+
├── specs/ # SPEC documents
|
|
362
|
+
├── features/ # BDD scenarios
|
|
363
|
+
├── rules/ # Coding rules (per stack)
|
|
364
|
+
├── solutions/ # Solution archive
|
|
365
|
+
├── config.json # Project settings
|
|
366
|
+
└── constitution.md # Project principles
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
## Cursor IDE Support (v2.6.8)
|
|
370
|
+
|
|
371
|
+
VIBE automatically installs Cursor-compatible assets on `vibe init` and `vibe update`:
|
|
372
|
+
|
|
373
|
+
**Installed locations:**
|
|
374
|
+
|
|
375
|
+
| Asset | Path | Count |
|
|
376
|
+
| ----- | ---- | ----- |
|
|
377
|
+
| Subagents | `~/.cursor/agents/*.md` | 12 |
|
|
378
|
+
| Skills | `~/.cursor/skills/*/SKILL.md` | 7 |
|
|
379
|
+
| Rules Template | `~/.cursor/rules-template/*.mdc` | 5 |
|
|
380
|
+
|
|
381
|
+
**12 Review Subagents with optimized model mapping:**
|
|
382
|
+
|
|
383
|
+
| Agent Type | Model | Purpose |
|
|
384
|
+
| ---------- | ----- | ------- |
|
|
385
|
+
| security, architecture, data-integrity | `claude-4.5-sonnet-thinking` | Deep reasoning |
|
|
386
|
+
| typescript, python, react, rails | `gpt-5.2-codex` | Code understanding |
|
|
387
|
+
| performance, complexity, simplicity, test-coverage, git-history | `gemini-3-flash` | Fast pattern checks |
|
|
388
|
+
|
|
389
|
+
**7 Skills (VIBE workflow guides):**
|
|
390
|
+
|
|
391
|
+
- `vibe-spec` - SPEC creation
|
|
392
|
+
- `vibe-run` - Implementation execution
|
|
393
|
+
- `vibe-review` - Parallel code review
|
|
394
|
+
- `vibe-analyze` - Project analysis
|
|
395
|
+
- `vibe-verify` - Requirement verification
|
|
396
|
+
- `vibe-reason` - Systematic reasoning
|
|
397
|
+
- `vibe-ui` - UI preview utilities
|
|
398
|
+
|
|
399
|
+
**5 Rules Templates:**
|
|
400
|
+
|
|
401
|
+
- `typescript-standards.mdc` - Type safety, complexity limits
|
|
402
|
+
- `react-patterns.mdc` - Component patterns
|
|
403
|
+
- `code-quality.mdc` - General quality rules
|
|
404
|
+
- `security-checklist.mdc` - OWASP checklist
|
|
405
|
+
- `python-standards.mdc` - PEP8, type hints
|
|
406
|
+
|
|
407
|
+
**Usage in Cursor:**
|
|
408
|
+
|
|
409
|
+
```text
|
|
410
|
+
# Invoke subagent
|
|
411
|
+
"Use security-reviewer to check this code"
|
|
412
|
+
|
|
413
|
+
# Use skill workflow
|
|
414
|
+
"vibe spec login feature"
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
## Code Quality Standards
|
|
418
|
+
|
|
419
|
+
| Metric | Limit |
|
|
420
|
+
|--------|-------|
|
|
421
|
+
| Function length | 30 lines recommended, 50 allowed |
|
|
422
|
+
| Nesting depth | 3 levels max |
|
|
423
|
+
| Parameters | 5 max |
|
|
424
|
+
| Cyclomatic complexity | 10 max |
|
|
425
|
+
|
|
426
|
+
## Usage Example
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
User: /vibe.spec "login feature"
|
|
430
|
+
|
|
431
|
+
Claude: You're building a login feature! I have a few questions.
|
|
432
|
+
1. Auth method? (email/password, OAuth, Passkey)
|
|
433
|
+
2. Tech stack?
|
|
434
|
+
...
|
|
435
|
+
|
|
436
|
+
[Requirements confirmed via conversation]
|
|
437
|
+
[4 parallel research agents run]
|
|
438
|
+
|
|
439
|
+
✅ SPEC document created
|
|
440
|
+
📄 .claude/vibe/specs/login.md
|
|
441
|
+
📄 .claude/vibe/features/login.feature
|
|
442
|
+
|
|
443
|
+
Next: /vibe.run "login feature" ultrawork
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
## Context7 Plugin (Recommended)
|
|
447
|
+
|
|
448
|
+
Install context7 plugin for up-to-date library documentation:
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
/plugin install context7
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
**Benefits:**
|
|
455
|
+
|
|
456
|
+
- **Skill integration**: Auto-invokes context7 for library/API questions without prompting
|
|
457
|
+
- **Subagent isolation**: Docs queries run in separate context, preventing main context bloat
|
|
458
|
+
- **Knowledge cutoff solution**: Access latest docs for long coding sessions
|
|
459
|
+
|
|
460
|
+
**Usage:**
|
|
461
|
+
|
|
462
|
+
- Automatic: Ask library questions, vibe's skill triggers context7
|
|
463
|
+
- Manual: `/context7:docs <library> [query]`
|
|
464
|
+
|
|
465
|
+
## Requirements
|
|
466
|
+
|
|
467
|
+
- Node.js 18.0.0+
|
|
468
|
+
- Claude Code
|
|
469
|
+
|
|
470
|
+
## License
|
|
471
|
+
|
|
472
|
+
MIT - [GitHub](https://github.com/su-record/vibe)
|
|
473
|
+
|
|
474
|
+
## Vibe Setup (AI Coding)
|
|
475
|
+
|
|
476
|
+
This project uses [Vibe](https://github.com/su-record/vibe) AI coding framework.
|
|
477
|
+
|
|
478
|
+
### Collaborator Install
|
|
479
|
+
|
|
480
|
+
```bash
|
|
481
|
+
# Global install (recommended)
|
|
482
|
+
npm install -g @su-record/vibe
|
|
483
|
+
vibe update
|
|
484
|
+
|
|
485
|
+
# Or use vibe init to setup
|
|
486
|
+
vibe init
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
### Usage
|
|
490
|
+
|
|
491
|
+
Use slash commands in Claude Code:
|
|
492
|
+
- `/vibe.spec "feature"` - Create SPEC document
|
|
493
|
+
- `/vibe.run "feature"` - Execute implementation
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
⭐ If this helps your workflow, consider giving it a star!
|