@su-record/vibe 2.7.14 → 2.7.16
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 +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- 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 +294 -294
- 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 +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +51 -55
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +7 -8
- 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/setup/Provisioner.js +42 -42
- 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.js +21 -21
- 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.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- 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 +77 -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 +475 -475
- 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 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -48
- package/skills/e2e-commerce/SKILL.md +61 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -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 +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -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
package/commands/vibe.verify.md
CHANGED
|
@@ -115,15 +115,25 @@ Then: Login success + JWT token returned
|
|
|
115
115
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
### 3. Verification Methods (
|
|
118
|
+
### 3. Verification Methods (PARALLEL — run all applicable at once)
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
|
|
125
|
-
| **
|
|
126
|
-
| **
|
|
120
|
+
> **Run these as parallel sub-agents, not sequentially in main session.**
|
|
121
|
+
> Each method returns pass/fail summary (~200 tokens) instead of bloating main context.
|
|
122
|
+
|
|
123
|
+
| Method | Agent | Condition |
|
|
124
|
+
|--------|-------|-----------|
|
|
125
|
+
| **Test Execution** | `Task(Bash, "npm test")` | When test files exist |
|
|
126
|
+
| **Build Verification** | `Task(Bash, "npm run build")` | When build script exists |
|
|
127
|
+
| **Type Check** | `Task(subagent_type="typescript-reviewer")` | TypeScript projects |
|
|
128
|
+
| **Code Analysis** | `Task(subagent_type="explorer-low")` | Always (verify logic against SPEC) |
|
|
129
|
+
| **E2E Closed Loop** | `Task(subagent_type="e2e-tester")` | `--e2e` flag or UI scenarios |
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
# Launch ALL applicable methods in ONE message (parallel)
|
|
133
|
+
Task(Bash, command="npm run build && echo BUILD_OK || echo BUILD_FAIL")
|
|
134
|
+
Task(Bash, command="npm test -- --reporter=verbose 2>&1 | tail -20")
|
|
135
|
+
Task(subagent_type="explorer-low", prompt="Verify [scenario] Given/When/Then against code...")
|
|
136
|
+
```
|
|
127
137
|
|
|
128
138
|
### 3.1. E2E Closed Loop Verification (`--e2e`)
|
|
129
139
|
|
|
@@ -429,6 +439,21 @@ For each scenario, verify at THREE levels:
|
|
|
429
439
|
| Build error | Show error location |
|
|
430
440
|
| Type error | Suggest type annotations |
|
|
431
441
|
|
|
442
|
+
### Failure Escalation (max 3 retries)
|
|
443
|
+
|
|
444
|
+
```
|
|
445
|
+
Auto-fix attempt 1 → Re-verify
|
|
446
|
+
❌ Still failing?
|
|
447
|
+
Auto-fix attempt 2 → Re-verify
|
|
448
|
+
❌ Still failing?
|
|
449
|
+
Auto-fix attempt 3 → Re-verify
|
|
450
|
+
❌ Still failing?
|
|
451
|
+
→ STOP. Do NOT retry further.
|
|
452
|
+
→ Record failure in .claude/vibe/todos/verify-failure-{scenario}.md
|
|
453
|
+
→ Report to user: "Scenario X failed after 3 attempts. Manual review needed."
|
|
454
|
+
→ Continue to next scenario (don't block entire verification)
|
|
455
|
+
```
|
|
456
|
+
|
|
432
457
|
### Verification Report Requirements
|
|
433
458
|
|
|
434
459
|
Every verification MUST produce:
|
package/dist/cli/collaborator.js
CHANGED
|
@@ -56,64 +56,64 @@ export function setupCollaboratorAutoInstall(projectRoot) {
|
|
|
56
56
|
fs.mkdirSync(coreDir, { recursive: true });
|
|
57
57
|
}
|
|
58
58
|
if (!fs.existsSync(setupShPath)) {
|
|
59
|
-
const setupScript = `#!/bin/bash
|
|
60
|
-
# Core collaborator auto-install script
|
|
61
|
-
# Usage: ./.claude/vibe/setup.sh
|
|
62
|
-
|
|
63
|
-
set -e
|
|
64
|
-
|
|
65
|
-
echo "🔧 Checking Core 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 core installation and update
|
|
75
|
-
if command -v vibe &> /dev/null; then
|
|
76
|
-
echo "✅ Core is already installed."
|
|
77
|
-
vibe update --silent
|
|
78
|
-
echo "✅ Core updated!"
|
|
79
|
-
else
|
|
80
|
-
echo "📦 Installing Core..."
|
|
81
|
-
npm install -g @su-record/vibe
|
|
82
|
-
vibe update --silent
|
|
83
|
-
echo "✅ Core 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
|
+
# Core collaborator auto-install script
|
|
61
|
+
# Usage: ./.claude/vibe/setup.sh
|
|
62
|
+
|
|
63
|
+
set -e
|
|
64
|
+
|
|
65
|
+
echo "🔧 Checking Core 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 core installation and update
|
|
75
|
+
if command -v vibe &> /dev/null; then
|
|
76
|
+
echo "✅ Core is already installed."
|
|
77
|
+
vibe update --silent
|
|
78
|
+
echo "✅ Core updated!"
|
|
79
|
+
else
|
|
80
|
+
echo "📦 Installing Core..."
|
|
81
|
+
npm install -g @su-record/vibe
|
|
82
|
+
vibe update --silent
|
|
83
|
+
echo "✅ Core 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 coreSetupSection = `
|
|
97
|
-
## Core 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 coreSetupSection = `
|
|
97
|
+
## Core 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');
|
|
@@ -193,18 +193,18 @@ export function evolutionGaps() {
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
export function evolutionHelp() {
|
|
196
|
-
console.log(`
|
|
197
|
-
Evolution Commands:
|
|
198
|
-
vibe evolution status Show overall status
|
|
199
|
-
vibe evolution list List all generations
|
|
200
|
-
vibe evolution approve <id> Approve draft → testing
|
|
201
|
-
vibe evolution reject <id> Reject draft
|
|
202
|
-
vibe evolution disable <id> Disable a generation
|
|
203
|
-
vibe evolution rollback <id> Rollback to previous version
|
|
204
|
-
vibe evolution disable-all Emergency disable all
|
|
205
|
-
vibe evolution run Manual evolution cycle
|
|
206
|
-
vibe evolution insights Show confirmed insights
|
|
207
|
-
vibe evolution gaps Show detected skill gaps
|
|
196
|
+
console.log(`
|
|
197
|
+
Evolution Commands:
|
|
198
|
+
vibe evolution status Show overall status
|
|
199
|
+
vibe evolution list List all generations
|
|
200
|
+
vibe evolution approve <id> Approve draft → testing
|
|
201
|
+
vibe evolution reject <id> Reject draft
|
|
202
|
+
vibe evolution disable <id> Disable a generation
|
|
203
|
+
vibe evolution rollback <id> Rollback to previous version
|
|
204
|
+
vibe evolution disable-all Emergency disable all
|
|
205
|
+
vibe evolution run Manual evolution cycle
|
|
206
|
+
vibe evolution insights Show confirmed insights
|
|
207
|
+
vibe evolution gaps Show detected skill gaps
|
|
208
208
|
`);
|
|
209
209
|
}
|
|
210
210
|
//# sourceMappingURL=evolution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAqC/B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAqC/B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CA4EjC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}
|
|
@@ -5,47 +5,46 @@ import path from 'path';
|
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import { getPackageJson } from '../utils.js';
|
|
7
7
|
import { getLLMAuthStatus, formatAuthMethods } from '../auth.js';
|
|
8
|
-
import { getGlobalConfigDir } from '../llm/config.js';
|
|
9
8
|
import { detectCodexCli, detectGeminiCli } from '../utils/cli-detector.js';
|
|
10
9
|
/**
|
|
11
10
|
* 도움말 표시
|
|
12
11
|
*/
|
|
13
12
|
export function showHelp() {
|
|
14
|
-
console.log(`
|
|
15
|
-
VIBE - Personalized AI Agent (Claude Code exclusive)
|
|
16
|
-
|
|
17
|
-
Commands:
|
|
18
|
-
vibe setup 셋업 위자드 (인증, 채널, 설정 한번에)
|
|
19
|
-
vibe init [project] 프로젝트 초기화
|
|
20
|
-
vibe update 설정 업데이트
|
|
21
|
-
vibe upgrade 최신 버전으로 업그레이드
|
|
22
|
-
vibe remove 프로젝트에서 제거
|
|
23
|
-
vibe status 전체 상태 확인
|
|
24
|
-
|
|
25
|
-
LLM:
|
|
26
|
-
vibe claude <cmd> Claude (key, status, logout)
|
|
27
|
-
vibe gpt <cmd> GPT (auth, key, status, logout)
|
|
28
|
-
vibe gemini <cmd> Gemini (auth, key, status, logout)
|
|
29
|
-
vibe env import [path] .env → ~/.vibe/config.json 가져오기
|
|
30
|
-
|
|
31
|
-
Skills:
|
|
32
|
-
vibe skills add <pkg> Install skill from skills.sh
|
|
33
|
-
|
|
34
|
-
Channels:
|
|
35
|
-
vibe telegram <cmd> Telegram (setup, chat, status)
|
|
36
|
-
vibe slack <cmd> Slack (setup, channel, status)
|
|
37
|
-
|
|
38
|
-
Slash Commands (Claude Code):
|
|
39
|
-
/vibe.spec "feature" SPEC 작성 + 리서치
|
|
40
|
-
/vibe.run "feature" 구현 실행
|
|
41
|
-
/vibe.verify "feature" BDD 검증
|
|
42
|
-
/vibe.review 병렬 코드 리뷰 (13+ agents)
|
|
43
|
-
/vibe.reason "problem" 체계적 추론
|
|
44
|
-
/vibe.analyze 프로젝트 분석
|
|
45
|
-
/vibe.trace "feature" 요구사항 추적 매트릭스
|
|
46
|
-
/vibe.utils 유틸리티 (--e2e, --diagram, --continue)
|
|
47
|
-
|
|
48
|
-
Docs: https://github.com/su-record/vibe
|
|
13
|
+
console.log(`
|
|
14
|
+
VIBE - Personalized AI Agent (Claude Code exclusive)
|
|
15
|
+
|
|
16
|
+
Commands:
|
|
17
|
+
vibe setup 셋업 위자드 (인증, 채널, 설정 한번에)
|
|
18
|
+
vibe init [project] 프로젝트 초기화
|
|
19
|
+
vibe update 설정 업데이트
|
|
20
|
+
vibe upgrade 최신 버전으로 업그레이드
|
|
21
|
+
vibe remove 프로젝트에서 제거
|
|
22
|
+
vibe status 전체 상태 확인
|
|
23
|
+
|
|
24
|
+
LLM:
|
|
25
|
+
vibe claude <cmd> Claude (key, status, logout)
|
|
26
|
+
vibe gpt <cmd> GPT (auth, key, status, logout)
|
|
27
|
+
vibe gemini <cmd> Gemini (auth, key, status, logout)
|
|
28
|
+
vibe env import [path] .env → ~/.vibe/config.json 가져오기
|
|
29
|
+
|
|
30
|
+
Skills:
|
|
31
|
+
vibe skills add <pkg> Install skill from skills.sh
|
|
32
|
+
|
|
33
|
+
Channels:
|
|
34
|
+
vibe telegram <cmd> Telegram (setup, chat, status)
|
|
35
|
+
vibe slack <cmd> Slack (setup, channel, status)
|
|
36
|
+
|
|
37
|
+
Slash Commands (Claude Code):
|
|
38
|
+
/vibe.spec "feature" SPEC 작성 + 리서치
|
|
39
|
+
/vibe.run "feature" 구현 실행
|
|
40
|
+
/vibe.verify "feature" BDD 검증
|
|
41
|
+
/vibe.review 병렬 코드 리뷰 (13+ agents)
|
|
42
|
+
/vibe.reason "problem" 체계적 추론
|
|
43
|
+
/vibe.analyze 프로젝트 분석
|
|
44
|
+
/vibe.trace "feature" 요구사항 추적 매트릭스
|
|
45
|
+
/vibe.utils 유틸리티 (--e2e, --diagram, --continue)
|
|
46
|
+
|
|
47
|
+
Docs: https://github.com/su-record/vibe
|
|
49
48
|
`);
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
@@ -101,25 +100,22 @@ export function showStatus() {
|
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
catch { /* DB not available */ }
|
|
104
|
-
console.log(`
|
|
105
|
-
VIBE Status (v${packageJson.version})
|
|
106
|
-
|
|
107
|
-
Project: ${projectStatus}
|
|
108
|
-
${isCoreProject ? `Language: ${config.language || 'ko'}` : ''}
|
|
109
|
-
|
|
110
|
-
LLM:
|
|
111
|
-
Claude ${claudeStatusText}
|
|
112
|
-
GPT ${gptStatusText}
|
|
113
|
-
Gemini ${geminiStatusText}
|
|
114
|
-
|
|
115
|
-
Agent:
|
|
116
|
-
Autonomy ${autonomyMode} mode
|
|
117
|
-
Sentinel ${sentinelOn ? 'ON' : 'OFF'}
|
|
118
|
-
Proactive ${proactiveOn ? 'ON' : 'OFF'}
|
|
119
|
-
${dbStats}
|
|
120
|
-
Services:
|
|
121
|
-
Google Apps ${fs.existsSync(path.join(getGlobalConfigDir(), 'google-tokens.json')) ? '\u2705 Connected (Gmail, Drive, Sheets, Calendar, YouTube)' : '\u2B1A Not connected (vibe setup)'}
|
|
122
|
-
|
|
103
|
+
console.log(`
|
|
104
|
+
VIBE Status (v${packageJson.version})
|
|
105
|
+
|
|
106
|
+
Project: ${projectStatus}
|
|
107
|
+
${isCoreProject ? `Language: ${config.language || 'ko'}` : ''}
|
|
108
|
+
|
|
109
|
+
LLM:
|
|
110
|
+
Claude ${claudeStatusText}
|
|
111
|
+
GPT ${gptStatusText}
|
|
112
|
+
Gemini ${geminiStatusText}
|
|
113
|
+
|
|
114
|
+
Agent:
|
|
115
|
+
Autonomy ${autonomyMode} mode
|
|
116
|
+
Sentinel ${sentinelOn ? 'ON' : 'OFF'}
|
|
117
|
+
Proactive ${proactiveOn ? 'ON' : 'OFF'}
|
|
118
|
+
${dbStats}
|
|
123
119
|
`);
|
|
124
120
|
}
|
|
125
121
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCX,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAM,GAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClF,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IAEpC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnF,UAAU;IACV,MAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC,KAAK,WAAW,EAAE;QACpB,CAAC,CAAC,uCAAuC,CAAC;IAE5C,4CAA4C;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,QAA+C,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,QAA+C,CAAC;IAC3E,MAAM,YAAY,GAAI,WAAW,EAAE,IAAe,IAAI,SAAS,CAAC;IAChE,MAAM,UAAU,GAAG,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC;IAClD,MAAM,YAAY,GAAG,WAAW,EAAE,SAAgD,CAAC;IACnF,MAAM,WAAW,GAAG,YAAY,EAAE,OAAO,KAAK,KAAK,CAAC;IAEpD,eAAe;IACf,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,iEAAiE;YACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhE,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC;gBACH,YAAY,GAAI,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjI,cAAc,GAAI,EAAE,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7J,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;YAErC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,GAAG,eAAe,YAAY,aAAa,cAAc,aAAa,CAAC;YAChF,CAAC;YACD,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC;gBACE,WAAW,CAAC,OAAO;;WAExB,aAAa;EACtB,aAAa,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;;;oBAGzC,gBAAgB;oBAChB,aAAa;oBACb,gBAAgB;;;oBAGhB,YAAY;oBACZ,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oBACzB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;EAC5C,OAAO;GACN,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -264,11 +264,11 @@ export async function init(projectName) {
|
|
|
264
264
|
const packageJson = getPackageJson();
|
|
265
265
|
const authStatus = getLLMAuthStatus();
|
|
266
266
|
const claudeStatus = getClaudeCodeStatus(true);
|
|
267
|
-
log(`✅ vibe initialized (v${packageJson.version})
|
|
268
|
-
${formatLLMStatus(claudeStatus)}
|
|
269
|
-
📦 Context7 plugin (recommended): /plugin install context7
|
|
270
|
-
|
|
271
|
-
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
267
|
+
log(`✅ vibe initialized (v${packageJson.version})
|
|
268
|
+
${formatLLMStatus(claudeStatus)}
|
|
269
|
+
📦 Context7 plugin (recommended): /plugin install context7
|
|
270
|
+
|
|
271
|
+
Next: ${isNewProject ? `cd ${projectName} && ` : ''}/vibe.spec "feature"
|
|
272
272
|
`);
|
|
273
273
|
}
|
|
274
274
|
catch (error) {
|
|
@@ -123,20 +123,20 @@ export function remove() {
|
|
|
123
123
|
console.log(` ✅ Cursor rules template removed (${removedRules})\n`);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
console.log(`
|
|
127
|
-
✅ vibe removed!
|
|
128
|
-
|
|
129
|
-
Removed:
|
|
130
|
-
- MCP server (context7)
|
|
131
|
-
- .claude/vibe/ folder
|
|
132
|
-
- Slash commands (7)
|
|
133
|
-
- Subagents (5)
|
|
134
|
-
- Hooks settings
|
|
135
|
-
- Cursor agents (12)
|
|
136
|
-
- Cursor skills (7)
|
|
137
|
-
- Cursor rules template (5)
|
|
138
|
-
|
|
139
|
-
To reinstall: vibe init
|
|
126
|
+
console.log(`
|
|
127
|
+
✅ vibe removed!
|
|
128
|
+
|
|
129
|
+
Removed:
|
|
130
|
+
- MCP server (context7)
|
|
131
|
+
- .claude/vibe/ folder
|
|
132
|
+
- Slash commands (7)
|
|
133
|
+
- Subagents (5)
|
|
134
|
+
- Hooks settings
|
|
135
|
+
- Cursor agents (12)
|
|
136
|
+
- Cursor skills (7)
|
|
137
|
+
- Cursor rules template (5)
|
|
138
|
+
|
|
139
|
+
To reinstall: vibe init
|
|
140
140
|
`);
|
|
141
141
|
}
|
|
142
142
|
//# sourceMappingURL=remove.js.map
|
|
@@ -65,17 +65,17 @@ export function sentinelStatus() {
|
|
|
65
65
|
catch {
|
|
66
66
|
// Table may not exist
|
|
67
67
|
}
|
|
68
|
-
console.log(`
|
|
69
|
-
Security Sentinel Status
|
|
70
|
-
========================
|
|
71
|
-
Policies: ${policyCount} active
|
|
72
|
-
Confirmations: ${pendingConfirmations} pending
|
|
73
|
-
Suggestions: ${pendingSuggestions} pending
|
|
74
|
-
|
|
75
|
-
Last 24h:
|
|
76
|
-
Total actions: ${totalActions}
|
|
77
|
-
Allowed: ${allowedActions}
|
|
78
|
-
Blocked: ${blockedActions}
|
|
68
|
+
console.log(`
|
|
69
|
+
Security Sentinel Status
|
|
70
|
+
========================
|
|
71
|
+
Policies: ${policyCount} active
|
|
72
|
+
Confirmations: ${pendingConfirmations} pending
|
|
73
|
+
Suggestions: ${pendingSuggestions} pending
|
|
74
|
+
|
|
75
|
+
Last 24h:
|
|
76
|
+
Total actions: ${totalActions}
|
|
77
|
+
Allowed: ${allowedActions}
|
|
78
|
+
Blocked: ${blockedActions}
|
|
79
79
|
`);
|
|
80
80
|
}
|
|
81
81
|
export function sentinelAudit(type, risk, days, deadLetter, retryId, discardId) {
|
|
@@ -301,22 +301,22 @@ export function sentinelSuggestions(action, id) {
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
export function sentinelHelp() {
|
|
304
|
-
console.log(`
|
|
305
|
-
Sentinel Commands:
|
|
306
|
-
vibe sentinel status Show sentinel status
|
|
307
|
-
vibe sentinel audit [--type X] [--risk Y] [--days N]
|
|
308
|
-
Query audit log
|
|
309
|
-
vibe sentinel audit --dead-letter List dead letter events
|
|
310
|
-
vibe sentinel audit --retry <id> Retry dead letter event
|
|
311
|
-
vibe sentinel audit --discard <id> Discard dead letter event
|
|
312
|
-
vibe sentinel approve <id> Approve confirmation
|
|
313
|
-
vibe sentinel reject <id> Reject confirmation
|
|
314
|
-
vibe sentinel policy list List policies
|
|
315
|
-
vibe sentinel policy enable <name> Enable policy
|
|
316
|
-
vibe sentinel policy disable <name> Disable policy
|
|
317
|
-
vibe sentinel suggestions List pending suggestions
|
|
318
|
-
vibe sentinel suggestions accept <id> Accept suggestion
|
|
319
|
-
vibe sentinel suggestions dismiss <id> Dismiss suggestion
|
|
304
|
+
console.log(`
|
|
305
|
+
Sentinel Commands:
|
|
306
|
+
vibe sentinel status Show sentinel status
|
|
307
|
+
vibe sentinel audit [--type X] [--risk Y] [--days N]
|
|
308
|
+
Query audit log
|
|
309
|
+
vibe sentinel audit --dead-letter List dead letter events
|
|
310
|
+
vibe sentinel audit --retry <id> Retry dead letter event
|
|
311
|
+
vibe sentinel audit --discard <id> Discard dead letter event
|
|
312
|
+
vibe sentinel approve <id> Approve confirmation
|
|
313
|
+
vibe sentinel reject <id> Reject confirmation
|
|
314
|
+
vibe sentinel policy list List policies
|
|
315
|
+
vibe sentinel policy enable <name> Enable policy
|
|
316
|
+
vibe sentinel policy disable <name> Disable policy
|
|
317
|
+
vibe sentinel suggestions List pending suggestions
|
|
318
|
+
vibe sentinel suggestions accept <id> Accept suggestion
|
|
319
|
+
vibe sentinel suggestions dismiss <id> Dismiss suggestion
|
|
320
320
|
`);
|
|
321
321
|
}
|
|
322
322
|
//# sourceMappingURL=sentinel.js.map
|
|
@@ -11,11 +11,11 @@ import { resolveExternalSkills } from '../postinstall/constants.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export function skillsAdd(target) {
|
|
13
13
|
if (!target) {
|
|
14
|
-
console.log(`
|
|
15
|
-
Usage: vibe skills add <owner/repo>
|
|
16
|
-
|
|
17
|
-
Install skills from skills.sh ecosystem.
|
|
18
|
-
Example: vibe skills add vercel-labs/skills
|
|
14
|
+
console.log(`
|
|
15
|
+
Usage: vibe skills add <owner/repo>
|
|
16
|
+
|
|
17
|
+
Install skills from skills.sh ecosystem.
|
|
18
|
+
Example: vibe skills add vercel-labs/skills
|
|
19
19
|
`);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -67,16 +67,16 @@ export function slackStatus() {
|
|
|
67
67
|
console.log(`Allowed channels: ${channelIds.length > 0 ? channelIds.join(', ') : 'none'}`);
|
|
68
68
|
}
|
|
69
69
|
export function slackHelp() {
|
|
70
|
-
console.log(`
|
|
71
|
-
Vibe Slack Commands:
|
|
72
|
-
vibe slack setup <bot-token> <app-token> Set Slack tokens
|
|
73
|
-
vibe slack channel <id> Add allowed channel ID
|
|
74
|
-
vibe slack status Show configuration
|
|
75
|
-
vibe slack help Show this help
|
|
76
|
-
|
|
77
|
-
Get tokens from https://api.slack.com/apps
|
|
78
|
-
Bot Token: OAuth & Permissions > Bot User OAuth Token (xoxb-)
|
|
79
|
-
App Token: Basic Information > App-Level Tokens (xapp-)
|
|
70
|
+
console.log(`
|
|
71
|
+
Vibe Slack Commands:
|
|
72
|
+
vibe slack setup <bot-token> <app-token> Set Slack tokens
|
|
73
|
+
vibe slack channel <id> Add allowed channel ID
|
|
74
|
+
vibe slack status Show configuration
|
|
75
|
+
vibe slack help Show this help
|
|
76
|
+
|
|
77
|
+
Get tokens from https://api.slack.com/apps
|
|
78
|
+
Bot Token: OAuth & Permissions > Bot User OAuth Token (xoxb-)
|
|
79
|
+
App Token: Basic Information > App-Level Tokens (xapp-)
|
|
80
80
|
`);
|
|
81
81
|
}
|
|
82
82
|
//# sourceMappingURL=slack.js.map
|
|
@@ -218,18 +218,18 @@ export function telegramStop() {
|
|
|
218
218
|
}, 500);
|
|
219
219
|
}
|
|
220
220
|
export function telegramHelp() {
|
|
221
|
-
console.log(`
|
|
222
|
-
Vibe Telegram Commands:
|
|
223
|
-
vibe telegram setup <token> Set bot token
|
|
224
|
-
vibe telegram chat <id> Add allowed chat ID
|
|
225
|
-
vibe telegram status Show configuration
|
|
226
|
-
vibe telegram help Show this help
|
|
227
|
-
|
|
228
|
-
Start/Stop:
|
|
229
|
-
vibe start Start daemon + all interfaces
|
|
230
|
-
vibe interface enable telegram Enable telegram only
|
|
231
|
-
|
|
232
|
-
Get a bot token from @BotFather on Telegram.
|
|
221
|
+
console.log(`
|
|
222
|
+
Vibe Telegram Commands:
|
|
223
|
+
vibe telegram setup <token> Set bot token
|
|
224
|
+
vibe telegram chat <id> Add allowed chat ID
|
|
225
|
+
vibe telegram status Show configuration
|
|
226
|
+
vibe telegram help Show this help
|
|
227
|
+
|
|
228
|
+
Start/Stop:
|
|
229
|
+
vibe start Start daemon + all interfaces
|
|
230
|
+
vibe interface enable telegram Enable telegram only
|
|
231
|
+
|
|
232
|
+
Get a bot token from @BotFather on Telegram.
|
|
233
233
|
`);
|
|
234
234
|
}
|
|
235
235
|
//# sourceMappingURL=telegram.js.map
|
package/dist/cli/detect.js
CHANGED
|
@@ -539,45 +539,45 @@ export function getLanguageRulesForStacks(stacks) {
|
|
|
539
539
|
* 언어별 CLAUDE.md 규칙
|
|
540
540
|
*/
|
|
541
541
|
export const LANGUAGE_RULES = {
|
|
542
|
-
typescript: `### TypeScript Rules
|
|
543
|
-
- No \`any\` type → use \`unknown\` + type guards
|
|
544
|
-
- No \`as any\` casting → define proper interfaces
|
|
545
|
-
- No \`@ts-ignore\` → fix type issues at root
|
|
542
|
+
typescript: `### TypeScript Rules
|
|
543
|
+
- No \`any\` type → use \`unknown\` + type guards
|
|
544
|
+
- No \`as any\` casting → define proper interfaces
|
|
545
|
+
- No \`@ts-ignore\` → fix type issues at root
|
|
546
546
|
- Explicit return types on all functions`,
|
|
547
|
-
python: `### Python Rules
|
|
548
|
-
- Type hints required (parameters, return values)
|
|
549
|
-
- No \`# type: ignore\` → fix type issues at root
|
|
550
|
-
- Prefer f-strings (over format())
|
|
547
|
+
python: `### Python Rules
|
|
548
|
+
- Type hints required (parameters, return values)
|
|
549
|
+
- No \`# type: ignore\` → fix type issues at root
|
|
550
|
+
- Prefer f-strings (over format())
|
|
551
551
|
- Use list comprehensions appropriately`,
|
|
552
|
-
go: `### Go Rules
|
|
553
|
-
- Handle errors immediately (if err != nil)
|
|
554
|
-
- Explicit error wrapping (fmt.Errorf with %w)
|
|
555
|
-
- Define interfaces at point of use
|
|
552
|
+
go: `### Go Rules
|
|
553
|
+
- Handle errors immediately (if err != nil)
|
|
554
|
+
- Explicit error wrapping (fmt.Errorf with %w)
|
|
555
|
+
- Define interfaces at point of use
|
|
556
556
|
- Prevent goroutine leaks (use context)`,
|
|
557
|
-
rust: `### Rust Rules
|
|
558
|
-
- No unwrap()/expect() in production → handle Result/Option
|
|
559
|
-
- Minimize unsafe blocks
|
|
560
|
-
- Define explicit error types
|
|
557
|
+
rust: `### Rust Rules
|
|
558
|
+
- No unwrap()/expect() in production → handle Result/Option
|
|
559
|
+
- Minimize unsafe blocks
|
|
560
|
+
- Define explicit error types
|
|
561
561
|
- Document ownership/lifetime clearly`,
|
|
562
|
-
java: `### Java Rules
|
|
563
|
-
- Use Optional (instead of null)
|
|
564
|
-
- Prefer immutable objects (final fields)
|
|
565
|
-
- Handle checked exceptions properly
|
|
562
|
+
java: `### Java Rules
|
|
563
|
+
- Use Optional (instead of null)
|
|
564
|
+
- Prefer immutable objects (final fields)
|
|
565
|
+
- Handle checked exceptions properly
|
|
566
566
|
- Utilize Stream API`,
|
|
567
|
-
kotlin: `### Kotlin Rules
|
|
568
|
-
- Explicit nullable types (?)
|
|
569
|
-
- No !! operator → use safe call (?.)
|
|
570
|
-
- Use data classes actively
|
|
567
|
+
kotlin: `### Kotlin Rules
|
|
568
|
+
- Explicit nullable types (?)
|
|
569
|
+
- No !! operator → use safe call (?.)
|
|
570
|
+
- Use data classes actively
|
|
571
571
|
- Implement utilities as extension functions`,
|
|
572
|
-
dart: `### Dart Rules
|
|
573
|
-
- Follow null safety (use ? and ! properly)
|
|
574
|
-
- Avoid late keyword abuse
|
|
575
|
-
- Use const constructors
|
|
572
|
+
dart: `### Dart Rules
|
|
573
|
+
- Follow null safety (use ? and ! properly)
|
|
574
|
+
- Avoid late keyword abuse
|
|
575
|
+
- Use const constructors
|
|
576
576
|
- Use async/await for async code`,
|
|
577
|
-
swift: `### Swift Rules
|
|
578
|
-
- No force unwrapping → use guard let / if let
|
|
579
|
-
- Prefer protocol-oriented programming
|
|
580
|
-
- Prefer value types (struct)
|
|
577
|
+
swift: `### Swift Rules
|
|
578
|
+
- No force unwrapping → use guard let / if let
|
|
579
|
+
- Prefer protocol-oriented programming
|
|
580
|
+
- Prefer value types (struct)
|
|
581
581
|
- Watch memory management with @escaping closures`
|
|
582
582
|
};
|
|
583
583
|
/**
|