@su-record/vibe 2.7.13 → 2.7.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.
Files changed (232) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -187,33 +187,33 @@ export function substituteTemplateVars(template, vars) {
187
187
  /**
188
188
  * Example skill template
189
189
  */
190
- export const SKILL_TEMPLATE_EXAMPLE = `---
191
- name: example-skill
192
- description: "An example skill demonstrating the frontmatter system"
193
- model: sonnet
194
- agent: implementer
195
- argument-hint: "task description"
196
- user-invocable: true
197
- triggers: [example, demo, test]
198
- priority: 50
199
- ---
200
-
201
- # Example Skill
202
-
203
- This skill demonstrates the frontmatter metadata system.
204
-
205
- ## Arguments
206
-
207
- $ARGUMENTS
208
-
209
- ## Process
210
-
211
- 1. Parse the arguments
212
- 2. Execute the task
213
- 3. Return the result
214
-
215
- ## Output
216
-
217
- Provide a clear summary of what was done.
190
+ export const SKILL_TEMPLATE_EXAMPLE = `---
191
+ name: example-skill
192
+ description: "An example skill demonstrating the frontmatter system"
193
+ model: sonnet
194
+ agent: implementer
195
+ argument-hint: "task description"
196
+ user-invocable: true
197
+ triggers: [example, demo, test]
198
+ priority: 50
199
+ ---
200
+
201
+ # Example Skill
202
+
203
+ This skill demonstrates the frontmatter metadata system.
204
+
205
+ ## Arguments
206
+
207
+ $ARGUMENTS
208
+
209
+ ## Process
210
+
211
+ 1. Parse the arguments
212
+ 2. Execute the task
213
+ 3. Return the result
214
+
215
+ ## Output
216
+
217
+ Provide a clear summary of what was done.
218
218
  `;
219
219
  //# sourceMappingURL=SkillFrontmatter.js.map
@@ -137,15 +137,15 @@ export function suggestPrincipleFormat(value) {
137
137
  return value;
138
138
  }
139
139
  // 변환 템플릿 제안
140
- return `Consider reformulating as:
141
-
142
- "When [describe the situation/trigger],
143
- [describe the action to take]
144
- because [explain the reasoning/tradeoff]"
145
-
146
- Example:
147
- "When the auth token expires during a request,
148
- retry the request after refreshing the token (not before)
140
+ return `Consider reformulating as:
141
+
142
+ "When [describe the situation/trigger],
143
+ [describe the action to take]
144
+ because [explain the reasoning/tradeoff]"
145
+
146
+ Example:
147
+ "When the auth token expires during a request,
148
+ retry the request after refreshing the token (not before)
149
149
  because refreshing preemptively causes race conditions with concurrent requests"`;
150
150
  }
151
151
  /**
@@ -270,177 +270,177 @@ export function getDefaultSkills(corePathUrl) {
270
270
  return [
271
271
  {
272
272
  id: 'multi-llm-orchestration',
273
- content: `---
274
- name: multi-llm-orchestration
275
- description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
276
- triggers: [gpt, gemini, multi-llm, research, parallel research]
277
- priority: 80
278
- ---
279
- # Multi-LLM Orchestration
280
-
281
- Use multiple LLMs for comprehensive research and validation.
282
-
283
- ## Usage
284
-
285
- \`\`\`bash
286
- # Via Bash hook (automatic in /vibe.spec)
287
- node hooks/scripts/llm-orchestrate.js gpt "your prompt"
288
- node hooks/scripts/llm-orchestrate.js gemini "your prompt"
289
- \`\`\`
290
-
291
- ## Setup
292
-
293
- \`\`\`bash
294
- vibe gpt auth # Configure GPT API key
295
- vibe gemini auth # Configure Gemini API key
296
- vibe status # Check current configuration
297
- \`\`\`
298
-
299
- ## Best Practices
300
-
301
- 1. Use GPT for best practices and code review
302
- 2. Use Gemini for documentation and security analysis
303
- 3. Combine results for comprehensive coverage
273
+ content: `---
274
+ name: multi-llm-orchestration
275
+ description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
276
+ triggers: [gpt, gemini, multi-llm, research, parallel research]
277
+ priority: 80
278
+ ---
279
+ # Multi-LLM Orchestration
280
+
281
+ Use multiple LLMs for comprehensive research and validation.
282
+
283
+ ## Usage
284
+
285
+ \`\`\`bash
286
+ # Via Bash hook (automatic in /vibe.spec)
287
+ node hooks/scripts/llm-orchestrate.js gpt "your prompt"
288
+ node hooks/scripts/llm-orchestrate.js gemini "your prompt"
289
+ \`\`\`
290
+
291
+ ## Setup
292
+
293
+ \`\`\`bash
294
+ vibe gpt auth # Configure GPT API key
295
+ vibe gemini auth # Configure Gemini API key
296
+ vibe status # Check current configuration
297
+ \`\`\`
298
+
299
+ ## Best Practices
300
+
301
+ 1. Use GPT for best practices and code review
302
+ 2. Use Gemini for documentation and security analysis
303
+ 3. Combine results for comprehensive coverage
304
304
  `,
305
305
  },
306
306
  {
307
307
  id: 'error-recovery',
308
- content: `---
309
- name: error-recovery
310
- description: "Error recovery patterns and retry strategies"
311
- triggers: [error, fail, retry, recover, fix]
312
- priority: 70
313
- ---
314
- # Error Recovery Patterns
315
-
316
- ## Common Error Types
317
-
318
- ### Build Errors
319
- - Check TypeScript compilation errors
320
- - Verify dependency versions
321
- - Run \`npm ci\` to clean install
322
-
323
- ### Test Failures
324
- - Run failed tests in isolation
325
- - Check test fixtures/mocks
326
- - Verify async timing issues
327
-
328
- ### Runtime Errors
329
- - Check stack trace carefully
330
- - Verify environment variables
331
- - Check external service connectivity
332
-
333
- ## Retry Strategy
334
-
335
- 1. First retry: Same action
336
- 2. Second retry: Clean state (cache clear)
337
- 3. Third retry: Alternative approach
338
- 4. Max retries exceeded: Escalate to user
339
-
340
- ## Auto-Recovery Commands
341
-
342
- \`\`\`bash
343
- # Clean build
344
- rm -rf node_modules dist && npm ci && npm run build
345
-
346
- # Reset git state (careful!)
347
- git stash && git checkout .
348
-
349
- # Clear caches
350
- npm cache clean --force
351
- \`\`\`
308
+ content: `---
309
+ name: error-recovery
310
+ description: "Error recovery patterns and retry strategies"
311
+ triggers: [error, fail, retry, recover, fix]
312
+ priority: 70
313
+ ---
314
+ # Error Recovery Patterns
315
+
316
+ ## Common Error Types
317
+
318
+ ### Build Errors
319
+ - Check TypeScript compilation errors
320
+ - Verify dependency versions
321
+ - Run \`npm ci\` to clean install
322
+
323
+ ### Test Failures
324
+ - Run failed tests in isolation
325
+ - Check test fixtures/mocks
326
+ - Verify async timing issues
327
+
328
+ ### Runtime Errors
329
+ - Check stack trace carefully
330
+ - Verify environment variables
331
+ - Check external service connectivity
332
+
333
+ ## Retry Strategy
334
+
335
+ 1. First retry: Same action
336
+ 2. Second retry: Clean state (cache clear)
337
+ 3. Third retry: Alternative approach
338
+ 4. Max retries exceeded: Escalate to user
339
+
340
+ ## Auto-Recovery Commands
341
+
342
+ \`\`\`bash
343
+ # Clean build
344
+ rm -rf node_modules dist && npm ci && npm run build
345
+
346
+ # Reset git state (careful!)
347
+ git stash && git checkout .
348
+
349
+ # Clear caches
350
+ npm cache clean --force
351
+ \`\`\`
352
352
  `,
353
353
  },
354
354
  {
355
355
  id: 'code-quality-check',
356
- content: `---
357
- name: code-quality-check
358
- description: "Code quality validation using core tools"
359
- triggers: [quality, lint, complexity, review]
360
- priority: 60
361
- ---
362
- # Code Quality Check
363
-
364
- ## Using Core Tools
365
-
366
- \`\`\`bash
367
- # Analyze complexity
368
- node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
369
- t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
370
- .then(r => console.log(r.content[0].text))
371
- )"
372
-
373
- # Validate quality
374
- node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
375
- t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
376
- .then(r => console.log(r.content[0].text))
377
- )"
378
- \`\`\`
379
-
380
- ## Quality Metrics
381
-
382
- | Metric | Good | Warning | Critical |
383
- |--------|------|---------|----------|
384
- | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
385
- | Function Length | ≤30 | 31-50 | >50 |
386
- | Nesting Depth | ≤3 | 4 | >4 |
387
-
388
- ## Common Issues
389
-
390
- 1. **High Complexity**: Extract helper functions
391
- 2. **Long Functions**: Split by responsibility
392
- 3. **Deep Nesting**: Use early returns
393
- 4. **Tight Coupling**: Apply dependency injection
356
+ content: `---
357
+ name: code-quality-check
358
+ description: "Code quality validation using core tools"
359
+ triggers: [quality, lint, complexity, review]
360
+ priority: 60
361
+ ---
362
+ # Code Quality Check
363
+
364
+ ## Using Core Tools
365
+
366
+ \`\`\`bash
367
+ # Analyze complexity
368
+ node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
369
+ t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
370
+ .then(r => console.log(r.content[0].text))
371
+ )"
372
+
373
+ # Validate quality
374
+ node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
375
+ t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
376
+ .then(r => console.log(r.content[0].text))
377
+ )"
378
+ \`\`\`
379
+
380
+ ## Quality Metrics
381
+
382
+ | Metric | Good | Warning | Critical |
383
+ |--------|------|---------|----------|
384
+ | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
385
+ | Function Length | ≤30 | 31-50 | >50 |
386
+ | Nesting Depth | ≤3 | 4 | >4 |
387
+
388
+ ## Common Issues
389
+
390
+ 1. **High Complexity**: Extract helper functions
391
+ 2. **Long Functions**: Split by responsibility
392
+ 3. **Deep Nesting**: Use early returns
393
+ 4. **Tight Coupling**: Apply dependency injection
394
394
  `,
395
395
  },
396
396
  {
397
397
  id: 'session-management',
398
- content: `---
399
- name: session-management
400
- description: "Context and session management across conversations"
401
- triggers: [session, context, memory, save, restore, continue]
402
- priority: 75
403
- ---
404
- # Session Management
405
-
406
- ## Starting a Session
407
-
408
- \`\`\`bash
409
- # Auto-restore previous context
410
- node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
411
- t.startSession({projectPath: process.cwd()})
412
- .then(r => console.log(r.content[0].text))
413
- )"
414
- \`\`\`
415
-
416
- ## Saving Context
417
-
418
- \`\`\`bash
419
- # Save important decisions
420
- node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
421
- t.saveMemory({
422
- key: 'decision-auth-method',
423
- value: 'Using JWT with refresh tokens for auth',
424
- category: 'architecture',
425
- projectPath: process.cwd()
426
- }).then(r => console.log(r.content[0].text))
427
- )"
428
- \`\`\`
429
-
430
- ## Context Management
431
-
432
- At 70%+ context usage:
433
- 1. Use \`saveMemory\` for important decisions
434
- 2. Start new session with \`/new\`
435
- 3. Previous context auto-restores
436
-
437
- ## Slash Command
438
-
439
- \`\`\`
440
- /vibe.utils --continue
441
- \`\`\`
442
-
443
- Restores previous session context automatically.
398
+ content: `---
399
+ name: session-management
400
+ description: "Context and session management across conversations"
401
+ triggers: [session, context, memory, save, restore, continue]
402
+ priority: 75
403
+ ---
404
+ # Session Management
405
+
406
+ ## Starting a Session
407
+
408
+ \`\`\`bash
409
+ # Auto-restore previous context
410
+ node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
411
+ t.startSession({projectPath: process.cwd()})
412
+ .then(r => console.log(r.content[0].text))
413
+ )"
414
+ \`\`\`
415
+
416
+ ## Saving Context
417
+
418
+ \`\`\`bash
419
+ # Save important decisions
420
+ node -e "import('${corePathUrl}/node_modules/@su-record/vibe/dist/tools/index.js').then(t =>
421
+ t.saveMemory({
422
+ key: 'decision-auth-method',
423
+ value: 'Using JWT with refresh tokens for auth',
424
+ category: 'architecture',
425
+ projectPath: process.cwd()
426
+ }).then(r => console.log(r.content[0].text))
427
+ )"
428
+ \`\`\`
429
+
430
+ ## Context Management
431
+
432
+ At 70%+ context usage:
433
+ 1. Use \`saveMemory\` for important decisions
434
+ 2. Start new session with \`/new\`
435
+ 3. Previous context auto-restores
436
+
437
+ ## Slash Command
438
+
439
+ \`\`\`
440
+ /vibe.utils --continue
441
+ \`\`\`
442
+
443
+ Restores previous session context automatically.
444
444
  `,
445
445
  },
446
446
  ];
@@ -92,60 +92,60 @@ export function shouldContinue(session) {
92
92
  * Generate architect diagnosis prompt
93
93
  */
94
94
  export function generateDiagnosisPrompt(result) {
95
- return `
96
- ## QA Failure Diagnosis Required
97
-
98
- **Cycle**: ${result.cycle}
99
- **Goal**: ${result.goal}
100
- **Command**: ${result.command}
101
- **Exit Code**: ${result.exitCode}
102
-
103
- ### Output:
104
- \`\`\`
105
- ${result.output.slice(0, 2000)}
106
- \`\`\`
107
-
108
- ### Task:
109
- 1. Identify the root cause of this failure
110
- 2. Determine if it's a code issue, config issue, or environment issue
111
- 3. Provide a specific fix recommendation
112
-
113
- Return JSON:
114
- \`\`\`json
115
- {
116
- "rootCause": "description of root cause",
117
- "category": "code|config|environment|dependency",
118
- "fix": "specific fix to apply",
119
- "files": ["list", "of", "files", "to", "modify"],
120
- "confidence": "high|medium|low"
121
- }
122
- \`\`\`
95
+ return `
96
+ ## QA Failure Diagnosis Required
97
+
98
+ **Cycle**: ${result.cycle}
99
+ **Goal**: ${result.goal}
100
+ **Command**: ${result.command}
101
+ **Exit Code**: ${result.exitCode}
102
+
103
+ ### Output:
104
+ \`\`\`
105
+ ${result.output.slice(0, 2000)}
106
+ \`\`\`
107
+
108
+ ### Task:
109
+ 1. Identify the root cause of this failure
110
+ 2. Determine if it's a code issue, config issue, or environment issue
111
+ 3. Provide a specific fix recommendation
112
+
113
+ Return JSON:
114
+ \`\`\`json
115
+ {
116
+ "rootCause": "description of root cause",
117
+ "category": "code|config|environment|dependency",
118
+ "fix": "specific fix to apply",
119
+ "files": ["list", "of", "files", "to", "modify"],
120
+ "confidence": "high|medium|low"
121
+ }
122
+ \`\`\`
123
123
  `.trim();
124
124
  }
125
125
  /**
126
126
  * Generate executor fix prompt
127
127
  */
128
128
  export function generateFixPrompt(diagnosis, result) {
129
- return `
130
- ## Apply Fix for QA Failure
131
-
132
- **Previous Diagnosis**:
133
- ${diagnosis}
134
-
135
- **Failed Command**: ${result.command}
136
- **Cycle**: ${result.cycle}
137
-
138
- ### Task:
139
- Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
140
-
141
- ### Rules:
142
- 1. Only modify files mentioned in the diagnosis
143
- 2. Make the smallest change that fixes the issue
144
- 3. Do not refactor or improve unrelated code
145
- 4. Run the verification command after fixing
146
-
147
- ### After fixing, run:
148
- \`${result.command}\`
129
+ return `
130
+ ## Apply Fix for QA Failure
131
+
132
+ **Previous Diagnosis**:
133
+ ${diagnosis}
134
+
135
+ **Failed Command**: ${result.command}
136
+ **Cycle**: ${result.cycle}
137
+
138
+ ### Task:
139
+ Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
140
+
141
+ ### Rules:
142
+ 1. Only modify files mentioned in the diagnosis
143
+ 2. Make the smallest change that fixes the issue
144
+ 3. Do not refactor or improve unrelated code
145
+ 4. Run the verification command after fixing
146
+
147
+ ### After fixing, run:
148
+ \`${result.command}\`
149
149
  `.trim();
150
150
  }
151
151
  /**
@@ -157,28 +157,28 @@ export function generateArchitectureEscalationPrompt(session) {
157
157
  const failureSummary = recentFailures
158
158
  .map((c, i) => ` Attempt ${i + 1}: ${c.goal} - ${c.output.slice(0, 150)}`)
159
159
  .join('\n');
160
- return `
161
- ## ⚠️ 3-Fix Rule Triggered - Architecture Question Required
162
-
163
- **Same issue failed ${session.config.maxSameFailure}+ times.** This suggests an architectural problem, not a failed hypothesis.
164
-
165
- ### Failure Pattern:
166
- ${failureSummary}
167
-
168
- ### Architecture Problem Indicators:
169
- - Each fix reveals new shared state/coupling issues in different places
170
- - Fixes require "massive refactoring" to implement
171
- - Each fix creates new symptoms elsewhere
172
-
173
- ### Required Action:
174
- **STOP attempting more fixes.** Discuss with user before proceeding.
175
-
176
- ### Questions for User:
177
- 1. Is the current approach fundamentally sound?
178
- 2. Are we persisting through sheer inertia?
179
- 3. Should we refactor architecture vs. continue fixing symptoms?
180
-
181
- **Do NOT attempt Fix #${session.config.maxSameFailure + 1} without architectural discussion.**
160
+ return `
161
+ ## ⚠️ 3-Fix Rule Triggered - Architecture Question Required
162
+
163
+ **Same issue failed ${session.config.maxSameFailure}+ times.** This suggests an architectural problem, not a failed hypothesis.
164
+
165
+ ### Failure Pattern:
166
+ ${failureSummary}
167
+
168
+ ### Architecture Problem Indicators:
169
+ - Each fix reveals new shared state/coupling issues in different places
170
+ - Fixes require "massive refactoring" to implement
171
+ - Each fix creates new symptoms elsewhere
172
+
173
+ ### Required Action:
174
+ **STOP attempting more fixes.** Discuss with user before proceeding.
175
+
176
+ ### Questions for User:
177
+ 1. Is the current approach fundamentally sound?
178
+ 2. Are we persisting through sheer inertia?
179
+ 3. Should we refactor architecture vs. continue fixing symptoms?
180
+
181
+ **Do NOT attempt Fix #${session.config.maxSameFailure + 1} without architectural discussion.**
182
182
  `.trim();
183
183
  }
184
184
  /**
@@ -263,35 +263,35 @@ export function parseQAGoals(input) {
263
263
  * Create UltraQA workflow description
264
264
  */
265
265
  export function describeUltraQAWorkflow() {
266
- return `
267
- ## UltraQA Workflow
268
-
269
- 5-cycle autonomous QA loop:
270
-
271
- \`\`\`
272
- ┌─────────────────────────────────────────────┐
273
- │ ULTRAQA CYCLE │
274
- │ │
275
- │ 1. Run verification (test/build/lint) │
276
- │ ↓ │
277
- │ 2. Check result │
278
- │ ↓ │
279
- │ ┌───┴───┐ │
280
- │ PASS FAIL │
281
- │ ↓ ↓ │
282
- │ DONE 3. Architect diagnosis │
283
- │ ↓ │
284
- │ 4. Executor fix │
285
- │ ↓ │
286
- │ 5. Repeat (max 5 cycles) │
287
- └─────────────────────────────────────────────┘
288
- \`\`\`
289
-
290
- Exit conditions:
291
- - ✅ All goals pass (with evidence)
292
- - ⚠️ Same failure 3 times → Architecture Question (3-Fix Rule)
293
- - ❌ Max 5 cycles reached
294
- - ❌ Environment error
266
+ return `
267
+ ## UltraQA Workflow
268
+
269
+ 5-cycle autonomous QA loop:
270
+
271
+ \`\`\`
272
+ ┌─────────────────────────────────────────────┐
273
+ │ ULTRAQA CYCLE │
274
+ │ │
275
+ │ 1. Run verification (test/build/lint) │
276
+ │ ↓ │
277
+ │ 2. Check result │
278
+ │ ↓ │
279
+ │ ┌───┴───┐ │
280
+ │ PASS FAIL │
281
+ │ ↓ ↓ │
282
+ │ DONE 3. Architect diagnosis │
283
+ │ ↓ │
284
+ │ 4. Executor fix │
285
+ │ ↓ │
286
+ │ 5. Repeat (max 5 cycles) │
287
+ └─────────────────────────────────────────────┘
288
+ \`\`\`
289
+
290
+ Exit conditions:
291
+ - ✅ All goals pass (with evidence)
292
+ - ⚠️ Same failure 3 times → Architecture Question (3-Fix Rule)
293
+ - ❌ Max 5 cycles reached
294
+ - ❌ Environment error
295
295
  `.trim();
296
296
  }
297
297
  //# sourceMappingURL=UltraQA.js.map