@su-record/vibe 2.5.11 → 2.5.13
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/CLAUDE.md +243 -0
- package/LICENSE +21 -21
- package/README.md +262 -262
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +189 -189
- package/agents/research/codebase-patterns-agent.md +147 -147
- package/agents/research/framework-docs-agent.md +178 -178
- package/agents/research/security-advisory-agent.md +203 -203
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui-previewer.md +129 -129
- package/commands/vibe.analyze.md +356 -356
- package/commands/vibe.reason.md +329 -329
- package/commands/vibe.review.md +326 -326
- package/commands/vibe.run.md +1117 -1051
- package/commands/vibe.spec.md +1058 -1058
- package/commands/vibe.utils.md +353 -296
- package/commands/vibe.verify.md +375 -375
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +102 -102
- package/dist/cli/llm.js +144 -144
- package/dist/cli/mcp.d.ts +49 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +169 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/postinstall.js +180 -2
- package/dist/cli/postinstall.js.map +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts +24 -0
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -0
- package/dist/cli/setup/GlobalInstaller.js +130 -0
- package/dist/cli/setup/GlobalInstaller.js.map +1 -0
- package/dist/cli/setup/LanguageDetector.d.ts +16 -0
- package/dist/cli/setup/LanguageDetector.d.ts.map +1 -0
- package/dist/cli/setup/LanguageDetector.js +49 -0
- package/dist/cli/setup/LanguageDetector.js.map +1 -0
- package/dist/cli/setup/LegacyMigration.d.ts +25 -0
- package/dist/cli/setup/LegacyMigration.d.ts.map +1 -0
- package/dist/cli/setup/LegacyMigration.js +162 -0
- package/dist/cli/setup/LegacyMigration.js.map +1 -0
- package/dist/cli/setup/ProjectSetup.d.ts +30 -0
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -0
- package/dist/cli/setup/ProjectSetup.js +238 -0
- package/dist/cli/setup/ProjectSetup.js.map +1 -0
- package/dist/cli/setup/index.d.ts +14 -0
- package/dist/cli/setup/index.d.ts.map +1 -0
- package/dist/cli/setup/index.js +18 -0
- package/dist/cli/setup/index.js.map +1 -0
- package/dist/cli/setup.d.ts +10 -77
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +15 -592
- package/dist/cli/setup.js.map +1 -1
- package/dist/lib/DeepInit.d.ts +0 -2
- package/dist/lib/DeepInit.d.ts.map +1 -1
- package/dist/lib/DeepInit.js +24 -26
- package/dist/lib/DeepInit.js.map +1 -1
- package/dist/lib/IterationTracker.d.ts +0 -2
- package/dist/lib/IterationTracker.d.ts.map +1 -1
- package/dist/lib/IterationTracker.js +11 -13
- package/dist/lib/IterationTracker.js.map +1 -1
- package/dist/lib/ModelRouter.d.ts +0 -2
- package/dist/lib/ModelRouter.d.ts.map +1 -1
- package/dist/lib/ModelRouter.js +0 -2
- package/dist/lib/ModelRouter.js.map +1 -1
- package/dist/lib/OrchestrateWorkflow.d.ts +1 -3
- package/dist/lib/OrchestrateWorkflow.d.ts.map +1 -1
- package/dist/lib/OrchestrateWorkflow.js +1 -3
- package/dist/lib/OrchestrateWorkflow.js.map +1 -1
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/SkillFrontmatter.d.ts +0 -2
- package/dist/lib/SkillFrontmatter.d.ts.map +1 -1
- package/dist/lib/SkillFrontmatter.js +28 -30
- package/dist/lib/SkillFrontmatter.js.map +1 -1
- package/dist/lib/SkillQualityGate.d.ts +0 -2
- package/dist/lib/SkillQualityGate.d.ts.map +1 -1
- package/dist/lib/SkillQualityGate.js +9 -11
- package/dist/lib/SkillQualityGate.js.map +1 -1
- package/dist/lib/SkillRepository.d.ts +117 -0
- package/dist/lib/SkillRepository.d.ts.map +1 -0
- package/dist/lib/SkillRepository.js +477 -0
- package/dist/lib/SkillRepository.js.map +1 -0
- package/dist/lib/UltraQA.d.ts +0 -2
- package/dist/lib/UltraQA.d.ts.map +1 -1
- package/dist/lib/UltraQA.js +77 -79
- package/dist/lib/UltraQA.js.map +1 -1
- package/dist/lib/gemini-mcp.d.ts +10 -0
- package/dist/lib/gemini-mcp.d.ts.map +1 -0
- package/dist/lib/gemini-mcp.js +353 -0
- package/dist/lib/gemini-mcp.js.map +1 -0
- package/dist/lib/gpt-api.js +4 -4
- package/dist/lib/gpt-mcp.d.ts +10 -0
- package/dist/lib/gpt-mcp.d.ts.map +1 -0
- package/dist/lib/gpt-mcp.js +352 -0
- package/dist/lib/gpt-mcp.js.map +1 -0
- package/dist/lib/llm/auth/ApiKeyManager.d.ts +21 -0
- package/dist/lib/llm/auth/ApiKeyManager.d.ts.map +1 -0
- package/dist/lib/llm/auth/ApiKeyManager.js +43 -0
- package/dist/lib/llm/auth/ApiKeyManager.js.map +1 -0
- package/dist/lib/llm/auth/ConfigManager.d.ts +29 -0
- package/dist/lib/llm/auth/ConfigManager.d.ts.map +1 -0
- package/dist/lib/llm/auth/ConfigManager.js +67 -0
- package/dist/lib/llm/auth/ConfigManager.js.map +1 -0
- package/dist/lib/llm/auth/index.d.ts +25 -0
- package/dist/lib/llm/auth/index.d.ts.map +1 -0
- package/dist/lib/llm/auth/index.js +83 -0
- package/dist/lib/llm/auth/index.js.map +1 -0
- package/dist/lib/llm/index.d.ts +10 -0
- package/dist/lib/llm/index.d.ts.map +1 -0
- package/dist/lib/llm/index.js +12 -0
- package/dist/lib/llm/index.js.map +1 -0
- package/dist/lib/llm/types.d.ts +96 -0
- package/dist/lib/llm/types.d.ts.map +1 -0
- package/dist/lib/llm/types.js +17 -0
- package/dist/lib/llm/types.js.map +1 -0
- package/dist/lib/llm/utils/index.d.ts +6 -0
- package/dist/lib/llm/utils/index.d.ts.map +1 -0
- package/dist/lib/llm/utils/index.js +6 -0
- package/dist/lib/llm/utils/index.js.map +1 -0
- package/dist/lib/llm/utils/retry.d.ts +25 -0
- package/dist/lib/llm/utils/retry.d.ts.map +1 -0
- package/dist/lib/llm/utils/retry.js +72 -0
- package/dist/lib/llm/utils/retry.js.map +1 -0
- package/dist/lib/llm/utils/stream.d.ts +13 -0
- package/dist/lib/llm/utils/stream.d.ts.map +1 -0
- package/dist/lib/llm/utils/stream.js +110 -0
- package/dist/lib/llm/utils/stream.js.map +1 -0
- package/dist/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/lib/memory/MemorySearch.js +20 -20
- package/dist/lib/memory/MemoryStorage.js +64 -64
- package/dist/orchestrator/AgentExecutor.d.ts +23 -0
- package/dist/orchestrator/AgentExecutor.d.ts.map +1 -0
- package/dist/orchestrator/AgentExecutor.js +231 -0
- package/dist/orchestrator/AgentExecutor.js.map +1 -0
- package/dist/orchestrator/AgentManager.d.ts +73 -0
- package/dist/orchestrator/AgentManager.d.ts.map +1 -0
- package/dist/orchestrator/AgentManager.js +184 -0
- package/dist/orchestrator/AgentManager.js.map +1 -0
- package/dist/orchestrator/LLMCluster.d.ts +70 -0
- package/dist/orchestrator/LLMCluster.d.ts.map +1 -0
- package/dist/orchestrator/LLMCluster.js +91 -0
- package/dist/orchestrator/LLMCluster.js.map +1 -0
- package/dist/orchestrator/MultiLlmResearch.d.ts +27 -0
- package/dist/orchestrator/MultiLlmResearch.d.ts.map +1 -0
- package/dist/orchestrator/MultiLlmResearch.js +145 -0
- package/dist/orchestrator/MultiLlmResearch.js.map +1 -0
- package/dist/orchestrator/SessionStore.d.ts +41 -0
- package/dist/orchestrator/SessionStore.d.ts.map +1 -0
- package/dist/orchestrator/SessionStore.js +117 -0
- package/dist/orchestrator/SessionStore.js.map +1 -0
- package/dist/orchestrator/SmartRouter.d.ts +68 -0
- package/dist/orchestrator/SmartRouter.d.ts.map +1 -0
- package/dist/orchestrator/SmartRouter.js +256 -0
- package/dist/orchestrator/SmartRouter.js.map +1 -0
- package/dist/orchestrator/backgroundAgent.d.ts +10 -28
- package/dist/orchestrator/backgroundAgent.d.ts.map +1 -1
- package/dist/orchestrator/backgroundAgent.js +11 -346
- package/dist/orchestrator/backgroundAgent.js.map +1 -1
- package/dist/orchestrator/index.d.ts +3 -0
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +4 -0
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts +19 -154
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +90 -514
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/orchestrator/parallelResearch.d.ts +5 -12
- package/dist/orchestrator/parallelResearch.d.ts.map +1 -1
- package/dist/orchestrator/parallelResearch.js +10 -193
- package/dist/orchestrator/parallelResearch.js.map +1 -1
- package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
- package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
- package/dist/tools/analytics/getUsageAnalytics.js +246 -0
- package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +5 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +5 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/getCodingGuide.d.ts +7 -0
- package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
- package/dist/tools/convention/getCodingGuide.js +69 -0
- package/dist/tools/convention/getCodingGuide.js.map +1 -0
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
- package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
- package/dist/tools/planning/analyzeRequirements.js +171 -0
- package/dist/tools/planning/analyzeRequirements.js.map +1 -0
- package/dist/tools/planning/createUserStories.d.ts +9 -0
- package/dist/tools/planning/createUserStories.d.ts.map +1 -0
- package/dist/tools/planning/createUserStories.js +124 -0
- package/dist/tools/planning/createUserStories.js.map +1 -0
- package/dist/tools/planning/featureRoadmap.d.ts +10 -0
- package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
- package/dist/tools/planning/featureRoadmap.js +207 -0
- package/dist/tools/planning/featureRoadmap.js.map +1 -0
- package/dist/tools/planning/generatePrd.d.ts +11 -0
- package/dist/tools/planning/generatePrd.d.ts.map +1 -0
- package/dist/tools/planning/generatePrd.js +161 -0
- package/dist/tools/planning/generatePrd.js.map +1 -0
- package/dist/tools/planning/index.d.ts +8 -0
- package/dist/tools/planning/index.d.ts.map +1 -0
- package/dist/tools/planning/index.js +8 -0
- package/dist/tools/planning/index.js.map +1 -0
- package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
- package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/analyzePrompt.js +150 -0
- package/dist/tools/prompt/analyzePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
- package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePrompt.js +110 -0
- package/dist/tools/prompt/enhancePrompt.js.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
- package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
- package/dist/tools/prompt/enhancePromptGemini.js +332 -0
- package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
- package/dist/tools/prompt/index.d.ts +7 -0
- package/dist/tools/prompt/index.d.ts.map +1 -0
- package/dist/tools/prompt/index.js +7 -0
- package/dist/tools/prompt/index.js.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
- package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
- package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
- package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
- package/dist/tools/reasoning/index.d.ts +5 -0
- package/dist/tools/reasoning/index.d.ts.map +1 -0
- package/dist/tools/reasoning/index.js +5 -0
- package/dist/tools/reasoning/index.js.map +1 -0
- package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
- package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
- package/dist/tools/thinking/analyzeProblem.js +55 -0
- package/dist/tools/thinking/analyzeProblem.js.map +1 -0
- package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
- package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
- package/dist/tools/thinking/breakDownProblem.js +145 -0
- package/dist/tools/thinking/breakDownProblem.js.map +1 -0
- package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
- package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
- package/dist/tools/thinking/createThinkingChain.js +44 -0
- package/dist/tools/thinking/createThinkingChain.js.map +1 -0
- package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
- package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
- package/dist/tools/thinking/formatAsPlan.js +78 -0
- package/dist/tools/thinking/formatAsPlan.js.map +1 -0
- package/dist/tools/thinking/index.d.ts +10 -0
- package/dist/tools/thinking/index.d.ts.map +1 -0
- package/dist/tools/thinking/index.js +10 -0
- package/dist/tools/thinking/index.js.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
- package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
- package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
- package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
- package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
- package/dist/tools/thinking/thinkAloudProcess.js +80 -0
- package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
- package/hooks/hooks.json +222 -222
- package/hooks/scripts/code-check.js +22 -22
- package/hooks/scripts/code-review.js +22 -22
- package/hooks/scripts/complexity.js +22 -22
- package/hooks/scripts/compound.js +23 -23
- package/hooks/scripts/context-save.js +33 -33
- package/hooks/scripts/generate-brand-assets.js +472 -0
- package/hooks/scripts/hud-multiline.js +262 -264
- package/hooks/scripts/hud-status.js +291 -293
- package/hooks/scripts/keyword-detector.js +214 -216
- package/hooks/scripts/llm-orchestrate.js +171 -171
- package/hooks/scripts/post-edit.js +97 -97
- package/hooks/scripts/post-tool-verify.js +210 -212
- package/hooks/scripts/pre-tool-guard.js +125 -127
- package/hooks/scripts/recall.js +22 -22
- package/hooks/scripts/session-start.js +30 -30
- package/hooks/scripts/skill-injector.js +191 -193
- package/hooks/scripts/utils.js +97 -97
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +83 -83
- package/skills/brand-assets.md +141 -0
- package/skills/commerce-patterns.md +361 -0
- package/skills/context7-usage.md +102 -102
- package/skills/e2e-commerce.md +304 -0
- package/skills/frontend-design.md +92 -0
- package/skills/git-worktree.md +181 -181
- package/skills/parallel-research.md +77 -77
- package/skills/priority-todos.md +239 -239
- package/skills/seo-checklist.md +244 -0
- package/skills/tool-fallback.md +190 -190
- package/skills/vibe-capabilities.md +161 -161
- package/vibe/constitution.md +227 -227
- package/vibe/rules/core/communication-guide.md +98 -98
- package/vibe/rules/core/development-philosophy.md +52 -52
- package/vibe/rules/core/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
package/dist/cli/collaborator.js
CHANGED
|
@@ -56,64 +56,64 @@ export function setupCollaboratorAutoInstall(projectRoot) {
|
|
|
56
56
|
fs.mkdirSync(vibeDir, { recursive: true });
|
|
57
57
|
}
|
|
58
58
|
if (!fs.existsSync(setupShPath)) {
|
|
59
|
-
const setupScript = `#!/bin/bash
|
|
60
|
-
# Vibe collaborator auto-install script
|
|
61
|
-
# Usage: ./.claude/vibe/setup.sh
|
|
62
|
-
|
|
63
|
-
set -e
|
|
64
|
-
|
|
65
|
-
echo "🔧 Checking Vibe installation..."
|
|
66
|
-
|
|
67
|
-
# Check npm/npx
|
|
68
|
-
if ! command -v npx &> /dev/null; then
|
|
69
|
-
echo "❌ Node.js/npm is not installed."
|
|
70
|
-
echo " Please install from https://nodejs.org"
|
|
71
|
-
exit 1
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
# Check vibe installation and update
|
|
75
|
-
if command -v vibe &> /dev/null; then
|
|
76
|
-
echo "✅ Vibe is already installed."
|
|
77
|
-
vibe update --silent
|
|
78
|
-
echo "✅ Vibe updated!"
|
|
79
|
-
else
|
|
80
|
-
echo "📦 Installing Vibe..."
|
|
81
|
-
npm install -g @su-record/vibe
|
|
82
|
-
vibe update --silent
|
|
83
|
-
echo "✅ Vibe installed and configured!"
|
|
84
|
-
fi
|
|
85
|
-
|
|
86
|
-
echo ""
|
|
87
|
-
echo "Get started with:"
|
|
88
|
-
echo " /vibe.spec \\"feature\\" Create SPEC"
|
|
89
|
-
echo " /vibe.run \\"feature\\" Implement"
|
|
59
|
+
const setupScript = `#!/bin/bash
|
|
60
|
+
# Vibe collaborator auto-install script
|
|
61
|
+
# Usage: ./.claude/vibe/setup.sh
|
|
62
|
+
|
|
63
|
+
set -e
|
|
64
|
+
|
|
65
|
+
echo "🔧 Checking Vibe installation..."
|
|
66
|
+
|
|
67
|
+
# Check npm/npx
|
|
68
|
+
if ! command -v npx &> /dev/null; then
|
|
69
|
+
echo "❌ Node.js/npm is not installed."
|
|
70
|
+
echo " Please install from https://nodejs.org"
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Check vibe installation and update
|
|
75
|
+
if command -v vibe &> /dev/null; then
|
|
76
|
+
echo "✅ Vibe is already installed."
|
|
77
|
+
vibe update --silent
|
|
78
|
+
echo "✅ Vibe updated!"
|
|
79
|
+
else
|
|
80
|
+
echo "📦 Installing Vibe..."
|
|
81
|
+
npm install -g @su-record/vibe
|
|
82
|
+
vibe update --silent
|
|
83
|
+
echo "✅ Vibe installed and configured!"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
echo ""
|
|
87
|
+
echo "Get started with:"
|
|
88
|
+
echo " /vibe.spec \\"feature\\" Create SPEC"
|
|
89
|
+
echo " /vibe.run \\"feature\\" Implement"
|
|
90
90
|
`;
|
|
91
91
|
fs.writeFileSync(setupShPath, setupScript);
|
|
92
92
|
fs.chmodSync(setupShPath, '755');
|
|
93
93
|
}
|
|
94
94
|
// 3. README.md에 협업자 안내 추가
|
|
95
95
|
const readmePath = path.join(projectRoot, 'README.md');
|
|
96
|
-
const vibeSetupSection = `
|
|
97
|
-
## Vibe Setup (AI Coding)
|
|
98
|
-
|
|
99
|
-
This project uses [Vibe](https://github.com/su-record/vibe) AI coding framework.
|
|
100
|
-
|
|
101
|
-
### Collaborator Install
|
|
102
|
-
|
|
103
|
-
\`\`\`bash
|
|
104
|
-
# Global install (recommended)
|
|
105
|
-
npm install -g @su-record/vibe
|
|
106
|
-
vibe update
|
|
107
|
-
|
|
108
|
-
# Or use vibe init to setup
|
|
109
|
-
vibe init
|
|
110
|
-
\`\`\`
|
|
111
|
-
|
|
112
|
-
### Usage
|
|
113
|
-
|
|
114
|
-
Use slash commands in Claude Code:
|
|
115
|
-
- \`/vibe.spec "feature"\` - Create SPEC document
|
|
116
|
-
- \`/vibe.run "feature"\` - Execute implementation
|
|
96
|
+
const vibeSetupSection = `
|
|
97
|
+
## Vibe Setup (AI Coding)
|
|
98
|
+
|
|
99
|
+
This project uses [Vibe](https://github.com/su-record/vibe) AI coding framework.
|
|
100
|
+
|
|
101
|
+
### Collaborator Install
|
|
102
|
+
|
|
103
|
+
\`\`\`bash
|
|
104
|
+
# Global install (recommended)
|
|
105
|
+
npm install -g @su-record/vibe
|
|
106
|
+
vibe update
|
|
107
|
+
|
|
108
|
+
# Or use vibe init to setup
|
|
109
|
+
vibe init
|
|
110
|
+
\`\`\`
|
|
111
|
+
|
|
112
|
+
### Usage
|
|
113
|
+
|
|
114
|
+
Use slash commands in Claude Code:
|
|
115
|
+
- \`/vibe.spec "feature"\` - Create SPEC document
|
|
116
|
+
- \`/vibe.run "feature"\` - Execute implementation
|
|
117
117
|
`;
|
|
118
118
|
if (fs.existsSync(readmePath)) {
|
|
119
119
|
const readme = fs.readFileSync(readmePath, 'utf-8');
|
package/dist/cli/detect.js
CHANGED
|
@@ -301,45 +301,45 @@ export function getLanguageRulesForStacks(stacks) {
|
|
|
301
301
|
* 언어별 CLAUDE.md 규칙
|
|
302
302
|
*/
|
|
303
303
|
export const LANGUAGE_RULES = {
|
|
304
|
-
typescript: `### TypeScript Rules
|
|
305
|
-
- No \`any\` type → use \`unknown\` + type guards
|
|
306
|
-
- No \`as any\` casting → define proper interfaces
|
|
307
|
-
- No \`@ts-ignore\` → fix type issues at root
|
|
304
|
+
typescript: `### TypeScript Rules
|
|
305
|
+
- No \`any\` type → use \`unknown\` + type guards
|
|
306
|
+
- No \`as any\` casting → define proper interfaces
|
|
307
|
+
- No \`@ts-ignore\` → fix type issues at root
|
|
308
308
|
- Explicit return types on all functions`,
|
|
309
|
-
python: `### Python Rules
|
|
310
|
-
- Type hints required (parameters, return values)
|
|
311
|
-
- No \`# type: ignore\` → fix type issues at root
|
|
312
|
-
- Prefer f-strings (over format())
|
|
309
|
+
python: `### Python Rules
|
|
310
|
+
- Type hints required (parameters, return values)
|
|
311
|
+
- No \`# type: ignore\` → fix type issues at root
|
|
312
|
+
- Prefer f-strings (over format())
|
|
313
313
|
- Use list comprehensions appropriately`,
|
|
314
|
-
go: `### Go Rules
|
|
315
|
-
- Handle errors immediately (if err != nil)
|
|
316
|
-
- Explicit error wrapping (fmt.Errorf with %w)
|
|
317
|
-
- Define interfaces at point of use
|
|
314
|
+
go: `### Go Rules
|
|
315
|
+
- Handle errors immediately (if err != nil)
|
|
316
|
+
- Explicit error wrapping (fmt.Errorf with %w)
|
|
317
|
+
- Define interfaces at point of use
|
|
318
318
|
- Prevent goroutine leaks (use context)`,
|
|
319
|
-
rust: `### Rust Rules
|
|
320
|
-
- No unwrap()/expect() in production → handle Result/Option
|
|
321
|
-
- Minimize unsafe blocks
|
|
322
|
-
- Define explicit error types
|
|
319
|
+
rust: `### Rust Rules
|
|
320
|
+
- No unwrap()/expect() in production → handle Result/Option
|
|
321
|
+
- Minimize unsafe blocks
|
|
322
|
+
- Define explicit error types
|
|
323
323
|
- Document ownership/lifetime clearly`,
|
|
324
|
-
java: `### Java Rules
|
|
325
|
-
- Use Optional (instead of null)
|
|
326
|
-
- Prefer immutable objects (final fields)
|
|
327
|
-
- Handle checked exceptions properly
|
|
324
|
+
java: `### Java Rules
|
|
325
|
+
- Use Optional (instead of null)
|
|
326
|
+
- Prefer immutable objects (final fields)
|
|
327
|
+
- Handle checked exceptions properly
|
|
328
328
|
- Utilize Stream API`,
|
|
329
|
-
kotlin: `### Kotlin Rules
|
|
330
|
-
- Explicit nullable types (?)
|
|
331
|
-
- No !! operator → use safe call (?.)
|
|
332
|
-
- Use data classes actively
|
|
329
|
+
kotlin: `### Kotlin Rules
|
|
330
|
+
- Explicit nullable types (?)
|
|
331
|
+
- No !! operator → use safe call (?.)
|
|
332
|
+
- Use data classes actively
|
|
333
333
|
- Implement utilities as extension functions`,
|
|
334
|
-
dart: `### Dart Rules
|
|
335
|
-
- Follow null safety (use ? and ! properly)
|
|
336
|
-
- Avoid late keyword abuse
|
|
337
|
-
- Use const constructors
|
|
334
|
+
dart: `### Dart Rules
|
|
335
|
+
- Follow null safety (use ? and ! properly)
|
|
336
|
+
- Avoid late keyword abuse
|
|
337
|
+
- Use const constructors
|
|
338
338
|
- Use async/await for async code`,
|
|
339
|
-
swift: `### Swift Rules
|
|
340
|
-
- No force unwrapping → use guard let / if let
|
|
341
|
-
- Prefer protocol-oriented programming
|
|
342
|
-
- Prefer value types (struct)
|
|
339
|
+
swift: `### Swift Rules
|
|
340
|
+
- No force unwrapping → use guard let / if let
|
|
341
|
+
- Prefer protocol-oriented programming
|
|
342
|
+
- Prefer value types (struct)
|
|
343
343
|
- Watch memory management with @escaping closures`
|
|
344
344
|
};
|
|
345
345
|
/**
|
package/dist/cli/index.js
CHANGED
|
@@ -85,11 +85,11 @@ async function init(projectName) {
|
|
|
85
85
|
installProjectHooks(projectRoot);
|
|
86
86
|
// 완료 메시지
|
|
87
87
|
const packageJson = getPackageJson();
|
|
88
|
-
log(`✅ vibe initialized (v${packageJson.version})
|
|
89
|
-
${formatLLMStatus()}
|
|
90
|
-
📦 Context7 plugin (recommended): /plugin install context7
|
|
91
|
-
|
|
92
|
-
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
88
|
+
log(`✅ vibe initialized (v${packageJson.version})
|
|
89
|
+
${formatLLMStatus()}
|
|
90
|
+
📦 Context7 plugin (recommended): /plugin install context7
|
|
91
|
+
|
|
92
|
+
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
93
93
|
`);
|
|
94
94
|
}
|
|
95
95
|
catch (error) {
|
|
@@ -179,9 +179,9 @@ async function update() {
|
|
|
179
179
|
// 레거시 mcp 폴더 정리
|
|
180
180
|
cleanupLegacyMcp(vibeDir);
|
|
181
181
|
const packageJson = getPackageJson();
|
|
182
|
-
log(`✅ vibe updated (v${packageJson.version})
|
|
183
|
-
${formatLLMStatus()}
|
|
184
|
-
📦 Context7 plugin (recommended): /plugin install context7
|
|
182
|
+
log(`✅ vibe updated (v${packageJson.version})
|
|
183
|
+
${formatLLMStatus()}
|
|
184
|
+
📦 Context7 plugin (recommended): /plugin install context7
|
|
185
185
|
`);
|
|
186
186
|
}
|
|
187
187
|
catch (error) {
|
|
@@ -247,63 +247,63 @@ function remove() {
|
|
|
247
247
|
}
|
|
248
248
|
catch { /* ignore: optional operation */ }
|
|
249
249
|
}
|
|
250
|
-
console.log(`
|
|
251
|
-
✅ vibe removed!
|
|
252
|
-
|
|
253
|
-
Removed:
|
|
254
|
-
- MCP server (context7)
|
|
255
|
-
- .claude/vibe/ folder
|
|
256
|
-
- Slash commands (7)
|
|
257
|
-
- Subagents (5)
|
|
258
|
-
- Hooks settings
|
|
259
|
-
|
|
260
|
-
To reinstall: vibe init
|
|
250
|
+
console.log(`
|
|
251
|
+
✅ vibe removed!
|
|
252
|
+
|
|
253
|
+
Removed:
|
|
254
|
+
- MCP server (context7)
|
|
255
|
+
- .claude/vibe/ folder
|
|
256
|
+
- Slash commands (7)
|
|
257
|
+
- Subagents (5)
|
|
258
|
+
- Hooks settings
|
|
259
|
+
|
|
260
|
+
To reinstall: vibe init
|
|
261
261
|
`);
|
|
262
262
|
}
|
|
263
263
|
// ============================================================================
|
|
264
264
|
// Info Commands
|
|
265
265
|
// ============================================================================
|
|
266
266
|
function showHelp() {
|
|
267
|
-
console.log(`
|
|
268
|
-
📖 Vibe - SPEC-driven AI coding framework (Claude Code exclusive)
|
|
269
|
-
|
|
270
|
-
Commands:
|
|
271
|
-
vibe init [project] Initialize project
|
|
272
|
-
vibe update Update settings
|
|
273
|
-
vibe status Show status
|
|
274
|
-
vibe help Help
|
|
275
|
-
vibe version Version
|
|
276
|
-
|
|
277
|
-
GPT:
|
|
278
|
-
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
279
|
-
vibe gpt key <KEY> Set API key
|
|
280
|
-
vibe gpt status Check status
|
|
281
|
-
vibe gpt logout Logout
|
|
282
|
-
vibe gpt remove Remove config
|
|
283
|
-
|
|
284
|
-
Gemini:
|
|
285
|
-
vibe gemini auth OAuth authentication
|
|
286
|
-
vibe gemini key <KEY> Set API key
|
|
287
|
-
vibe gemini status Check status
|
|
288
|
-
vibe gemini logout Logout
|
|
289
|
-
vibe gemini remove Remove config
|
|
290
|
-
|
|
291
|
-
Slash Commands (Claude Code):
|
|
292
|
-
/vibe.spec "feature" Create SPEC + parallel research
|
|
293
|
-
/vibe.run "feature" Execute implementation
|
|
294
|
-
/vibe.verify "feature" BDD verification
|
|
295
|
-
/vibe.review Parallel code review (13+ agents)
|
|
296
|
-
/vibe.reason "problem" Systematic reasoning
|
|
297
|
-
/vibe.analyze Project analysis
|
|
298
|
-
/vibe.utils Utilities (--e2e, --diagram, --continue)
|
|
299
|
-
|
|
300
|
-
LLM Routing:
|
|
301
|
-
gpt. / gemini. Direct LLM call with web search
|
|
302
|
-
Auto-routing via hooks (architecture→GPT, UI/UX→Gemini)
|
|
303
|
-
|
|
304
|
-
Workflow: /vibe.spec → /vibe.run → /vibe.verify
|
|
305
|
-
|
|
306
|
-
Docs: https://github.com/su-record/vibe
|
|
267
|
+
console.log(`
|
|
268
|
+
📖 Vibe - SPEC-driven AI coding framework (Claude Code exclusive)
|
|
269
|
+
|
|
270
|
+
Commands:
|
|
271
|
+
vibe init [project] Initialize project
|
|
272
|
+
vibe update Update settings
|
|
273
|
+
vibe status Show status
|
|
274
|
+
vibe help Help
|
|
275
|
+
vibe version Version
|
|
276
|
+
|
|
277
|
+
GPT:
|
|
278
|
+
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
279
|
+
vibe gpt key <KEY> Set API key
|
|
280
|
+
vibe gpt status Check status
|
|
281
|
+
vibe gpt logout Logout
|
|
282
|
+
vibe gpt remove Remove config
|
|
283
|
+
|
|
284
|
+
Gemini:
|
|
285
|
+
vibe gemini auth OAuth authentication
|
|
286
|
+
vibe gemini key <KEY> Set API key
|
|
287
|
+
vibe gemini status Check status
|
|
288
|
+
vibe gemini logout Logout
|
|
289
|
+
vibe gemini remove Remove config
|
|
290
|
+
|
|
291
|
+
Slash Commands (Claude Code):
|
|
292
|
+
/vibe.spec "feature" Create SPEC + parallel research
|
|
293
|
+
/vibe.run "feature" Execute implementation
|
|
294
|
+
/vibe.verify "feature" BDD verification
|
|
295
|
+
/vibe.review Parallel code review (13+ agents)
|
|
296
|
+
/vibe.reason "problem" Systematic reasoning
|
|
297
|
+
/vibe.analyze Project analysis
|
|
298
|
+
/vibe.utils Utilities (--e2e, --diagram, --continue)
|
|
299
|
+
|
|
300
|
+
LLM Routing:
|
|
301
|
+
gpt. / gemini. Direct LLM call with web search
|
|
302
|
+
Auto-routing via hooks (architecture→GPT, UI/UX→Gemini)
|
|
303
|
+
|
|
304
|
+
Workflow: /vibe.spec → /vibe.run → /vibe.verify
|
|
305
|
+
|
|
306
|
+
Docs: https://github.com/su-record/vibe
|
|
307
307
|
`);
|
|
308
308
|
}
|
|
309
309
|
function showStatus() {
|
|
@@ -341,21 +341,21 @@ function showStatus() {
|
|
|
341
341
|
else if (config.models?.gemini?.enabled) {
|
|
342
342
|
geminiStatusText = '⚠️ Configured (auth required)';
|
|
343
343
|
}
|
|
344
|
-
console.log(`
|
|
345
|
-
📊 Vibe Status (v${packageJson.version})
|
|
346
|
-
|
|
347
|
-
Project: ${projectRoot}
|
|
348
|
-
Language: ${config.language || 'ko'}
|
|
349
|
-
|
|
350
|
-
Models:
|
|
351
|
-
Opus 4.5 Orchestrator
|
|
352
|
-
Sonnet 4 Implementation
|
|
353
|
-
Haiku 4.5 Code exploration
|
|
354
|
-
GPT 5.2 ${gptStatusText}
|
|
355
|
-
Gemini 3 ${geminiStatusText}
|
|
356
|
-
|
|
357
|
-
MCP:
|
|
358
|
-
context7 Library docs search
|
|
344
|
+
console.log(`
|
|
345
|
+
📊 Vibe Status (v${packageJson.version})
|
|
346
|
+
|
|
347
|
+
Project: ${projectRoot}
|
|
348
|
+
Language: ${config.language || 'ko'}
|
|
349
|
+
|
|
350
|
+
Models:
|
|
351
|
+
Opus 4.5 Orchestrator
|
|
352
|
+
Sonnet 4 Implementation
|
|
353
|
+
Haiku 4.5 Code exploration
|
|
354
|
+
GPT 5.2 ${gptStatusText}
|
|
355
|
+
Gemini 3 ${geminiStatusText}
|
|
356
|
+
|
|
357
|
+
MCP:
|
|
358
|
+
context7 Library docs search
|
|
359
359
|
`);
|
|
360
360
|
}
|
|
361
361
|
function showVersion() {
|
|
@@ -434,13 +434,13 @@ switch (command) {
|
|
|
434
434
|
gptStatus();
|
|
435
435
|
break;
|
|
436
436
|
default:
|
|
437
|
-
console.log(`
|
|
438
|
-
GPT Commands:
|
|
439
|
-
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
440
|
-
vibe gpt key Set API key
|
|
441
|
-
vibe gpt status Check status
|
|
442
|
-
vibe gpt logout Logout
|
|
443
|
-
vibe gpt remove Remove config
|
|
437
|
+
console.log(`
|
|
438
|
+
GPT Commands:
|
|
439
|
+
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
440
|
+
vibe gpt key Set API key
|
|
441
|
+
vibe gpt status Check status
|
|
442
|
+
vibe gpt logout Logout
|
|
443
|
+
vibe gpt remove Remove config
|
|
444
444
|
`);
|
|
445
445
|
}
|
|
446
446
|
break;
|
|
@@ -472,13 +472,13 @@ GPT Commands:
|
|
|
472
472
|
geminiStatus();
|
|
473
473
|
break;
|
|
474
474
|
default:
|
|
475
|
-
console.log(`
|
|
476
|
-
Gemini Commands:
|
|
477
|
-
vibe gemini auth OAuth authentication
|
|
478
|
-
vibe gemini key Set API key
|
|
479
|
-
vibe gemini status Check status
|
|
480
|
-
vibe gemini logout Logout
|
|
481
|
-
vibe gemini remove Remove config
|
|
475
|
+
console.log(`
|
|
476
|
+
Gemini Commands:
|
|
477
|
+
vibe gemini auth OAuth authentication
|
|
478
|
+
vibe gemini key Set API key
|
|
479
|
+
vibe gemini status Check status
|
|
480
|
+
vibe gemini logout Logout
|
|
481
|
+
vibe gemini remove Remove config
|
|
482
482
|
`);
|
|
483
483
|
}
|
|
484
484
|
break;
|
|
@@ -498,20 +498,20 @@ Gemini Commands:
|
|
|
498
498
|
showHelp();
|
|
499
499
|
break;
|
|
500
500
|
default:
|
|
501
|
-
console.log(`
|
|
502
|
-
❌ Unknown command: ${command}
|
|
503
|
-
|
|
504
|
-
Available commands:
|
|
505
|
-
vibe init Initialize project
|
|
506
|
-
vibe update Update settings
|
|
507
|
-
vibe gpt <cmd> GPT commands (auth, key, status, logout)
|
|
508
|
-
vibe gemini <cmd> Gemini commands (auth, key, status, logout)
|
|
509
|
-
vibe status Show status
|
|
510
|
-
vibe remove Remove vibe
|
|
511
|
-
vibe help Help
|
|
512
|
-
vibe version Version info
|
|
513
|
-
|
|
514
|
-
Usage: vibe help
|
|
501
|
+
console.log(`
|
|
502
|
+
❌ Unknown command: ${command}
|
|
503
|
+
|
|
504
|
+
Available commands:
|
|
505
|
+
vibe init Initialize project
|
|
506
|
+
vibe update Update settings
|
|
507
|
+
vibe gpt <cmd> GPT commands (auth, key, status, logout)
|
|
508
|
+
vibe gemini <cmd> Gemini commands (auth, key, status, logout)
|
|
509
|
+
vibe status Show status
|
|
510
|
+
vibe remove Remove vibe
|
|
511
|
+
vibe help Help
|
|
512
|
+
vibe version Version info
|
|
513
|
+
|
|
514
|
+
Usage: vibe help
|
|
515
515
|
`);
|
|
516
516
|
process.exit(1);
|
|
517
517
|
}
|