@su-record/vibe 2.7.10 → 2.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +37 -37
- package/CLAUDE.md +126 -222
- package/LICENSE +21 -21
- package/README.md +580 -580
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +260 -260
- package/commands/vibe.run.md +83 -0
- package/commands/vibe.spec.review.md +558 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.voice.md +79 -79
- package/dist/cli/auth.d.ts +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +15 -7
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +62 -56
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -6
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.d.ts +13 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +83 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +64 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +47 -47
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts +8 -0
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +33 -0
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/index.d.ts +1 -1
- package/dist/cli/postinstall/index.d.ts.map +1 -1
- package/dist/cli/postinstall/index.js +1 -1
- package/dist/cli/postinstall/index.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +5 -0
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +1 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts +79 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts.map +1 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +259 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js.map +1 -0
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts +81 -0
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillBenchmark.js +233 -0
- package/dist/infra/lib/evolution/SkillBenchmark.js.map +1 -0
- package/dist/infra/lib/evolution/SkillClassifier.d.ts +35 -0
- package/dist/infra/lib/evolution/SkillClassifier.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillClassifier.js +167 -0
- package/dist/infra/lib/evolution/SkillClassifier.js.map +1 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts +102 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.js +256 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.js.map +1 -0
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/evolution/__tests__/eval.test.d.ts +2 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.d.ts.map +1 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.js +539 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.js.map +1 -0
- package/dist/infra/lib/evolution/index.d.ts +8 -0
- package/dist/infra/lib/evolution/index.d.ts.map +1 -1
- package/dist/infra/lib/evolution/index.js +5 -0
- package/dist/infra/lib/evolution/index.js.map +1 -1
- package/dist/infra/lib/gemini/constants.js +14 -14
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/oauth.js +44 -44
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +646 -646
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -0
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -0
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -0
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +65 -65
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -23,90 +23,90 @@ import * as geminiApi from './gemini/index.js';
|
|
|
23
23
|
// Constants
|
|
24
24
|
// ============================================================================
|
|
25
25
|
const REVIEW_PROMPTS = {
|
|
26
|
-
security: `You are a security expert reviewing code changes.
|
|
27
|
-
Identify security vulnerabilities including:
|
|
28
|
-
- SQL injection, XSS, CSRF
|
|
29
|
-
- Authentication/authorization flaws
|
|
30
|
-
- Sensitive data exposure
|
|
31
|
-
- Insecure dependencies
|
|
32
|
-
- OWASP Top 10 issues
|
|
33
|
-
|
|
34
|
-
For each issue found, respond in this exact JSON format:
|
|
35
|
-
{
|
|
36
|
-
"issues": [
|
|
37
|
-
{
|
|
38
|
-
"id": "SEC-001",
|
|
39
|
-
"title": "Brief title",
|
|
40
|
-
"description": "Detailed description",
|
|
41
|
-
"location": "file.ts:42",
|
|
42
|
-
"severity": "critical|high|medium|low",
|
|
43
|
-
"suggestion": "How to fix"
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
|
|
26
|
+
security: `You are a security expert reviewing code changes.
|
|
27
|
+
Identify security vulnerabilities including:
|
|
28
|
+
- SQL injection, XSS, CSRF
|
|
29
|
+
- Authentication/authorization flaws
|
|
30
|
+
- Sensitive data exposure
|
|
31
|
+
- Insecure dependencies
|
|
32
|
+
- OWASP Top 10 issues
|
|
33
|
+
|
|
34
|
+
For each issue found, respond in this exact JSON format:
|
|
35
|
+
{
|
|
36
|
+
"issues": [
|
|
37
|
+
{
|
|
38
|
+
"id": "SEC-001",
|
|
39
|
+
"title": "Brief title",
|
|
40
|
+
"description": "Detailed description",
|
|
41
|
+
"location": "file.ts:42",
|
|
42
|
+
"severity": "critical|high|medium|low",
|
|
43
|
+
"suggestion": "How to fix"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
|
|
48
48
|
If no issues found, respond: {"issues": []}`,
|
|
49
|
-
performance: `You are a performance expert reviewing code changes.
|
|
50
|
-
Identify performance issues including:
|
|
51
|
-
- N+1 queries
|
|
52
|
-
- Memory leaks
|
|
53
|
-
- Unnecessary re-renders
|
|
54
|
-
- Blocking operations
|
|
55
|
-
- Large bundle size impacts
|
|
56
|
-
- Missing caching opportunities
|
|
57
|
-
|
|
58
|
-
Respond in JSON format:
|
|
59
|
-
{
|
|
60
|
-
"issues": [
|
|
61
|
-
{
|
|
62
|
-
"id": "PERF-001",
|
|
63
|
-
"title": "Brief title",
|
|
64
|
-
"description": "Detailed description",
|
|
65
|
-
"location": "file.ts:42",
|
|
66
|
-
"severity": "critical|high|medium|low",
|
|
67
|
-
"suggestion": "How to fix"
|
|
68
|
-
}
|
|
69
|
-
]
|
|
49
|
+
performance: `You are a performance expert reviewing code changes.
|
|
50
|
+
Identify performance issues including:
|
|
51
|
+
- N+1 queries
|
|
52
|
+
- Memory leaks
|
|
53
|
+
- Unnecessary re-renders
|
|
54
|
+
- Blocking operations
|
|
55
|
+
- Large bundle size impacts
|
|
56
|
+
- Missing caching opportunities
|
|
57
|
+
|
|
58
|
+
Respond in JSON format:
|
|
59
|
+
{
|
|
60
|
+
"issues": [
|
|
61
|
+
{
|
|
62
|
+
"id": "PERF-001",
|
|
63
|
+
"title": "Brief title",
|
|
64
|
+
"description": "Detailed description",
|
|
65
|
+
"location": "file.ts:42",
|
|
66
|
+
"severity": "critical|high|medium|low",
|
|
67
|
+
"suggestion": "How to fix"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
70
|
}`,
|
|
71
|
-
architecture: `You are an architecture expert reviewing code changes.
|
|
72
|
-
Identify architecture issues including:
|
|
73
|
-
- Circular dependencies
|
|
74
|
-
- Layer violations (e.g., UI calling DB directly)
|
|
75
|
-
- Missing abstractions
|
|
76
|
-
- Tight coupling
|
|
77
|
-
- Single Responsibility violations
|
|
78
|
-
- DRY violations
|
|
79
|
-
|
|
71
|
+
architecture: `You are an architecture expert reviewing code changes.
|
|
72
|
+
Identify architecture issues including:
|
|
73
|
+
- Circular dependencies
|
|
74
|
+
- Layer violations (e.g., UI calling DB directly)
|
|
75
|
+
- Missing abstractions
|
|
76
|
+
- Tight coupling
|
|
77
|
+
- Single Responsibility violations
|
|
78
|
+
- DRY violations
|
|
79
|
+
|
|
80
80
|
Respond in JSON format with issues array.`,
|
|
81
|
-
complexity: `You are a code quality expert reviewing complexity.
|
|
82
|
-
Identify complexity issues including:
|
|
83
|
-
- Functions > 30 lines
|
|
84
|
-
- Nesting depth > 3 levels
|
|
85
|
-
- Cyclomatic complexity > 10
|
|
86
|
-
- Too many parameters (> 5)
|
|
87
|
-
- Long files (> 300 lines)
|
|
88
|
-
|
|
81
|
+
complexity: `You are a code quality expert reviewing complexity.
|
|
82
|
+
Identify complexity issues including:
|
|
83
|
+
- Functions > 30 lines
|
|
84
|
+
- Nesting depth > 3 levels
|
|
85
|
+
- Cyclomatic complexity > 10
|
|
86
|
+
- Too many parameters (> 5)
|
|
87
|
+
- Long files (> 300 lines)
|
|
88
|
+
|
|
89
89
|
Respond in JSON format with issues array.`,
|
|
90
|
-
'data-integrity': `You are a data integrity expert reviewing code changes.
|
|
91
|
-
Identify data integrity issues including:
|
|
92
|
-
- Missing validations
|
|
93
|
-
- Race conditions
|
|
94
|
-
- Inconsistent state handling
|
|
95
|
-
- Missing error handling
|
|
96
|
-
- Data loss scenarios
|
|
97
|
-
|
|
90
|
+
'data-integrity': `You are a data integrity expert reviewing code changes.
|
|
91
|
+
Identify data integrity issues including:
|
|
92
|
+
- Missing validations
|
|
93
|
+
- Race conditions
|
|
94
|
+
- Inconsistent state handling
|
|
95
|
+
- Missing error handling
|
|
96
|
+
- Data loss scenarios
|
|
97
|
+
|
|
98
98
|
Respond in JSON format with issues array.`,
|
|
99
|
-
'test-coverage': `You are a testing expert reviewing code changes.
|
|
100
|
-
Identify missing test coverage including:
|
|
101
|
-
- Untested edge cases
|
|
102
|
-
- Missing error case tests
|
|
103
|
-
- Missing integration tests
|
|
104
|
-
- Untested business logic
|
|
105
|
-
|
|
99
|
+
'test-coverage': `You are a testing expert reviewing code changes.
|
|
100
|
+
Identify missing test coverage including:
|
|
101
|
+
- Untested edge cases
|
|
102
|
+
- Missing error case tests
|
|
103
|
+
- Missing integration tests
|
|
104
|
+
- Untested business logic
|
|
105
|
+
|
|
106
106
|
Respond in JSON format with issues array.`,
|
|
107
|
-
general: `You are a senior code reviewer.
|
|
108
|
-
Review this code for any issues including security, performance, maintainability, and best practices.
|
|
109
|
-
|
|
107
|
+
general: `You are a senior code reviewer.
|
|
108
|
+
Review this code for any issues including security, performance, maintainability, and best practices.
|
|
109
|
+
|
|
110
110
|
Respond in JSON format with issues array.`,
|
|
111
111
|
};
|
|
112
112
|
// ============================================================================
|
|
@@ -202,15 +202,15 @@ function selectBestDescription(issues) {
|
|
|
202
202
|
async function reviewWithGPT(reviewType, code, context) {
|
|
203
203
|
const startTime = Date.now();
|
|
204
204
|
try {
|
|
205
|
-
const prompt = `${REVIEW_PROMPTS[reviewType]}
|
|
206
|
-
|
|
207
|
-
Context: ${context || 'Code review'}
|
|
208
|
-
|
|
209
|
-
Code to review:
|
|
210
|
-
\`\`\`
|
|
211
|
-
${code}
|
|
212
|
-
\`\`\`
|
|
213
|
-
|
|
205
|
+
const prompt = `${REVIEW_PROMPTS[reviewType]}
|
|
206
|
+
|
|
207
|
+
Context: ${context || 'Code review'}
|
|
208
|
+
|
|
209
|
+
Code to review:
|
|
210
|
+
\`\`\`
|
|
211
|
+
${code}
|
|
212
|
+
\`\`\`
|
|
213
|
+
|
|
214
214
|
Respond with JSON only.`;
|
|
215
215
|
const response = await gptApi.ask(prompt, {
|
|
216
216
|
model: 'gpt-5.3-codex',
|
|
@@ -238,15 +238,15 @@ Respond with JSON only.`;
|
|
|
238
238
|
async function reviewWithGemini(reviewType, code, context) {
|
|
239
239
|
const startTime = Date.now();
|
|
240
240
|
try {
|
|
241
|
-
const prompt = `${REVIEW_PROMPTS[reviewType]}
|
|
242
|
-
|
|
243
|
-
Context: ${context || 'Code review'}
|
|
244
|
-
|
|
245
|
-
Code to review:
|
|
246
|
-
\`\`\`
|
|
247
|
-
${code}
|
|
248
|
-
\`\`\`
|
|
249
|
-
|
|
241
|
+
const prompt = `${REVIEW_PROMPTS[reviewType]}
|
|
242
|
+
|
|
243
|
+
Context: ${context || 'Code review'}
|
|
244
|
+
|
|
245
|
+
Code to review:
|
|
246
|
+
\`\`\`
|
|
247
|
+
${code}
|
|
248
|
+
\`\`\`
|
|
249
|
+
|
|
250
250
|
Respond with JSON only.`;
|
|
251
251
|
const response = await geminiApi.ask(prompt, {
|
|
252
252
|
model: 'gemini-flash',
|
|
@@ -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 OAuth/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 OAuth/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
|
];
|