@su-record/vibe 2.5.14 → 2.5.17

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 (231) hide show
  1. package/CLAUDE.md +96 -267
  2. package/LICENSE +21 -21
  3. package/README.md +262 -262
  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 -189
  19. package/agents/research/codebase-patterns-agent.md +157 -147
  20. package/agents/research/framework-docs-agent.md +188 -178
  21. package/agents/research/security-advisory-agent.md +213 -203
  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 +129 -129
  38. package/commands/vibe.analyze.md +356 -356
  39. package/commands/vibe.reason.md +329 -329
  40. package/commands/vibe.review.md +326 -326
  41. package/commands/vibe.run.md +1117 -1117
  42. package/commands/vibe.spec.md +1066 -1058
  43. package/commands/vibe.utils.md +353 -353
  44. package/commands/vibe.verify.md +375 -375
  45. package/dist/cli/collaborator.js +52 -52
  46. package/dist/cli/detect.js +32 -32
  47. package/dist/cli/index.d.ts.map +1 -1
  48. package/dist/cli/index.js +109 -108
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/llm.js +144 -144
  51. package/dist/lib/DeepInit.js +24 -24
  52. package/dist/lib/FrameworkDetector.d.ts +56 -0
  53. package/dist/lib/FrameworkDetector.d.ts.map +1 -0
  54. package/dist/lib/FrameworkDetector.js +287 -0
  55. package/dist/lib/FrameworkDetector.js.map +1 -0
  56. package/dist/lib/IterationTracker.js +11 -11
  57. package/dist/lib/PythonParser.js +108 -108
  58. package/dist/lib/RuleBuildSystem.d.ts +117 -0
  59. package/dist/lib/RuleBuildSystem.d.ts.map +1 -0
  60. package/dist/lib/RuleBuildSystem.js +402 -0
  61. package/dist/lib/RuleBuildSystem.js.map +1 -0
  62. package/dist/lib/SkillFrontmatter.js +28 -28
  63. package/dist/lib/SkillQualityGate.js +9 -9
  64. package/dist/lib/SkillRepository.js +159 -159
  65. package/dist/lib/UltraQA.js +77 -77
  66. package/dist/lib/gpt-api.js +4 -4
  67. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  68. package/dist/lib/memory/MemorySearch.js +20 -20
  69. package/dist/lib/memory/MemoryStorage.js +64 -64
  70. package/dist/orchestrator/AgentManager.js +12 -12
  71. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  72. package/dist/orchestrator/SmartRouter.js +11 -11
  73. package/dist/orchestrator/parallelResearch.js +24 -24
  74. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  75. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  76. package/dist/tools/index.d.ts +4 -0
  77. package/dist/tools/index.d.ts.map +1 -1
  78. package/dist/tools/index.js +4 -0
  79. package/dist/tools/index.js.map +1 -1
  80. package/hooks/hooks.json +222 -222
  81. package/hooks/scripts/code-check.js +22 -22
  82. package/hooks/scripts/code-review.js +22 -22
  83. package/hooks/scripts/complexity.js +22 -22
  84. package/hooks/scripts/compound.js +23 -23
  85. package/hooks/scripts/context-save.js +33 -33
  86. package/hooks/scripts/generate-brand-assets.js +472 -472
  87. package/hooks/scripts/hud-multiline.js +262 -262
  88. package/hooks/scripts/hud-status.js +291 -291
  89. package/hooks/scripts/keyword-detector.js +214 -214
  90. package/hooks/scripts/llm-orchestrate.js +171 -171
  91. package/hooks/scripts/post-edit.js +97 -97
  92. package/hooks/scripts/post-tool-verify.js +210 -210
  93. package/hooks/scripts/pre-tool-guard.js +125 -125
  94. package/hooks/scripts/recall.js +22 -22
  95. package/hooks/scripts/session-start.js +30 -30
  96. package/hooks/scripts/skill-injector.js +191 -191
  97. package/hooks/scripts/utils.js +97 -97
  98. package/languages/csharp-unity.md +515 -515
  99. package/languages/gdscript-godot.md +470 -470
  100. package/languages/ruby-rails.md +489 -489
  101. package/languages/typescript-angular.md +433 -433
  102. package/languages/typescript-astro.md +416 -416
  103. package/languages/typescript-electron.md +406 -406
  104. package/languages/typescript-nestjs.md +524 -524
  105. package/languages/typescript-svelte.md +407 -407
  106. package/languages/typescript-tauri.md +365 -365
  107. package/package.json +83 -83
  108. package/skills/brand-assets.md +141 -141
  109. package/skills/commerce-patterns.md +361 -361
  110. package/skills/context7-usage.md +102 -102
  111. package/skills/e2e-commerce.md +304 -304
  112. package/skills/frontend-design.md +92 -92
  113. package/skills/git-worktree.md +181 -181
  114. package/skills/parallel-research.md +77 -77
  115. package/skills/priority-todos.md +239 -239
  116. package/skills/seo-checklist.md +244 -244
  117. package/skills/tool-fallback.md +190 -190
  118. package/skills/vibe-capabilities.md +161 -161
  119. package/vibe/constitution.md +227 -227
  120. package/vibe/rules/core/communication-guide.md +98 -98
  121. package/vibe/rules/core/development-philosophy.md +52 -52
  122. package/vibe/rules/core/quick-start.md +102 -102
  123. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  124. package/vibe/rules/quality/checklist.md +276 -276
  125. package/vibe/rules/quality/testing-strategy.md +440 -440
  126. package/vibe/rules/standards/anti-patterns.md +541 -541
  127. package/vibe/rules/standards/code-structure.md +291 -291
  128. package/vibe/rules/standards/complexity-metrics.md +313 -313
  129. package/vibe/rules/standards/naming-conventions.md +198 -198
  130. package/vibe/setup.sh +31 -31
  131. package/vibe/templates/constitution-template.md +252 -252
  132. package/vibe/templates/contract-backend-template.md +526 -526
  133. package/vibe/templates/contract-frontend-template.md +599 -599
  134. package/vibe/templates/feature-template.md +96 -96
  135. package/vibe/templates/spec-template.md +221 -221
  136. package/dist/cli/mcp.d.ts +0 -49
  137. package/dist/cli/mcp.d.ts.map +0 -1
  138. package/dist/cli/mcp.js +0 -169
  139. package/dist/cli/mcp.js.map +0 -1
  140. package/dist/lib/gemini-mcp.d.ts +0 -10
  141. package/dist/lib/gemini-mcp.d.ts.map +0 -1
  142. package/dist/lib/gemini-mcp.js +0 -353
  143. package/dist/lib/gemini-mcp.js.map +0 -1
  144. package/dist/lib/gpt-mcp.d.ts +0 -10
  145. package/dist/lib/gpt-mcp.d.ts.map +0 -1
  146. package/dist/lib/gpt-mcp.js +0 -352
  147. package/dist/lib/gpt-mcp.js.map +0 -1
  148. package/dist/tools/analytics/getUsageAnalytics.d.ts +0 -10
  149. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +0 -1
  150. package/dist/tools/analytics/getUsageAnalytics.js +0 -246
  151. package/dist/tools/analytics/getUsageAnalytics.js.map +0 -1
  152. package/dist/tools/analytics/index.d.ts +0 -5
  153. package/dist/tools/analytics/index.d.ts.map +0 -1
  154. package/dist/tools/analytics/index.js +0 -5
  155. package/dist/tools/analytics/index.js.map +0 -1
  156. package/dist/tools/convention/getCodingGuide.d.ts +0 -7
  157. package/dist/tools/convention/getCodingGuide.d.ts.map +0 -1
  158. package/dist/tools/convention/getCodingGuide.js +0 -69
  159. package/dist/tools/convention/getCodingGuide.js.map +0 -1
  160. package/dist/tools/planning/analyzeRequirements.d.ts +0 -9
  161. package/dist/tools/planning/analyzeRequirements.d.ts.map +0 -1
  162. package/dist/tools/planning/analyzeRequirements.js +0 -171
  163. package/dist/tools/planning/analyzeRequirements.js.map +0 -1
  164. package/dist/tools/planning/createUserStories.d.ts +0 -9
  165. package/dist/tools/planning/createUserStories.d.ts.map +0 -1
  166. package/dist/tools/planning/createUserStories.js +0 -124
  167. package/dist/tools/planning/createUserStories.js.map +0 -1
  168. package/dist/tools/planning/featureRoadmap.d.ts +0 -10
  169. package/dist/tools/planning/featureRoadmap.d.ts.map +0 -1
  170. package/dist/tools/planning/featureRoadmap.js +0 -207
  171. package/dist/tools/planning/featureRoadmap.js.map +0 -1
  172. package/dist/tools/planning/generatePrd.d.ts +0 -11
  173. package/dist/tools/planning/generatePrd.d.ts.map +0 -1
  174. package/dist/tools/planning/generatePrd.js +0 -161
  175. package/dist/tools/planning/generatePrd.js.map +0 -1
  176. package/dist/tools/planning/index.d.ts +0 -8
  177. package/dist/tools/planning/index.d.ts.map +0 -1
  178. package/dist/tools/planning/index.js +0 -8
  179. package/dist/tools/planning/index.js.map +0 -1
  180. package/dist/tools/prompt/analyzePrompt.d.ts +0 -7
  181. package/dist/tools/prompt/analyzePrompt.d.ts.map +0 -1
  182. package/dist/tools/prompt/analyzePrompt.js +0 -150
  183. package/dist/tools/prompt/analyzePrompt.js.map +0 -1
  184. package/dist/tools/prompt/enhancePrompt.d.ts +0 -8
  185. package/dist/tools/prompt/enhancePrompt.d.ts.map +0 -1
  186. package/dist/tools/prompt/enhancePrompt.js +0 -110
  187. package/dist/tools/prompt/enhancePrompt.js.map +0 -1
  188. package/dist/tools/prompt/enhancePromptGemini.d.ts +0 -8
  189. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +0 -1
  190. package/dist/tools/prompt/enhancePromptGemini.js +0 -332
  191. package/dist/tools/prompt/enhancePromptGemini.js.map +0 -1
  192. package/dist/tools/prompt/index.d.ts +0 -7
  193. package/dist/tools/prompt/index.d.ts.map +0 -1
  194. package/dist/tools/prompt/index.js +0 -7
  195. package/dist/tools/prompt/index.js.map +0 -1
  196. package/dist/tools/reasoning/applyReasoningFramework.d.ts +0 -8
  197. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +0 -1
  198. package/dist/tools/reasoning/applyReasoningFramework.js +0 -266
  199. package/dist/tools/reasoning/applyReasoningFramework.js.map +0 -1
  200. package/dist/tools/reasoning/index.d.ts +0 -5
  201. package/dist/tools/reasoning/index.d.ts.map +0 -1
  202. package/dist/tools/reasoning/index.js +0 -5
  203. package/dist/tools/reasoning/index.js.map +0 -1
  204. package/dist/tools/thinking/analyzeProblem.d.ts +0 -7
  205. package/dist/tools/thinking/analyzeProblem.d.ts.map +0 -1
  206. package/dist/tools/thinking/analyzeProblem.js +0 -55
  207. package/dist/tools/thinking/analyzeProblem.js.map +0 -1
  208. package/dist/tools/thinking/breakDownProblem.d.ts +0 -8
  209. package/dist/tools/thinking/breakDownProblem.d.ts.map +0 -1
  210. package/dist/tools/thinking/breakDownProblem.js +0 -145
  211. package/dist/tools/thinking/breakDownProblem.js.map +0 -1
  212. package/dist/tools/thinking/createThinkingChain.d.ts +0 -7
  213. package/dist/tools/thinking/createThinkingChain.d.ts.map +0 -1
  214. package/dist/tools/thinking/createThinkingChain.js +0 -44
  215. package/dist/tools/thinking/createThinkingChain.js.map +0 -1
  216. package/dist/tools/thinking/formatAsPlan.d.ts +0 -9
  217. package/dist/tools/thinking/formatAsPlan.d.ts.map +0 -1
  218. package/dist/tools/thinking/formatAsPlan.js +0 -78
  219. package/dist/tools/thinking/formatAsPlan.js.map +0 -1
  220. package/dist/tools/thinking/index.d.ts +0 -10
  221. package/dist/tools/thinking/index.d.ts.map +0 -1
  222. package/dist/tools/thinking/index.js +0 -10
  223. package/dist/tools/thinking/index.js.map +0 -1
  224. package/dist/tools/thinking/stepByStepAnalysis.d.ts +0 -8
  225. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +0 -1
  226. package/dist/tools/thinking/stepByStepAnalysis.js +0 -63
  227. package/dist/tools/thinking/stepByStepAnalysis.js.map +0 -1
  228. package/dist/tools/thinking/thinkAloudProcess.d.ts +0 -8
  229. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +0 -1
  230. package/dist/tools/thinking/thinkAloudProcess.js +0 -80
  231. 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
@@ -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) {