@su-record/vibe 2.6.17 → 2.6.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/CLAUDE.md +153 -681
  2. package/LICENSE +21 -21
  3. package/README.md +236 -239
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/e2e-tester.md +266 -266
  11. package/agents/explorer-low.md +42 -42
  12. package/agents/explorer-medium.md +59 -59
  13. package/agents/explorer.md +48 -48
  14. package/agents/implementer-low.md +43 -43
  15. package/agents/implementer-medium.md +52 -52
  16. package/agents/implementer.md +54 -54
  17. package/agents/refactor-cleaner.md +143 -143
  18. package/agents/research/best-practices-agent.md +199 -199
  19. package/agents/research/codebase-patterns-agent.md +157 -157
  20. package/agents/research/framework-docs-agent.md +188 -188
  21. package/agents/research/security-advisory-agent.md +213 -213
  22. package/agents/review/architecture-reviewer.md +107 -107
  23. package/agents/review/complexity-reviewer.md +116 -116
  24. package/agents/review/data-integrity-reviewer.md +88 -88
  25. package/agents/review/git-history-reviewer.md +103 -103
  26. package/agents/review/performance-reviewer.md +86 -86
  27. package/agents/review/python-reviewer.md +150 -150
  28. package/agents/review/rails-reviewer.md +139 -139
  29. package/agents/review/react-reviewer.md +144 -144
  30. package/agents/review/security-reviewer.md +80 -80
  31. package/agents/review/simplicity-reviewer.md +140 -140
  32. package/agents/review/test-coverage-reviewer.md +116 -116
  33. package/agents/review/typescript-reviewer.md +127 -127
  34. package/agents/searcher.md +54 -54
  35. package/agents/simplifier.md +120 -120
  36. package/agents/tester.md +49 -49
  37. package/agents/ui-previewer.md +268 -268
  38. package/commands/vibe.analyze.md +356 -356
  39. package/commands/vibe.reason.md +329 -329
  40. package/commands/vibe.review.md +412 -412
  41. package/commands/vibe.run.md +1303 -1266
  42. package/commands/vibe.spec.md +1054 -1054
  43. package/commands/vibe.spec.review.md +372 -319
  44. package/commands/vibe.trace.md +161 -161
  45. package/commands/vibe.utils.md +376 -376
  46. package/commands/vibe.verify.md +375 -375
  47. package/dist/cli/collaborator.js +52 -52
  48. package/dist/cli/detect.js +32 -32
  49. package/dist/cli/hud.js +20 -20
  50. package/dist/cli/index.d.ts.map +1 -1
  51. package/dist/cli/index.js +120 -118
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/cli/llm.js +144 -144
  54. package/dist/cli/postinstall.d.ts +1 -6
  55. package/dist/cli/postinstall.d.ts.map +1 -1
  56. package/dist/cli/postinstall.js +877 -859
  57. package/dist/cli/postinstall.js.map +1 -1
  58. package/dist/cli/setup/ProjectSetup.d.ts +2 -2
  59. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  60. package/dist/cli/setup/ProjectSetup.js +51 -17
  61. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  62. package/dist/lib/DeepInit.js +24 -24
  63. package/dist/lib/IterationTracker.js +11 -11
  64. package/dist/lib/ProgressTracker.d.ts +5 -0
  65. package/dist/lib/ProgressTracker.d.ts.map +1 -1
  66. package/dist/lib/ProgressTracker.js +56 -0
  67. package/dist/lib/ProgressTracker.js.map +1 -1
  68. package/dist/lib/PythonParser.js +108 -108
  69. package/dist/lib/ReviewRace.js +96 -96
  70. package/dist/lib/SkillFrontmatter.js +28 -28
  71. package/dist/lib/SkillQualityGate.js +9 -9
  72. package/dist/lib/SkillRepository.js +159 -159
  73. package/dist/lib/UltraQA.js +77 -77
  74. package/dist/lib/gemini-api.js +5 -5
  75. package/dist/lib/gpt-api.js +4 -4
  76. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  77. package/dist/lib/memory/MemorySearch.js +20 -20
  78. package/dist/lib/memory/MemoryStorage.js +64 -64
  79. package/dist/orchestrator/AgentManager.js +12 -12
  80. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  81. package/dist/orchestrator/PhasePipeline.d.ts +2 -0
  82. package/dist/orchestrator/PhasePipeline.d.ts.map +1 -1
  83. package/dist/orchestrator/PhasePipeline.js +34 -0
  84. package/dist/orchestrator/PhasePipeline.js.map +1 -1
  85. package/dist/orchestrator/SmartRouter.js +11 -11
  86. package/dist/orchestrator/SwarmOrchestrator.test.js +16 -16
  87. package/dist/orchestrator/parallelResearch.js +24 -24
  88. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  89. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  90. package/dist/tools/spec/prdParser.test.js +171 -171
  91. package/dist/tools/spec/specGenerator.js +169 -169
  92. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  93. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  94. package/hooks/hooks.json +115 -222
  95. package/hooks/scripts/code-check.js +22 -22
  96. package/hooks/scripts/code-review.js +22 -22
  97. package/hooks/scripts/complexity.js +22 -22
  98. package/hooks/scripts/compound.js +23 -23
  99. package/hooks/scripts/context-save.js +33 -33
  100. package/hooks/scripts/gemini-ui-gen.js +281 -281
  101. package/hooks/scripts/generate-brand-assets.js +474 -474
  102. package/hooks/scripts/hud-multiline.js +262 -262
  103. package/hooks/scripts/hud-status.js +291 -291
  104. package/hooks/scripts/keyword-detector.js +214 -214
  105. package/hooks/scripts/llm-orchestrate.js +171 -171
  106. package/hooks/scripts/post-edit.js +97 -97
  107. package/hooks/scripts/post-tool-verify.js +210 -210
  108. package/hooks/scripts/pre-tool-guard.js +125 -125
  109. package/hooks/scripts/prompt-dispatcher.js +161 -0
  110. package/hooks/scripts/recall.js +22 -22
  111. package/hooks/scripts/session-start.js +30 -30
  112. package/hooks/scripts/skill-injector.js +191 -191
  113. package/hooks/scripts/utils.js +97 -97
  114. package/languages/csharp-unity.md +515 -515
  115. package/languages/gdscript-godot.md +470 -470
  116. package/languages/ruby-rails.md +489 -489
  117. package/languages/typescript-angular.md +433 -433
  118. package/languages/typescript-astro.md +416 -416
  119. package/languages/typescript-electron.md +406 -406
  120. package/languages/typescript-nestjs.md +524 -524
  121. package/languages/typescript-svelte.md +407 -407
  122. package/languages/typescript-tauri.md +365 -365
  123. package/package.json +84 -84
  124. package/skills/brand-assets.md +141 -141
  125. package/skills/commerce-patterns.md +361 -361
  126. package/skills/context7-usage.md +102 -102
  127. package/skills/e2e-commerce.md +304 -304
  128. package/skills/frontend-design.md +92 -92
  129. package/skills/git-worktree.md +181 -181
  130. package/skills/parallel-research.md +77 -77
  131. package/skills/priority-todos.md +239 -239
  132. package/skills/seo-checklist.md +244 -244
  133. package/skills/tool-fallback.md +190 -190
  134. package/skills/vibe-capabilities.md +161 -161
  135. package/vibe/constitution.md +227 -227
  136. package/vibe/rules/core/communication-guide.md +98 -98
  137. package/vibe/rules/core/development-philosophy.md +52 -52
  138. package/vibe/rules/core/quick-start.md +102 -102
  139. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  140. package/vibe/rules/quality/checklist.md +276 -276
  141. package/vibe/rules/quality/testing-strategy.md +440 -440
  142. package/vibe/rules/standards/anti-patterns.md +541 -541
  143. package/vibe/rules/standards/code-structure.md +291 -291
  144. package/vibe/rules/standards/complexity-metrics.md +313 -313
  145. package/vibe/rules/standards/naming-conventions.md +198 -198
  146. package/vibe/setup.sh +31 -31
  147. package/vibe/templates/constitution-template.md +252 -252
  148. package/vibe/templates/contract-backend-template.md +526 -526
  149. package/vibe/templates/contract-frontend-template.md +599 -599
  150. package/vibe/templates/feature-template.md +96 -96
  151. package/vibe/templates/spec-template.md +221 -221
  152. package/dist/cli/mcp.d.ts +0 -49
  153. package/dist/cli/mcp.d.ts.map +0 -1
  154. package/dist/cli/mcp.js +0 -169
  155. package/dist/cli/mcp.js.map +0 -1
  156. package/dist/lib/gemini-mcp.d.ts +0 -10
  157. package/dist/lib/gemini-mcp.d.ts.map +0 -1
  158. package/dist/lib/gemini-mcp.js +0 -353
  159. package/dist/lib/gemini-mcp.js.map +0 -1
  160. package/dist/lib/gpt-mcp.d.ts +0 -10
  161. package/dist/lib/gpt-mcp.d.ts.map +0 -1
  162. package/dist/lib/gpt-mcp.js +0 -352
  163. package/dist/lib/gpt-mcp.js.map +0 -1
  164. package/dist/tools/analytics/getUsageAnalytics.d.ts +0 -10
  165. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +0 -1
  166. package/dist/tools/analytics/getUsageAnalytics.js +0 -246
  167. package/dist/tools/analytics/getUsageAnalytics.js.map +0 -1
  168. package/dist/tools/analytics/index.d.ts +0 -5
  169. package/dist/tools/analytics/index.d.ts.map +0 -1
  170. package/dist/tools/analytics/index.js +0 -5
  171. package/dist/tools/analytics/index.js.map +0 -1
  172. package/dist/tools/convention/getCodingGuide.d.ts +0 -7
  173. package/dist/tools/convention/getCodingGuide.d.ts.map +0 -1
  174. package/dist/tools/convention/getCodingGuide.js +0 -69
  175. package/dist/tools/convention/getCodingGuide.js.map +0 -1
  176. package/dist/tools/planning/analyzeRequirements.d.ts +0 -9
  177. package/dist/tools/planning/analyzeRequirements.d.ts.map +0 -1
  178. package/dist/tools/planning/analyzeRequirements.js +0 -171
  179. package/dist/tools/planning/analyzeRequirements.js.map +0 -1
  180. package/dist/tools/planning/createUserStories.d.ts +0 -9
  181. package/dist/tools/planning/createUserStories.d.ts.map +0 -1
  182. package/dist/tools/planning/createUserStories.js +0 -124
  183. package/dist/tools/planning/createUserStories.js.map +0 -1
  184. package/dist/tools/planning/featureRoadmap.d.ts +0 -10
  185. package/dist/tools/planning/featureRoadmap.d.ts.map +0 -1
  186. package/dist/tools/planning/featureRoadmap.js +0 -207
  187. package/dist/tools/planning/featureRoadmap.js.map +0 -1
  188. package/dist/tools/planning/generatePrd.d.ts +0 -11
  189. package/dist/tools/planning/generatePrd.d.ts.map +0 -1
  190. package/dist/tools/planning/generatePrd.js +0 -161
  191. package/dist/tools/planning/generatePrd.js.map +0 -1
  192. package/dist/tools/planning/index.d.ts +0 -8
  193. package/dist/tools/planning/index.d.ts.map +0 -1
  194. package/dist/tools/planning/index.js +0 -8
  195. package/dist/tools/planning/index.js.map +0 -1
  196. package/dist/tools/prompt/analyzePrompt.d.ts +0 -7
  197. package/dist/tools/prompt/analyzePrompt.d.ts.map +0 -1
  198. package/dist/tools/prompt/analyzePrompt.js +0 -150
  199. package/dist/tools/prompt/analyzePrompt.js.map +0 -1
  200. package/dist/tools/prompt/enhancePrompt.d.ts +0 -8
  201. package/dist/tools/prompt/enhancePrompt.d.ts.map +0 -1
  202. package/dist/tools/prompt/enhancePrompt.js +0 -110
  203. package/dist/tools/prompt/enhancePrompt.js.map +0 -1
  204. package/dist/tools/prompt/enhancePromptGemini.d.ts +0 -8
  205. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +0 -1
  206. package/dist/tools/prompt/enhancePromptGemini.js +0 -332
  207. package/dist/tools/prompt/enhancePromptGemini.js.map +0 -1
  208. package/dist/tools/prompt/index.d.ts +0 -7
  209. package/dist/tools/prompt/index.d.ts.map +0 -1
  210. package/dist/tools/prompt/index.js +0 -7
  211. package/dist/tools/prompt/index.js.map +0 -1
  212. package/dist/tools/reasoning/applyReasoningFramework.d.ts +0 -8
  213. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +0 -1
  214. package/dist/tools/reasoning/applyReasoningFramework.js +0 -266
  215. package/dist/tools/reasoning/applyReasoningFramework.js.map +0 -1
  216. package/dist/tools/reasoning/index.d.ts +0 -5
  217. package/dist/tools/reasoning/index.d.ts.map +0 -1
  218. package/dist/tools/reasoning/index.js +0 -5
  219. package/dist/tools/reasoning/index.js.map +0 -1
  220. package/dist/tools/thinking/analyzeProblem.d.ts +0 -7
  221. package/dist/tools/thinking/analyzeProblem.d.ts.map +0 -1
  222. package/dist/tools/thinking/analyzeProblem.js +0 -55
  223. package/dist/tools/thinking/analyzeProblem.js.map +0 -1
  224. package/dist/tools/thinking/breakDownProblem.d.ts +0 -8
  225. package/dist/tools/thinking/breakDownProblem.d.ts.map +0 -1
  226. package/dist/tools/thinking/breakDownProblem.js +0 -145
  227. package/dist/tools/thinking/breakDownProblem.js.map +0 -1
  228. package/dist/tools/thinking/createThinkingChain.d.ts +0 -7
  229. package/dist/tools/thinking/createThinkingChain.d.ts.map +0 -1
  230. package/dist/tools/thinking/createThinkingChain.js +0 -44
  231. package/dist/tools/thinking/createThinkingChain.js.map +0 -1
  232. package/dist/tools/thinking/formatAsPlan.d.ts +0 -9
  233. package/dist/tools/thinking/formatAsPlan.d.ts.map +0 -1
  234. package/dist/tools/thinking/formatAsPlan.js +0 -78
  235. package/dist/tools/thinking/formatAsPlan.js.map +0 -1
  236. package/dist/tools/thinking/index.d.ts +0 -10
  237. package/dist/tools/thinking/index.d.ts.map +0 -1
  238. package/dist/tools/thinking/index.js +0 -10
  239. package/dist/tools/thinking/index.js.map +0 -1
  240. package/dist/tools/thinking/stepByStepAnalysis.d.ts +0 -8
  241. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +0 -1
  242. package/dist/tools/thinking/stepByStepAnalysis.js +0 -63
  243. package/dist/tools/thinking/stepByStepAnalysis.js.map +0 -1
  244. package/dist/tools/thinking/thinkAloudProcess.d.ts +0 -8
  245. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +0 -1
  246. package/dist/tools/thinking/thinkAloudProcess.js +0 -80
  247. package/dist/tools/thinking/thinkAloudProcess.js.map +0 -1
@@ -265,177 +265,177 @@ export class SkillRepository {
265
265
  export const DEFAULT_SKILLS = [
266
266
  {
267
267
  id: 'multi-llm-orchestration',
268
- content: `---
269
- name: multi-llm-orchestration
270
- description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
271
- triggers: [gpt, gemini, multi-llm, research, parallel research]
272
- priority: 80
273
- ---
274
- # Multi-LLM Orchestration
275
-
276
- Use multiple LLMs for comprehensive research and validation.
277
-
278
- ## Usage
279
-
280
- \`\`\`bash
281
- # Via Bash hook (automatic in /vibe.spec)
282
- node hooks/scripts/llm-orchestrate.js gpt "your prompt"
283
- node hooks/scripts/llm-orchestrate.js gemini "your prompt"
284
- \`\`\`
285
-
286
- ## Setup
287
-
288
- \`\`\`bash
289
- vibe gpt auth # Configure GPT API key
290
- vibe gemini auth # Configure Gemini OAuth/API key
291
- vibe status # Check current configuration
292
- \`\`\`
293
-
294
- ## Best Practices
295
-
296
- 1. Use GPT for best practices and code review
297
- 2. Use Gemini for documentation and security analysis
298
- 3. Combine results for comprehensive coverage
268
+ content: `---
269
+ name: multi-llm-orchestration
270
+ description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
271
+ triggers: [gpt, gemini, multi-llm, research, parallel research]
272
+ priority: 80
273
+ ---
274
+ # Multi-LLM Orchestration
275
+
276
+ Use multiple LLMs for comprehensive research and validation.
277
+
278
+ ## Usage
279
+
280
+ \`\`\`bash
281
+ # Via Bash hook (automatic in /vibe.spec)
282
+ node hooks/scripts/llm-orchestrate.js gpt "your prompt"
283
+ node hooks/scripts/llm-orchestrate.js gemini "your prompt"
284
+ \`\`\`
285
+
286
+ ## Setup
287
+
288
+ \`\`\`bash
289
+ vibe gpt auth # Configure GPT API key
290
+ vibe gemini auth # Configure Gemini OAuth/API key
291
+ vibe status # Check current configuration
292
+ \`\`\`
293
+
294
+ ## Best Practices
295
+
296
+ 1. Use GPT for best practices and code review
297
+ 2. Use Gemini for documentation and security analysis
298
+ 3. Combine results for comprehensive coverage
299
299
  `,
300
300
  },
301
301
  {
302
302
  id: 'error-recovery',
303
- content: `---
304
- name: error-recovery
305
- description: "Error recovery patterns and retry strategies"
306
- triggers: [error, fail, retry, recover, fix]
307
- priority: 70
308
- ---
309
- # Error Recovery Patterns
310
-
311
- ## Common Error Types
312
-
313
- ### Build Errors
314
- - Check TypeScript compilation errors
315
- - Verify dependency versions
316
- - Run \`npm ci\` to clean install
317
-
318
- ### Test Failures
319
- - Run failed tests in isolation
320
- - Check test fixtures/mocks
321
- - Verify async timing issues
322
-
323
- ### Runtime Errors
324
- - Check stack trace carefully
325
- - Verify environment variables
326
- - Check external service connectivity
327
-
328
- ## Retry Strategy
329
-
330
- 1. First retry: Same action
331
- 2. Second retry: Clean state (cache clear)
332
- 3. Third retry: Alternative approach
333
- 4. Max retries exceeded: Escalate to user
334
-
335
- ## Auto-Recovery Commands
336
-
337
- \`\`\`bash
338
- # Clean build
339
- rm -rf node_modules dist && npm ci && npm run build
340
-
341
- # Reset git state (careful!)
342
- git stash && git checkout .
343
-
344
- # Clear caches
345
- npm cache clean --force
346
- \`\`\`
303
+ content: `---
304
+ name: error-recovery
305
+ description: "Error recovery patterns and retry strategies"
306
+ triggers: [error, fail, retry, recover, fix]
307
+ priority: 70
308
+ ---
309
+ # Error Recovery Patterns
310
+
311
+ ## Common Error Types
312
+
313
+ ### Build Errors
314
+ - Check TypeScript compilation errors
315
+ - Verify dependency versions
316
+ - Run \`npm ci\` to clean install
317
+
318
+ ### Test Failures
319
+ - Run failed tests in isolation
320
+ - Check test fixtures/mocks
321
+ - Verify async timing issues
322
+
323
+ ### Runtime Errors
324
+ - Check stack trace carefully
325
+ - Verify environment variables
326
+ - Check external service connectivity
327
+
328
+ ## Retry Strategy
329
+
330
+ 1. First retry: Same action
331
+ 2. Second retry: Clean state (cache clear)
332
+ 3. Third retry: Alternative approach
333
+ 4. Max retries exceeded: Escalate to user
334
+
335
+ ## Auto-Recovery Commands
336
+
337
+ \`\`\`bash
338
+ # Clean build
339
+ rm -rf node_modules dist && npm ci && npm run build
340
+
341
+ # Reset git state (careful!)
342
+ git stash && git checkout .
343
+
344
+ # Clear caches
345
+ npm cache clean --force
346
+ \`\`\`
347
347
  `,
348
348
  },
349
349
  {
350
350
  id: 'code-quality-check',
351
- content: `---
352
- name: code-quality-check
353
- description: "Code quality validation using vibe tools"
354
- triggers: [quality, lint, complexity, review]
355
- priority: 60
356
- ---
357
- # Code Quality Check
358
-
359
- ## Using Vibe Tools
360
-
361
- \`\`\`bash
362
- # Analyze complexity
363
- node -e "import('@su-record/vibe/tools').then(t =>
364
- t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
365
- .then(r => console.log(r.content[0].text))
366
- )"
367
-
368
- # Validate quality
369
- node -e "import('@su-record/vibe/tools').then(t =>
370
- t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
371
- .then(r => console.log(r.content[0].text))
372
- )"
373
- \`\`\`
374
-
375
- ## Quality Metrics
376
-
377
- | Metric | Good | Warning | Critical |
378
- |--------|------|---------|----------|
379
- | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
380
- | Function Length | ≤30 | 31-50 | >50 |
381
- | Nesting Depth | ≤3 | 4 | >4 |
382
-
383
- ## Common Issues
384
-
385
- 1. **High Complexity**: Extract helper functions
386
- 2. **Long Functions**: Split by responsibility
387
- 3. **Deep Nesting**: Use early returns
388
- 4. **Tight Coupling**: Apply dependency injection
351
+ content: `---
352
+ name: code-quality-check
353
+ description: "Code quality validation using vibe tools"
354
+ triggers: [quality, lint, complexity, review]
355
+ priority: 60
356
+ ---
357
+ # Code Quality Check
358
+
359
+ ## Using Vibe Tools
360
+
361
+ \`\`\`bash
362
+ # Analyze complexity
363
+ node -e "import('@su-record/vibe/tools').then(t =>
364
+ t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
365
+ .then(r => console.log(r.content[0].text))
366
+ )"
367
+
368
+ # Validate quality
369
+ node -e "import('@su-record/vibe/tools').then(t =>
370
+ t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
371
+ .then(r => console.log(r.content[0].text))
372
+ )"
373
+ \`\`\`
374
+
375
+ ## Quality Metrics
376
+
377
+ | Metric | Good | Warning | Critical |
378
+ |--------|------|---------|----------|
379
+ | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
380
+ | Function Length | ≤30 | 31-50 | >50 |
381
+ | Nesting Depth | ≤3 | 4 | >4 |
382
+
383
+ ## Common Issues
384
+
385
+ 1. **High Complexity**: Extract helper functions
386
+ 2. **Long Functions**: Split by responsibility
387
+ 3. **Deep Nesting**: Use early returns
388
+ 4. **Tight Coupling**: Apply dependency injection
389
389
  `,
390
390
  },
391
391
  {
392
392
  id: 'session-management',
393
- content: `---
394
- name: session-management
395
- description: "Context and session management across conversations"
396
- triggers: [session, context, memory, save, restore, continue]
397
- priority: 75
398
- ---
399
- # Session Management
400
-
401
- ## Starting a Session
402
-
403
- \`\`\`bash
404
- # Auto-restore previous context
405
- node -e "import('@su-record/vibe/tools').then(t =>
406
- t.startSession({projectPath: process.cwd()})
407
- .then(r => console.log(r.content[0].text))
408
- )"
409
- \`\`\`
410
-
411
- ## Saving Context
412
-
413
- \`\`\`bash
414
- # Save important decisions
415
- node -e "import('@su-record/vibe/tools').then(t =>
416
- t.saveMemory({
417
- key: 'decision-auth-method',
418
- value: 'Using JWT with refresh tokens for auth',
419
- category: 'architecture',
420
- projectPath: process.cwd()
421
- }).then(r => console.log(r.content[0].text))
422
- )"
423
- \`\`\`
424
-
425
- ## Context Management
426
-
427
- At 70%+ context usage:
428
- 1. Use \`saveMemory\` for important decisions
429
- 2. Start new session with \`/new\`
430
- 3. Previous context auto-restores
431
-
432
- ## Slash Command
433
-
434
- \`\`\`
435
- /vibe.utils --continue
436
- \`\`\`
437
-
438
- Restores previous session context automatically.
393
+ content: `---
394
+ name: session-management
395
+ description: "Context and session management across conversations"
396
+ triggers: [session, context, memory, save, restore, continue]
397
+ priority: 75
398
+ ---
399
+ # Session Management
400
+
401
+ ## Starting a Session
402
+
403
+ \`\`\`bash
404
+ # Auto-restore previous context
405
+ node -e "import('@su-record/vibe/tools').then(t =>
406
+ t.startSession({projectPath: process.cwd()})
407
+ .then(r => console.log(r.content[0].text))
408
+ )"
409
+ \`\`\`
410
+
411
+ ## Saving Context
412
+
413
+ \`\`\`bash
414
+ # Save important decisions
415
+ node -e "import('@su-record/vibe/tools').then(t =>
416
+ t.saveMemory({
417
+ key: 'decision-auth-method',
418
+ value: 'Using JWT with refresh tokens for auth',
419
+ category: 'architecture',
420
+ projectPath: process.cwd()
421
+ }).then(r => console.log(r.content[0].text))
422
+ )"
423
+ \`\`\`
424
+
425
+ ## Context Management
426
+
427
+ At 70%+ context usage:
428
+ 1. Use \`saveMemory\` for important decisions
429
+ 2. Start new session with \`/new\`
430
+ 3. Previous context auto-restores
431
+
432
+ ## Slash Command
433
+
434
+ \`\`\`
435
+ /vibe.utils --continue
436
+ \`\`\`
437
+
438
+ Restores previous session context automatically.
439
439
  `,
440
440
  },
441
441
  ];
@@ -91,60 +91,60 @@ export function shouldContinue(session) {
91
91
  * Generate architect diagnosis prompt
92
92
  */
93
93
  export function generateDiagnosisPrompt(result) {
94
- return `
95
- ## QA Failure Diagnosis Required
96
-
97
- **Cycle**: ${result.cycle}
98
- **Goal**: ${result.goal}
99
- **Command**: ${result.command}
100
- **Exit Code**: ${result.exitCode}
101
-
102
- ### Output:
103
- \`\`\`
104
- ${result.output.slice(0, 2000)}
105
- \`\`\`
106
-
107
- ### Task:
108
- 1. Identify the root cause of this failure
109
- 2. Determine if it's a code issue, config issue, or environment issue
110
- 3. Provide a specific fix recommendation
111
-
112
- Return JSON:
113
- \`\`\`json
114
- {
115
- "rootCause": "description of root cause",
116
- "category": "code|config|environment|dependency",
117
- "fix": "specific fix to apply",
118
- "files": ["list", "of", "files", "to", "modify"],
119
- "confidence": "high|medium|low"
120
- }
121
- \`\`\`
94
+ return `
95
+ ## QA Failure Diagnosis Required
96
+
97
+ **Cycle**: ${result.cycle}
98
+ **Goal**: ${result.goal}
99
+ **Command**: ${result.command}
100
+ **Exit Code**: ${result.exitCode}
101
+
102
+ ### Output:
103
+ \`\`\`
104
+ ${result.output.slice(0, 2000)}
105
+ \`\`\`
106
+
107
+ ### Task:
108
+ 1. Identify the root cause of this failure
109
+ 2. Determine if it's a code issue, config issue, or environment issue
110
+ 3. Provide a specific fix recommendation
111
+
112
+ Return JSON:
113
+ \`\`\`json
114
+ {
115
+ "rootCause": "description of root cause",
116
+ "category": "code|config|environment|dependency",
117
+ "fix": "specific fix to apply",
118
+ "files": ["list", "of", "files", "to", "modify"],
119
+ "confidence": "high|medium|low"
120
+ }
121
+ \`\`\`
122
122
  `.trim();
123
123
  }
124
124
  /**
125
125
  * Generate executor fix prompt
126
126
  */
127
127
  export function generateFixPrompt(diagnosis, result) {
128
- return `
129
- ## Apply Fix for QA Failure
130
-
131
- **Previous Diagnosis**:
132
- ${diagnosis}
133
-
134
- **Failed Command**: ${result.command}
135
- **Cycle**: ${result.cycle}
136
-
137
- ### Task:
138
- Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
139
-
140
- ### Rules:
141
- 1. Only modify files mentioned in the diagnosis
142
- 2. Make the smallest change that fixes the issue
143
- 3. Do not refactor or improve unrelated code
144
- 4. Run the verification command after fixing
145
-
146
- ### After fixing, run:
147
- \`${result.command}\`
128
+ return `
129
+ ## Apply Fix for QA Failure
130
+
131
+ **Previous Diagnosis**:
132
+ ${diagnosis}
133
+
134
+ **Failed Command**: ${result.command}
135
+ **Cycle**: ${result.cycle}
136
+
137
+ ### Task:
138
+ Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
139
+
140
+ ### Rules:
141
+ 1. Only modify files mentioned in the diagnosis
142
+ 2. Make the smallest change that fixes the issue
143
+ 3. Do not refactor or improve unrelated code
144
+ 4. Run the verification command after fixing
145
+
146
+ ### After fixing, run:
147
+ \`${result.command}\`
148
148
  `.trim();
149
149
  }
150
150
  /**
@@ -198,35 +198,35 @@ export function parseQAGoals(input) {
198
198
  * Create UltraQA workflow description
199
199
  */
200
200
  export function describeUltraQAWorkflow() {
201
- return `
202
- ## UltraQA Workflow
203
-
204
- 5-cycle autonomous QA loop:
205
-
206
- \`\`\`
207
- ┌─────────────────────────────────────────────┐
208
- │ ULTRAQA CYCLE │
209
- │ │
210
- │ 1. Run verification (test/build/lint) │
211
- │ ↓ │
212
- │ 2. Check result │
213
- │ ↓ │
214
- │ ┌───┴───┐ │
215
- │ PASS FAIL │
216
- │ ↓ ↓ │
217
- │ DONE 3. Architect diagnosis │
218
- │ ↓ │
219
- │ 4. Executor fix │
220
- │ ↓ │
221
- │ 5. Repeat (max 5 cycles) │
222
- └─────────────────────────────────────────────┘
223
- \`\`\`
224
-
225
- Exit conditions:
226
- - ✅ All goals pass
227
- - ❌ Max 5 cycles reached
228
- - ❌ Same failure 3 times
229
- - ❌ Environment error
201
+ return `
202
+ ## UltraQA Workflow
203
+
204
+ 5-cycle autonomous QA loop:
205
+
206
+ \`\`\`
207
+ ┌─────────────────────────────────────────────┐
208
+ │ ULTRAQA CYCLE │
209
+ │ │
210
+ │ 1. Run verification (test/build/lint) │
211
+ │ ↓ │
212
+ │ 2. Check result │
213
+ │ ↓ │
214
+ │ ┌───┴───┐ │
215
+ │ PASS FAIL │
216
+ │ ↓ ↓ │
217
+ │ DONE 3. Architect diagnosis │
218
+ │ ↓ │
219
+ │ 4. Executor fix │
220
+ │ ↓ │
221
+ │ 5. Repeat (max 5 cycles) │
222
+ └─────────────────────────────────────────────┘
223
+ \`\`\`
224
+
225
+ Exit conditions:
226
+ - ✅ All goals pass
227
+ - ❌ Max 5 cycles reached
228
+ - ❌ Same failure 3 times
229
+ - ❌ Environment error
230
230
  `.trim();
231
231
  }
232
232
  //# sourceMappingURL=UltraQA.js.map
@@ -433,35 +433,35 @@ export async function vibeGeminiOrchestrate(prompt, systemPrompt, options = {})
433
433
  * Vibe Spec 파싱 (Vibe Spec → 실행 계획)
434
434
  */
435
435
  export async function vibeGeminiParseSpec(spec) {
436
- return vibeGeminiOrchestrate(spec, `You are a Vibe Spec parser. Parse the given specification and output a structured execution plan.
436
+ return vibeGeminiOrchestrate(spec, `You are a Vibe Spec parser. Parse the given specification and output a structured execution plan.
437
437
  Output format: { "phases": [...], "files": [...], "dependencies": [...] }`);
438
438
  }
439
439
  /**
440
440
  * Vibe 실행 계획 수립 (Task → Steps)
441
441
  */
442
442
  export async function vibeGeminiPlanExecution(task, context) {
443
- return vibeGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Vibe execution planner. Given a task and context, create a step-by-step execution plan.
443
+ return vibeGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Vibe execution planner. Given a task and context, create a step-by-step execution plan.
444
444
  Output format: { "steps": [{ "id": 1, "action": "...", "target": "...", "expected": "..." }], "estimatedComplexity": "low|medium|high" }`);
445
445
  }
446
446
  /**
447
447
  * Vibe 코드 분석 (빠른 구조 분석)
448
448
  */
449
449
  export async function vibeGeminiAnalyze(code, question) {
450
- return vibeGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
450
+ return vibeGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
451
451
  Output format: { "answer": "...", "confidence": 0.0-1.0, "relatedSymbols": [...] }`);
452
452
  }
453
453
  /**
454
454
  * Vibe 다음 액션 결정 (상태 기반)
455
455
  */
456
456
  export async function vibeGeminiDecideNextAction(currentState, availableActions, goal) {
457
- return vibeGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
457
+ return vibeGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
458
458
  Output format: { "selectedAction": "...", "reason": "...", "parameters": {} }`);
459
459
  }
460
460
  /**
461
461
  * Vibe UI/UX 분석 (검색 없이 내부 지식으로)
462
462
  */
463
463
  export async function vibeGeminiAnalyzeUX(description) {
464
- return vibeGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
464
+ return vibeGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
465
465
  Output format: { "issues": [...], "suggestions": [...], "accessibility": { "score": 0-100, "concerns": [...] } }`, { jsonMode: true });
466
466
  }
467
467
  //# sourceMappingURL=gemini-api.js.map
@@ -529,28 +529,28 @@ export async function vibeGptOrchestrate(prompt, systemPrompt, options = {}) {
529
529
  * Vibe Spec 파싱 (Vibe Spec → 실행 계획)
530
530
  */
531
531
  export async function vibeGptParseSpec(spec) {
532
- return vibeGptOrchestrate(spec, `You are a Vibe Spec parser. Parse the given specification and output a structured execution plan.
532
+ return vibeGptOrchestrate(spec, `You are a Vibe Spec parser. Parse the given specification and output a structured execution plan.
533
533
  Output format: { "phases": [...], "files": [...], "dependencies": [...] }`);
534
534
  }
535
535
  /**
536
536
  * Vibe 실행 계획 수립 (Task → Steps)
537
537
  */
538
538
  export async function vibeGptPlanExecution(task, context) {
539
- return vibeGptOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Vibe execution planner. Given a task and context, create a step-by-step execution plan.
539
+ return vibeGptOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Vibe execution planner. Given a task and context, create a step-by-step execution plan.
540
540
  Output format: { "steps": [{ "id": 1, "action": "...", "target": "...", "expected": "..." }], "estimatedComplexity": "low|medium|high" }`);
541
541
  }
542
542
  /**
543
543
  * Vibe 코드 분석 (빠른 구조 분석)
544
544
  */
545
545
  export async function vibeGptAnalyze(code, question) {
546
- return vibeGptOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
546
+ return vibeGptOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
547
547
  Output format: { "answer": "...", "confidence": 0.0-1.0, "relatedSymbols": [...] }`);
548
548
  }
549
549
  /**
550
550
  * Vibe 다음 액션 결정 (상태 기반)
551
551
  */
552
552
  export async function vibeGptDecideNextAction(currentState, availableActions, goal) {
553
- return vibeGptOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
553
+ return vibeGptOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
554
554
  Output format: { "selectedAction": "...", "reason": "...", "parameters": {} }`);
555
555
  }
556
556
  //# sourceMappingURL=gpt-api.js.map
@@ -14,10 +14,10 @@ export class KnowledgeGraph {
14
14
  const timestamp = new Date().toISOString();
15
15
  const metadataJson = metadata ? JSON.stringify(metadata) : null;
16
16
  try {
17
- const stmt = this.db.prepare(`
18
- INSERT OR REPLACE INTO memory_relations
19
- (sourceKey, targetKey, relationType, strength, metadata, timestamp)
20
- VALUES (?, ?, ?, ?, ?, ?)
17
+ const stmt = this.db.prepare(`
18
+ INSERT OR REPLACE INTO memory_relations
19
+ (sourceKey, targetKey, relationType, strength, metadata, timestamp)
20
+ VALUES (?, ?, ?, ?, ?, ?)
21
21
  `);
22
22
  stmt.run(sourceKey, targetKey, relationType, strength, metadataJson, timestamp);
23
23
  return true;
@@ -32,9 +32,9 @@ export class MemorySearch {
32
32
  }
33
33
  }
34
34
  searchKeyword(query, limit, category) {
35
- let sql = `
36
- SELECT * FROM memories
37
- WHERE (key LIKE ? OR value LIKE ?)
35
+ let sql = `
36
+ SELECT * FROM memories
37
+ WHERE (key LIKE ? OR value LIKE ?)
38
38
  `;
39
39
  const params = [`%${query}%`, `%${query}%`];
40
40
  if (category) {
@@ -46,31 +46,31 @@ export class MemorySearch {
46
46
  return this.db.prepare(sql).all(...params);
47
47
  }
48
48
  searchTemporal(query, limit) {
49
- const sql = `
50
- SELECT * FROM memories
51
- WHERE key LIKE ? OR value LIKE ?
52
- ORDER BY timestamp DESC
53
- LIMIT ?
49
+ const sql = `
50
+ SELECT * FROM memories
51
+ WHERE key LIKE ? OR value LIKE ?
52
+ ORDER BY timestamp DESC
53
+ LIMIT ?
54
54
  `;
55
55
  return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
56
56
  }
57
57
  searchByPriority(query, limit) {
58
- const sql = `
59
- SELECT * FROM memories
60
- WHERE key LIKE ? OR value LIKE ?
61
- ORDER BY priority DESC, lastAccessed DESC
62
- LIMIT ?
58
+ const sql = `
59
+ SELECT * FROM memories
60
+ WHERE key LIKE ? OR value LIKE ?
61
+ ORDER BY priority DESC, lastAccessed DESC
62
+ LIMIT ?
63
63
  `;
64
64
  return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
65
65
  }
66
66
  searchContextAware(query, limit, category) {
67
- let sql = `
68
- SELECT *,
69
- (CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
70
- CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
71
- priority * 0.5) as relevance_score
72
- FROM memories
73
- WHERE key LIKE ? OR value LIKE ?
67
+ let sql = `
68
+ SELECT *,
69
+ (CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
70
+ CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
71
+ priority * 0.5) as relevance_score
72
+ FROM memories
73
+ WHERE key LIKE ? OR value LIKE ?
74
74
  `;
75
75
  const params = [`%${query}%`, `%${query}%`, `%${query}%`, `%${query}%`];
76
76
  if (category) {