@su-record/vibe 2.7.13 → 2.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -115,15 +115,25 @@ Then: Login success + JWT token returned
115
115
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
116
116
  ```
117
117
 
118
- ### 3. Verification Methods (Auto-selected)
118
+ ### 3. Verification Methods (PARALLEL — run all applicable at once)
119
119
 
120
- | Method | Condition | Verification Content |
121
- |--------|-----------|---------------------|
122
- | **Test Execution** | When test files exist | Run `npm test`, `pytest`, etc. |
123
- | **Code Analysis** | Always | Check implementation, verify logic |
124
- | **Build Verification** | When build script exists | Check for compile errors |
125
- | **Type Check** | TypeScript, etc. | Check for type errors |
126
- | **E2E Closed Loop** | `--e2e` flag or UI scenarios | Browser-based verification (see below) |
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:
@@ -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
@@ -11,41 +11,41 @@ import { detectCodexCli, detectGeminiCli } from '../utils/cli-detector.js';
11
11
  * 도움말 표시
12
12
  */
13
13
  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
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
49
49
  `);
50
50
  }
51
51
  /**
@@ -101,25 +101,25 @@ export function showStatus() {
101
101
  }
102
102
  }
103
103
  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
-
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
+
123
123
  `);
124
124
  }
125
125
  /**
@@ -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
@@ -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
  /**