@su-record/vibe 2.6.28 → 2.6.31
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 +235 -202
- package/LICENSE +21 -21
- package/README.md +276 -267
- 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/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-previewer.md +268 -268
- package/commands/vibe.analyze.md +356 -356
- package/commands/vibe.reason.md +329 -329
- package/commands/vibe.review.md +423 -423
- package/commands/vibe.run.md +1423 -1313
- package/commands/vibe.spec.md +1054 -1054
- package/commands/vibe.spec.review.md +412 -412
- package/commands/vibe.trace.md +161 -161
- package/commands/vibe.utils.md +376 -376
- package/commands/vibe.verify.md +375 -375
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/detect.js +32 -32
- package/dist/cli/hud.js +20 -20
- package/dist/cli/index.js +112 -112
- package/dist/cli/llm.js +144 -144
- package/dist/cli/postinstall.js +858 -858
- package/dist/lib/DeepInit.js +24 -24
- package/dist/lib/IterationTracker.js +11 -11
- package/dist/lib/PythonParser.js +108 -108
- package/dist/lib/ReviewRace.js +96 -96
- package/dist/lib/SkillFrontmatter.js +28 -28
- package/dist/lib/SkillQualityGate.js +9 -9
- package/dist/lib/SkillRepository.js +159 -159
- package/dist/lib/UltraQA.js +77 -77
- package/dist/lib/gemini-api.d.ts +13 -0
- package/dist/lib/gemini-api.d.ts.map +1 -1
- package/dist/lib/gemini-api.js +63 -5
- package/dist/lib/gemini-api.js.map +1 -1
- package/dist/lib/gpt-api.js +4 -4
- package/dist/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/lib/memory/MemorySearch.js +43 -43
- package/dist/lib/memory/MemoryStorage.js +130 -130
- package/dist/lib/memory/ObservationStore.js +28 -28
- package/dist/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/lib/memory/SessionRAGStore.js +216 -216
- package/dist/lib/memory/SessionSummarizer.js +9 -9
- package/dist/orchestrator/AgentManager.js +12 -12
- package/dist/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/orchestrator/SmartRouter.js +11 -11
- package/dist/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/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/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/hooks.json +115 -115
- package/hooks/scripts/code-check.js +70 -70
- 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 +53 -53
- package/hooks/scripts/gemini-ui-gen.js +281 -281
- package/hooks/scripts/generate-brand-assets.js +474 -474
- package/hooks/scripts/hud-multiline.js +262 -262
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +245 -171
- package/hooks/scripts/post-edit.js +97 -97
- package/hooks/scripts/post-tool-verify.js +210 -210
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +161 -161
- package/hooks/scripts/recall.js +22 -22
- package/hooks/scripts/session-start.js +30 -30
- package/hooks/scripts/skill-injector.js +191 -191
- 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 +84 -84
- package/skills/brand-assets.md +141 -141
- package/skills/commerce-patterns.md +361 -361
- package/skills/context7-usage.md +102 -102
- package/skills/e2e-commerce.md +304 -304
- package/skills/frontend-design.md +92 -92
- 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 -244
- 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/mcp.d.ts +0 -49
- package/dist/cli/mcp.d.ts.map +0 -1
- package/dist/cli/mcp.js +0 -169
- package/dist/cli/mcp.js.map +0 -1
- package/dist/lib/gemini-mcp.d.ts +0 -10
- package/dist/lib/gemini-mcp.d.ts.map +0 -1
- package/dist/lib/gemini-mcp.js +0 -353
- package/dist/lib/gemini-mcp.js.map +0 -1
- package/dist/lib/gpt-mcp.d.ts +0 -10
- package/dist/lib/gpt-mcp.d.ts.map +0 -1
- package/dist/lib/gpt-mcp.js +0 -352
- package/dist/lib/gpt-mcp.js.map +0 -1
- package/dist/tools/analytics/getUsageAnalytics.d.ts +0 -10
- package/dist/tools/analytics/getUsageAnalytics.d.ts.map +0 -1
- package/dist/tools/analytics/getUsageAnalytics.js +0 -246
- package/dist/tools/analytics/getUsageAnalytics.js.map +0 -1
- package/dist/tools/analytics/index.d.ts +0 -5
- package/dist/tools/analytics/index.d.ts.map +0 -1
- package/dist/tools/analytics/index.js +0 -5
- package/dist/tools/analytics/index.js.map +0 -1
- package/dist/tools/convention/getCodingGuide.d.ts +0 -7
- package/dist/tools/convention/getCodingGuide.d.ts.map +0 -1
- package/dist/tools/convention/getCodingGuide.js +0 -69
- package/dist/tools/convention/getCodingGuide.js.map +0 -1
- package/dist/tools/planning/analyzeRequirements.d.ts +0 -9
- package/dist/tools/planning/analyzeRequirements.d.ts.map +0 -1
- package/dist/tools/planning/analyzeRequirements.js +0 -171
- package/dist/tools/planning/analyzeRequirements.js.map +0 -1
- package/dist/tools/planning/createUserStories.d.ts +0 -9
- package/dist/tools/planning/createUserStories.d.ts.map +0 -1
- package/dist/tools/planning/createUserStories.js +0 -124
- package/dist/tools/planning/createUserStories.js.map +0 -1
- package/dist/tools/planning/featureRoadmap.d.ts +0 -10
- package/dist/tools/planning/featureRoadmap.d.ts.map +0 -1
- package/dist/tools/planning/featureRoadmap.js +0 -207
- package/dist/tools/planning/featureRoadmap.js.map +0 -1
- package/dist/tools/planning/generatePrd.d.ts +0 -11
- package/dist/tools/planning/generatePrd.d.ts.map +0 -1
- package/dist/tools/planning/generatePrd.js +0 -161
- package/dist/tools/planning/generatePrd.js.map +0 -1
- package/dist/tools/planning/index.d.ts +0 -8
- package/dist/tools/planning/index.d.ts.map +0 -1
- package/dist/tools/planning/index.js +0 -8
- package/dist/tools/planning/index.js.map +0 -1
- package/dist/tools/prompt/analyzePrompt.d.ts +0 -7
- package/dist/tools/prompt/analyzePrompt.d.ts.map +0 -1
- package/dist/tools/prompt/analyzePrompt.js +0 -150
- package/dist/tools/prompt/analyzePrompt.js.map +0 -1
- package/dist/tools/prompt/enhancePrompt.d.ts +0 -8
- package/dist/tools/prompt/enhancePrompt.d.ts.map +0 -1
- package/dist/tools/prompt/enhancePrompt.js +0 -110
- package/dist/tools/prompt/enhancePrompt.js.map +0 -1
- package/dist/tools/prompt/enhancePromptGemini.d.ts +0 -8
- package/dist/tools/prompt/enhancePromptGemini.d.ts.map +0 -1
- package/dist/tools/prompt/enhancePromptGemini.js +0 -332
- package/dist/tools/prompt/enhancePromptGemini.js.map +0 -1
- package/dist/tools/prompt/index.d.ts +0 -7
- package/dist/tools/prompt/index.d.ts.map +0 -1
- package/dist/tools/prompt/index.js +0 -7
- package/dist/tools/prompt/index.js.map +0 -1
- package/dist/tools/reasoning/applyReasoningFramework.d.ts +0 -8
- package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +0 -1
- package/dist/tools/reasoning/applyReasoningFramework.js +0 -266
- package/dist/tools/reasoning/applyReasoningFramework.js.map +0 -1
- package/dist/tools/reasoning/index.d.ts +0 -5
- package/dist/tools/reasoning/index.d.ts.map +0 -1
- package/dist/tools/reasoning/index.js +0 -5
- package/dist/tools/reasoning/index.js.map +0 -1
- package/dist/tools/thinking/analyzeProblem.d.ts +0 -7
- package/dist/tools/thinking/analyzeProblem.d.ts.map +0 -1
- package/dist/tools/thinking/analyzeProblem.js +0 -55
- package/dist/tools/thinking/analyzeProblem.js.map +0 -1
- package/dist/tools/thinking/breakDownProblem.d.ts +0 -8
- package/dist/tools/thinking/breakDownProblem.d.ts.map +0 -1
- package/dist/tools/thinking/breakDownProblem.js +0 -145
- package/dist/tools/thinking/breakDownProblem.js.map +0 -1
- package/dist/tools/thinking/createThinkingChain.d.ts +0 -7
- package/dist/tools/thinking/createThinkingChain.d.ts.map +0 -1
- package/dist/tools/thinking/createThinkingChain.js +0 -44
- package/dist/tools/thinking/createThinkingChain.js.map +0 -1
- package/dist/tools/thinking/formatAsPlan.d.ts +0 -9
- package/dist/tools/thinking/formatAsPlan.d.ts.map +0 -1
- package/dist/tools/thinking/formatAsPlan.js +0 -78
- package/dist/tools/thinking/formatAsPlan.js.map +0 -1
- package/dist/tools/thinking/index.d.ts +0 -10
- package/dist/tools/thinking/index.d.ts.map +0 -1
- package/dist/tools/thinking/index.js +0 -10
- package/dist/tools/thinking/index.js.map +0 -1
- package/dist/tools/thinking/stepByStepAnalysis.d.ts +0 -8
- package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +0 -1
- package/dist/tools/thinking/stepByStepAnalysis.js +0 -63
- package/dist/tools/thinking/stepByStepAnalysis.js.map +0 -1
- package/dist/tools/thinking/thinkAloudProcess.d.ts +0 -8
- package/dist/tools/thinking/thinkAloudProcess.d.ts.map +0 -1
- package/dist/tools/thinking/thinkAloudProcess.js +0 -80
- package/dist/tools/thinking/thinkAloudProcess.js.map +0 -1
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
|
@@ -512,45 +512,45 @@ export function getLanguageRulesForStacks(stacks) {
|
|
|
512
512
|
* 언어별 CLAUDE.md 규칙
|
|
513
513
|
*/
|
|
514
514
|
export const LANGUAGE_RULES = {
|
|
515
|
-
typescript: `### TypeScript Rules
|
|
516
|
-
- No \`any\` type → use \`unknown\` + type guards
|
|
517
|
-
- No \`as any\` casting → define proper interfaces
|
|
518
|
-
- No \`@ts-ignore\` → fix type issues at root
|
|
515
|
+
typescript: `### TypeScript Rules
|
|
516
|
+
- No \`any\` type → use \`unknown\` + type guards
|
|
517
|
+
- No \`as any\` casting → define proper interfaces
|
|
518
|
+
- No \`@ts-ignore\` → fix type issues at root
|
|
519
519
|
- Explicit return types on all functions`,
|
|
520
|
-
python: `### Python Rules
|
|
521
|
-
- Type hints required (parameters, return values)
|
|
522
|
-
- No \`# type: ignore\` → fix type issues at root
|
|
523
|
-
- Prefer f-strings (over format())
|
|
520
|
+
python: `### Python Rules
|
|
521
|
+
- Type hints required (parameters, return values)
|
|
522
|
+
- No \`# type: ignore\` → fix type issues at root
|
|
523
|
+
- Prefer f-strings (over format())
|
|
524
524
|
- Use list comprehensions appropriately`,
|
|
525
|
-
go: `### Go Rules
|
|
526
|
-
- Handle errors immediately (if err != nil)
|
|
527
|
-
- Explicit error wrapping (fmt.Errorf with %w)
|
|
528
|
-
- Define interfaces at point of use
|
|
525
|
+
go: `### Go Rules
|
|
526
|
+
- Handle errors immediately (if err != nil)
|
|
527
|
+
- Explicit error wrapping (fmt.Errorf with %w)
|
|
528
|
+
- Define interfaces at point of use
|
|
529
529
|
- Prevent goroutine leaks (use context)`,
|
|
530
|
-
rust: `### Rust Rules
|
|
531
|
-
- No unwrap()/expect() in production → handle Result/Option
|
|
532
|
-
- Minimize unsafe blocks
|
|
533
|
-
- Define explicit error types
|
|
530
|
+
rust: `### Rust Rules
|
|
531
|
+
- No unwrap()/expect() in production → handle Result/Option
|
|
532
|
+
- Minimize unsafe blocks
|
|
533
|
+
- Define explicit error types
|
|
534
534
|
- Document ownership/lifetime clearly`,
|
|
535
|
-
java: `### Java Rules
|
|
536
|
-
- Use Optional (instead of null)
|
|
537
|
-
- Prefer immutable objects (final fields)
|
|
538
|
-
- Handle checked exceptions properly
|
|
535
|
+
java: `### Java Rules
|
|
536
|
+
- Use Optional (instead of null)
|
|
537
|
+
- Prefer immutable objects (final fields)
|
|
538
|
+
- Handle checked exceptions properly
|
|
539
539
|
- Utilize Stream API`,
|
|
540
|
-
kotlin: `### Kotlin Rules
|
|
541
|
-
- Explicit nullable types (?)
|
|
542
|
-
- No !! operator → use safe call (?.)
|
|
543
|
-
- Use data classes actively
|
|
540
|
+
kotlin: `### Kotlin Rules
|
|
541
|
+
- Explicit nullable types (?)
|
|
542
|
+
- No !! operator → use safe call (?.)
|
|
543
|
+
- Use data classes actively
|
|
544
544
|
- Implement utilities as extension functions`,
|
|
545
|
-
dart: `### Dart Rules
|
|
546
|
-
- Follow null safety (use ? and ! properly)
|
|
547
|
-
- Avoid late keyword abuse
|
|
548
|
-
- Use const constructors
|
|
545
|
+
dart: `### Dart Rules
|
|
546
|
+
- Follow null safety (use ? and ! properly)
|
|
547
|
+
- Avoid late keyword abuse
|
|
548
|
+
- Use const constructors
|
|
549
549
|
- Use async/await for async code`,
|
|
550
|
-
swift: `### Swift Rules
|
|
551
|
-
- No force unwrapping → use guard let / if let
|
|
552
|
-
- Prefer protocol-oriented programming
|
|
553
|
-
- Prefer value types (struct)
|
|
550
|
+
swift: `### Swift Rules
|
|
551
|
+
- No force unwrapping → use guard let / if let
|
|
552
|
+
- Prefer protocol-oriented programming
|
|
553
|
+
- Prefer value types (struct)
|
|
554
554
|
- Watch memory management with @escaping closures`
|
|
555
555
|
};
|
|
556
556
|
/**
|
package/dist/cli/hud.js
CHANGED
|
@@ -222,26 +222,26 @@ export function resetHud() {
|
|
|
222
222
|
* Show HUD help
|
|
223
223
|
*/
|
|
224
224
|
export function showHudHelp() {
|
|
225
|
-
console.log(`
|
|
226
|
-
VIBE HUD - Real-time status visualization
|
|
227
|
-
|
|
228
|
-
Commands:
|
|
229
|
-
vibe hud Show current status (focused)
|
|
230
|
-
vibe hud show [format] Show status (minimal|focused|full)
|
|
231
|
-
vibe hud start [mode] [name] Start tracking (ultrawork|spec|review)
|
|
232
|
-
vibe hud phase <cur> <tot> [name] Update phase progress
|
|
233
|
-
vibe hud agent add <name> [model] Add agent
|
|
234
|
-
vibe hud agent remove <name> Remove agent
|
|
235
|
-
vibe hud agent clear Clear all agents
|
|
236
|
-
vibe hud context <used> [total] Update context usage
|
|
237
|
-
vibe hud reset Reset to idle state
|
|
238
|
-
|
|
239
|
-
Examples:
|
|
240
|
-
vibe hud show full
|
|
241
|
-
vibe hud start ultrawork "login-feature"
|
|
242
|
-
vibe hud phase 2 5 "Implementing core"
|
|
243
|
-
vibe hud agent add "explorer-1" haiku
|
|
244
|
-
vibe hud context 50000 200000
|
|
225
|
+
console.log(`
|
|
226
|
+
VIBE HUD - Real-time status visualization
|
|
227
|
+
|
|
228
|
+
Commands:
|
|
229
|
+
vibe hud Show current status (focused)
|
|
230
|
+
vibe hud show [format] Show status (minimal|focused|full)
|
|
231
|
+
vibe hud start [mode] [name] Start tracking (ultrawork|spec|review)
|
|
232
|
+
vibe hud phase <cur> <tot> [name] Update phase progress
|
|
233
|
+
vibe hud agent add <name> [model] Add agent
|
|
234
|
+
vibe hud agent remove <name> Remove agent
|
|
235
|
+
vibe hud agent clear Clear all agents
|
|
236
|
+
vibe hud context <used> [total] Update context usage
|
|
237
|
+
vibe hud reset Reset to idle state
|
|
238
|
+
|
|
239
|
+
Examples:
|
|
240
|
+
vibe hud show full
|
|
241
|
+
vibe hud start ultrawork "login-feature"
|
|
242
|
+
vibe hud phase 2 5 "Implementing core"
|
|
243
|
+
vibe hud agent add "explorer-1" haiku
|
|
244
|
+
vibe hud context 50000 200000
|
|
245
245
|
`);
|
|
246
246
|
}
|
|
247
247
|
//# sourceMappingURL=hud.js.map
|
package/dist/cli/index.js
CHANGED
|
@@ -128,11 +128,11 @@ async function init(projectName) {
|
|
|
128
128
|
installCursorRules(projectRoot, stackTypes);
|
|
129
129
|
// 완료 메시지
|
|
130
130
|
const packageJson = getPackageJson();
|
|
131
|
-
log(`✅ vibe initialized (v${packageJson.version})
|
|
132
|
-
${formatLLMStatus()}
|
|
133
|
-
📦 Context7 plugin (recommended): /plugin install context7
|
|
134
|
-
|
|
135
|
-
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
131
|
+
log(`✅ vibe initialized (v${packageJson.version})
|
|
132
|
+
${formatLLMStatus()}
|
|
133
|
+
📦 Context7 plugin (recommended): /plugin install context7
|
|
134
|
+
|
|
135
|
+
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
136
136
|
`);
|
|
137
137
|
}
|
|
138
138
|
catch (error) {
|
|
@@ -193,8 +193,8 @@ async function update() {
|
|
|
193
193
|
if (!fs.existsSync(vibeDir) && !fs.existsSync(legacyVibeDir)) {
|
|
194
194
|
// 프로젝트가 없어도 전역 업그레이드는 완료됨
|
|
195
195
|
const packageJson = getPackageJson();
|
|
196
|
-
log(`✅ vibe global updated (v${packageJson.version})
|
|
197
|
-
${formatLLMStatus()}
|
|
196
|
+
log(`✅ vibe global updated (v${packageJson.version})
|
|
197
|
+
${formatLLMStatus()}
|
|
198
198
|
`);
|
|
199
199
|
return;
|
|
200
200
|
}
|
|
@@ -229,9 +229,9 @@ ${formatLLMStatus()}
|
|
|
229
229
|
// 레거시 mcp 폴더 정리
|
|
230
230
|
cleanupLegacyMcp(vibeDir);
|
|
231
231
|
const packageJson = getPackageJson();
|
|
232
|
-
log(`✅ vibe updated (v${packageJson.version})
|
|
233
|
-
${formatLLMStatus()}
|
|
234
|
-
📦 Context7 plugin (recommended): /plugin install context7
|
|
232
|
+
log(`✅ vibe updated (v${packageJson.version})
|
|
233
|
+
${formatLLMStatus()}
|
|
234
|
+
📦 Context7 plugin (recommended): /plugin install context7
|
|
235
235
|
`);
|
|
236
236
|
}
|
|
237
237
|
catch (error) {
|
|
@@ -355,65 +355,65 @@ function remove() {
|
|
|
355
355
|
console.log(` ✅ Cursor rules template removed (${removedRules})\n`);
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
console.log(`
|
|
359
|
-
✅ vibe removed!
|
|
360
|
-
|
|
361
|
-
Removed:
|
|
362
|
-
- MCP server (context7)
|
|
363
|
-
- .claude/vibe/ folder
|
|
364
|
-
- Slash commands (7)
|
|
365
|
-
- Subagents (5)
|
|
366
|
-
- Hooks settings
|
|
367
|
-
- Cursor agents (12)
|
|
368
|
-
- Cursor skills (7)
|
|
369
|
-
- Cursor rules template (5)
|
|
370
|
-
|
|
371
|
-
To reinstall: vibe init
|
|
358
|
+
console.log(`
|
|
359
|
+
✅ vibe removed!
|
|
360
|
+
|
|
361
|
+
Removed:
|
|
362
|
+
- MCP server (context7)
|
|
363
|
+
- .claude/vibe/ folder
|
|
364
|
+
- Slash commands (7)
|
|
365
|
+
- Subagents (5)
|
|
366
|
+
- Hooks settings
|
|
367
|
+
- Cursor agents (12)
|
|
368
|
+
- Cursor skills (7)
|
|
369
|
+
- Cursor rules template (5)
|
|
370
|
+
|
|
371
|
+
To reinstall: vibe init
|
|
372
372
|
`);
|
|
373
373
|
}
|
|
374
374
|
// ============================================================================
|
|
375
375
|
// Info Commands
|
|
376
376
|
// ============================================================================
|
|
377
377
|
function showHelp() {
|
|
378
|
-
console.log(`
|
|
379
|
-
📖 Vibe - SPEC-driven AI coding framework (Claude Code exclusive)
|
|
380
|
-
|
|
381
|
-
Commands:
|
|
382
|
-
vibe init [project] Initialize project
|
|
383
|
-
vibe update Update settings
|
|
384
|
-
vibe status Show status
|
|
385
|
-
vibe hud [subcommand] HUD status display
|
|
386
|
-
vibe help Help
|
|
387
|
-
vibe version Version
|
|
388
|
-
|
|
389
|
-
GPT:
|
|
390
|
-
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
391
|
-
vibe gpt key <KEY> Set API key
|
|
392
|
-
vibe gpt status Check status
|
|
393
|
-
vibe gpt logout Logout
|
|
394
|
-
vibe gpt remove Remove config
|
|
395
|
-
|
|
396
|
-
Gemini:
|
|
397
|
-
vibe gemini auth OAuth authentication
|
|
398
|
-
vibe gemini key <KEY> Set API key
|
|
399
|
-
vibe gemini status Check status
|
|
400
|
-
vibe gemini logout Logout
|
|
401
|
-
vibe gemini remove Remove config
|
|
402
|
-
|
|
403
|
-
Slash Commands (Claude Code):
|
|
404
|
-
/vibe.spec "feature" Create SPEC + parallel research
|
|
405
|
-
/vibe.run "feature" Execute implementation
|
|
406
|
-
/vibe.verify "feature" BDD verification
|
|
407
|
-
/vibe.review Parallel code review (13+ agents)
|
|
408
|
-
/vibe.reason "problem" Systematic reasoning
|
|
409
|
-
/vibe.analyze Project analysis
|
|
410
|
-
/vibe.utils Utilities (--e2e, --diagram, --continue)
|
|
411
|
-
|
|
412
|
-
Workflow:
|
|
413
|
-
/vibe.spec "feature" ultrawork Full automation (SPEC→Review→Implement)
|
|
414
|
-
/vibe.spec → /vibe.run Manual step-by-step
|
|
415
|
-
|
|
416
|
-
Docs: https://github.com/su-record/vibe
|
|
378
|
+
console.log(`
|
|
379
|
+
📖 Vibe - SPEC-driven AI coding framework (Claude Code exclusive)
|
|
380
|
+
|
|
381
|
+
Commands:
|
|
382
|
+
vibe init [project] Initialize project
|
|
383
|
+
vibe update Update settings
|
|
384
|
+
vibe status Show status
|
|
385
|
+
vibe hud [subcommand] HUD status display
|
|
386
|
+
vibe help Help
|
|
387
|
+
vibe version Version
|
|
388
|
+
|
|
389
|
+
GPT:
|
|
390
|
+
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
391
|
+
vibe gpt key <KEY> Set API key
|
|
392
|
+
vibe gpt status Check status
|
|
393
|
+
vibe gpt logout Logout
|
|
394
|
+
vibe gpt remove Remove config
|
|
395
|
+
|
|
396
|
+
Gemini:
|
|
397
|
+
vibe gemini auth OAuth authentication
|
|
398
|
+
vibe gemini key <KEY> Set API key
|
|
399
|
+
vibe gemini status Check status
|
|
400
|
+
vibe gemini logout Logout
|
|
401
|
+
vibe gemini remove Remove config
|
|
402
|
+
|
|
403
|
+
Slash Commands (Claude Code):
|
|
404
|
+
/vibe.spec "feature" Create SPEC + parallel research
|
|
405
|
+
/vibe.run "feature" Execute implementation
|
|
406
|
+
/vibe.verify "feature" BDD verification
|
|
407
|
+
/vibe.review Parallel code review (13+ agents)
|
|
408
|
+
/vibe.reason "problem" Systematic reasoning
|
|
409
|
+
/vibe.analyze Project analysis
|
|
410
|
+
/vibe.utils Utilities (--e2e, --diagram, --continue)
|
|
411
|
+
|
|
412
|
+
Workflow:
|
|
413
|
+
/vibe.spec "feature" ultrawork Full automation (SPEC→Review→Implement)
|
|
414
|
+
/vibe.spec → /vibe.run Manual step-by-step
|
|
415
|
+
|
|
416
|
+
Docs: https://github.com/su-record/vibe
|
|
417
417
|
`);
|
|
418
418
|
}
|
|
419
419
|
function showStatus() {
|
|
@@ -452,21 +452,21 @@ function showStatus() {
|
|
|
452
452
|
const projectStatus = isVibeProject
|
|
453
453
|
? `✅ ${projectRoot}`
|
|
454
454
|
: `⬚ Not a vibe project (run: vibe init)`;
|
|
455
|
-
console.log(`
|
|
456
|
-
📊 Vibe Status (v${packageJson.version})
|
|
457
|
-
|
|
458
|
-
Project: ${projectStatus}
|
|
459
|
-
${isVibeProject ? `Language: ${config.language || 'ko'}` : ''}
|
|
460
|
-
|
|
461
|
-
Models:
|
|
462
|
-
Opus 4.5 Orchestrator
|
|
463
|
-
Sonnet 4 Implementation
|
|
464
|
-
Haiku 4.5 Code exploration
|
|
465
|
-
GPT 5.2 ${gptStatusText}
|
|
466
|
-
Gemini 3 ${geminiStatusText}
|
|
467
|
-
|
|
468
|
-
MCP:
|
|
469
|
-
context7 Library docs search
|
|
455
|
+
console.log(`
|
|
456
|
+
📊 Vibe Status (v${packageJson.version})
|
|
457
|
+
|
|
458
|
+
Project: ${projectStatus}
|
|
459
|
+
${isVibeProject ? `Language: ${config.language || 'ko'}` : ''}
|
|
460
|
+
|
|
461
|
+
Models:
|
|
462
|
+
Opus 4.5 Orchestrator
|
|
463
|
+
Sonnet 4 Implementation
|
|
464
|
+
Haiku 4.5 Code exploration
|
|
465
|
+
GPT 5.2 ${gptStatusText}
|
|
466
|
+
Gemini 3 ${geminiStatusText}
|
|
467
|
+
|
|
468
|
+
MCP:
|
|
469
|
+
context7 Library docs search
|
|
470
470
|
`);
|
|
471
471
|
}
|
|
472
472
|
function showVersion() {
|
|
@@ -546,13 +546,13 @@ switch (command) {
|
|
|
546
546
|
gptStatus();
|
|
547
547
|
break;
|
|
548
548
|
default:
|
|
549
|
-
console.log(`
|
|
550
|
-
GPT Commands:
|
|
551
|
-
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
552
|
-
vibe gpt key Set API key
|
|
553
|
-
vibe gpt status Check status
|
|
554
|
-
vibe gpt logout Logout
|
|
555
|
-
vibe gpt remove Remove config
|
|
549
|
+
console.log(`
|
|
550
|
+
GPT Commands:
|
|
551
|
+
vibe gpt auth OAuth authentication (Plus/Pro)
|
|
552
|
+
vibe gpt key Set API key
|
|
553
|
+
vibe gpt status Check status
|
|
554
|
+
vibe gpt logout Logout
|
|
555
|
+
vibe gpt remove Remove config
|
|
556
556
|
`);
|
|
557
557
|
}
|
|
558
558
|
break;
|
|
@@ -584,13 +584,13 @@ GPT Commands:
|
|
|
584
584
|
geminiStatus();
|
|
585
585
|
break;
|
|
586
586
|
default:
|
|
587
|
-
console.log(`
|
|
588
|
-
Gemini Commands:
|
|
589
|
-
vibe gemini auth OAuth authentication
|
|
590
|
-
vibe gemini key Set API key
|
|
591
|
-
vibe gemini status Check status
|
|
592
|
-
vibe gemini logout Logout
|
|
593
|
-
vibe gemini remove Remove config
|
|
587
|
+
console.log(`
|
|
588
|
+
Gemini Commands:
|
|
589
|
+
vibe gemini auth OAuth authentication
|
|
590
|
+
vibe gemini key Set API key
|
|
591
|
+
vibe gemini status Check status
|
|
592
|
+
vibe gemini logout Logout
|
|
593
|
+
vibe gemini remove Remove config
|
|
594
594
|
`);
|
|
595
595
|
}
|
|
596
596
|
break;
|
|
@@ -627,11 +627,11 @@ Gemini Commands:
|
|
|
627
627
|
manageHudAgent('clear');
|
|
628
628
|
}
|
|
629
629
|
else {
|
|
630
|
-
console.log(`
|
|
631
|
-
Agent Commands:
|
|
632
|
-
vibe hud agent add <name> [model] Add agent (default: sonnet)
|
|
633
|
-
vibe hud agent remove <name> Remove agent
|
|
634
|
-
vibe hud agent clear Clear all agents
|
|
630
|
+
console.log(`
|
|
631
|
+
Agent Commands:
|
|
632
|
+
vibe hud agent add <name> [model] Add agent (default: sonnet)
|
|
633
|
+
vibe hud agent remove <name> Remove agent
|
|
634
|
+
vibe hud agent clear Clear all agents
|
|
635
635
|
`);
|
|
636
636
|
}
|
|
637
637
|
break;
|
|
@@ -670,21 +670,21 @@ Agent Commands:
|
|
|
670
670
|
showHelp();
|
|
671
671
|
break;
|
|
672
672
|
default:
|
|
673
|
-
console.log(`
|
|
674
|
-
❌ Unknown command: ${command}
|
|
675
|
-
|
|
676
|
-
Available commands:
|
|
677
|
-
vibe init Initialize project
|
|
678
|
-
vibe update Update settings
|
|
679
|
-
vibe hud <cmd> HUD status (show, start, phase, agent, reset)
|
|
680
|
-
vibe gpt <cmd> GPT commands (auth, key, status, logout)
|
|
681
|
-
vibe gemini <cmd> Gemini commands (auth, key, status, logout)
|
|
682
|
-
vibe status Show status
|
|
683
|
-
vibe remove Remove vibe
|
|
684
|
-
vibe help Help
|
|
685
|
-
vibe version Version info
|
|
686
|
-
|
|
687
|
-
Usage: vibe help
|
|
673
|
+
console.log(`
|
|
674
|
+
❌ Unknown command: ${command}
|
|
675
|
+
|
|
676
|
+
Available commands:
|
|
677
|
+
vibe init Initialize project
|
|
678
|
+
vibe update Update settings
|
|
679
|
+
vibe hud <cmd> HUD status (show, start, phase, agent, reset)
|
|
680
|
+
vibe gpt <cmd> GPT commands (auth, key, status, logout)
|
|
681
|
+
vibe gemini <cmd> Gemini commands (auth, key, status, logout)
|
|
682
|
+
vibe status Show status
|
|
683
|
+
vibe remove Remove vibe
|
|
684
|
+
vibe help Help
|
|
685
|
+
vibe version Version info
|
|
686
|
+
|
|
687
|
+
Usage: vibe help
|
|
688
688
|
`);
|
|
689
689
|
process.exit(1);
|
|
690
690
|
}
|