@su-record/vibe 2.6.28 → 2.6.30

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 (240) hide show
  1. package/CLAUDE.md +235 -202
  2. package/LICENSE +21 -21
  3. package/README.md +276 -267
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/docs/api-documenter.md +99 -99
  11. package/agents/docs/changelog-writer.md +93 -93
  12. package/agents/e2e-tester.md +266 -266
  13. package/agents/explorer-low.md +42 -42
  14. package/agents/explorer-medium.md +59 -59
  15. package/agents/explorer.md +48 -48
  16. package/agents/implementer-low.md +43 -43
  17. package/agents/implementer-medium.md +52 -52
  18. package/agents/implementer.md +54 -54
  19. package/agents/planning/requirements-analyst.md +84 -84
  20. package/agents/planning/ux-advisor.md +83 -83
  21. package/agents/qa/acceptance-tester.md +86 -86
  22. package/agents/qa/edge-case-finder.md +93 -93
  23. package/agents/refactor-cleaner.md +143 -143
  24. package/agents/research/best-practices-agent.md +199 -199
  25. package/agents/research/codebase-patterns-agent.md +157 -157
  26. package/agents/research/framework-docs-agent.md +188 -188
  27. package/agents/research/security-advisory-agent.md +213 -213
  28. package/agents/review/architecture-reviewer.md +107 -107
  29. package/agents/review/complexity-reviewer.md +116 -116
  30. package/agents/review/data-integrity-reviewer.md +88 -88
  31. package/agents/review/git-history-reviewer.md +103 -103
  32. package/agents/review/performance-reviewer.md +86 -86
  33. package/agents/review/python-reviewer.md +150 -150
  34. package/agents/review/rails-reviewer.md +139 -139
  35. package/agents/review/react-reviewer.md +144 -144
  36. package/agents/review/security-reviewer.md +80 -80
  37. package/agents/review/simplicity-reviewer.md +140 -140
  38. package/agents/review/test-coverage-reviewer.md +116 -116
  39. package/agents/review/typescript-reviewer.md +127 -127
  40. package/agents/searcher.md +54 -54
  41. package/agents/simplifier.md +120 -120
  42. package/agents/tester.md +49 -49
  43. package/agents/ui-previewer.md +268 -268
  44. package/commands/vibe.analyze.md +356 -356
  45. package/commands/vibe.reason.md +329 -329
  46. package/commands/vibe.review.md +423 -423
  47. package/commands/vibe.run.md +1423 -1313
  48. package/commands/vibe.spec.md +1054 -1054
  49. package/commands/vibe.spec.review.md +412 -412
  50. package/commands/vibe.trace.md +161 -161
  51. package/commands/vibe.utils.md +376 -376
  52. package/commands/vibe.verify.md +375 -375
  53. package/dist/cli/collaborator.js +52 -52
  54. package/dist/cli/detect.js +32 -32
  55. package/dist/cli/hud.js +20 -20
  56. package/dist/cli/index.js +112 -112
  57. package/dist/cli/llm.js +144 -144
  58. package/dist/cli/postinstall.js +858 -858
  59. package/dist/lib/DeepInit.js +24 -24
  60. package/dist/lib/IterationTracker.js +11 -11
  61. package/dist/lib/PythonParser.js +108 -108
  62. package/dist/lib/ReviewRace.js +96 -96
  63. package/dist/lib/SkillFrontmatter.js +28 -28
  64. package/dist/lib/SkillQualityGate.js +9 -9
  65. package/dist/lib/SkillRepository.js +159 -159
  66. package/dist/lib/UltraQA.js +77 -77
  67. package/dist/lib/gemini-api.js +5 -5
  68. package/dist/lib/gpt-api.js +4 -4
  69. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  70. package/dist/lib/memory/MemorySearch.js +43 -43
  71. package/dist/lib/memory/MemoryStorage.js +130 -130
  72. package/dist/lib/memory/ObservationStore.js +28 -28
  73. package/dist/lib/memory/SessionRAGRetriever.js +7 -7
  74. package/dist/lib/memory/SessionRAGStore.js +216 -216
  75. package/dist/lib/memory/SessionSummarizer.js +9 -9
  76. package/dist/orchestrator/AgentManager.js +12 -12
  77. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  78. package/dist/orchestrator/SmartRouter.js +11 -11
  79. package/dist/orchestrator/SwarmOrchestrator.test.js +16 -16
  80. package/dist/orchestrator/parallelResearch.js +24 -24
  81. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  82. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  83. package/dist/tools/spec/prdParser.test.js +171 -171
  84. package/dist/tools/spec/specGenerator.js +169 -169
  85. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  86. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  87. package/hooks/hooks.json +115 -115
  88. package/hooks/scripts/code-check.js +70 -70
  89. package/hooks/scripts/code-review.js +22 -22
  90. package/hooks/scripts/complexity.js +22 -22
  91. package/hooks/scripts/compound.js +23 -23
  92. package/hooks/scripts/context-save.js +53 -53
  93. package/hooks/scripts/gemini-ui-gen.js +281 -281
  94. package/hooks/scripts/generate-brand-assets.js +474 -474
  95. package/hooks/scripts/hud-multiline.js +262 -262
  96. package/hooks/scripts/hud-status.js +291 -291
  97. package/hooks/scripts/keyword-detector.js +214 -214
  98. package/hooks/scripts/llm-orchestrate.js +328 -171
  99. package/hooks/scripts/post-edit.js +97 -97
  100. package/hooks/scripts/post-tool-verify.js +210 -210
  101. package/hooks/scripts/pre-tool-guard.js +125 -125
  102. package/hooks/scripts/prompt-dispatcher.js +161 -161
  103. package/hooks/scripts/recall.js +22 -22
  104. package/hooks/scripts/session-start.js +30 -30
  105. package/hooks/scripts/skill-injector.js +191 -191
  106. package/hooks/scripts/utils.js +97 -97
  107. package/languages/csharp-unity.md +515 -515
  108. package/languages/gdscript-godot.md +470 -470
  109. package/languages/ruby-rails.md +489 -489
  110. package/languages/typescript-angular.md +433 -433
  111. package/languages/typescript-astro.md +416 -416
  112. package/languages/typescript-electron.md +406 -406
  113. package/languages/typescript-nestjs.md +524 -524
  114. package/languages/typescript-svelte.md +407 -407
  115. package/languages/typescript-tauri.md +365 -365
  116. package/package.json +84 -84
  117. package/skills/brand-assets.md +141 -141
  118. package/skills/commerce-patterns.md +361 -361
  119. package/skills/context7-usage.md +102 -102
  120. package/skills/e2e-commerce.md +304 -304
  121. package/skills/frontend-design.md +92 -92
  122. package/skills/git-worktree.md +181 -181
  123. package/skills/parallel-research.md +77 -77
  124. package/skills/priority-todos.md +239 -239
  125. package/skills/seo-checklist.md +244 -244
  126. package/skills/tool-fallback.md +190 -190
  127. package/skills/vibe-capabilities.md +161 -161
  128. package/vibe/constitution.md +227 -227
  129. package/vibe/rules/core/communication-guide.md +98 -98
  130. package/vibe/rules/core/development-philosophy.md +52 -52
  131. package/vibe/rules/core/quick-start.md +102 -102
  132. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  133. package/vibe/rules/quality/checklist.md +276 -276
  134. package/vibe/rules/quality/testing-strategy.md +440 -440
  135. package/vibe/rules/standards/anti-patterns.md +541 -541
  136. package/vibe/rules/standards/code-structure.md +291 -291
  137. package/vibe/rules/standards/complexity-metrics.md +313 -313
  138. package/vibe/rules/standards/naming-conventions.md +198 -198
  139. package/vibe/setup.sh +31 -31
  140. package/vibe/templates/constitution-template.md +252 -252
  141. package/vibe/templates/contract-backend-template.md +526 -526
  142. package/vibe/templates/contract-frontend-template.md +599 -599
  143. package/vibe/templates/feature-template.md +96 -96
  144. package/vibe/templates/spec-template.md +221 -221
  145. package/dist/cli/mcp.d.ts +0 -49
  146. package/dist/cli/mcp.d.ts.map +0 -1
  147. package/dist/cli/mcp.js +0 -169
  148. package/dist/cli/mcp.js.map +0 -1
  149. package/dist/lib/gemini-mcp.d.ts +0 -10
  150. package/dist/lib/gemini-mcp.d.ts.map +0 -1
  151. package/dist/lib/gemini-mcp.js +0 -353
  152. package/dist/lib/gemini-mcp.js.map +0 -1
  153. package/dist/lib/gpt-mcp.d.ts +0 -10
  154. package/dist/lib/gpt-mcp.d.ts.map +0 -1
  155. package/dist/lib/gpt-mcp.js +0 -352
  156. package/dist/lib/gpt-mcp.js.map +0 -1
  157. package/dist/tools/analytics/getUsageAnalytics.d.ts +0 -10
  158. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +0 -1
  159. package/dist/tools/analytics/getUsageAnalytics.js +0 -246
  160. package/dist/tools/analytics/getUsageAnalytics.js.map +0 -1
  161. package/dist/tools/analytics/index.d.ts +0 -5
  162. package/dist/tools/analytics/index.d.ts.map +0 -1
  163. package/dist/tools/analytics/index.js +0 -5
  164. package/dist/tools/analytics/index.js.map +0 -1
  165. package/dist/tools/convention/getCodingGuide.d.ts +0 -7
  166. package/dist/tools/convention/getCodingGuide.d.ts.map +0 -1
  167. package/dist/tools/convention/getCodingGuide.js +0 -69
  168. package/dist/tools/convention/getCodingGuide.js.map +0 -1
  169. package/dist/tools/planning/analyzeRequirements.d.ts +0 -9
  170. package/dist/tools/planning/analyzeRequirements.d.ts.map +0 -1
  171. package/dist/tools/planning/analyzeRequirements.js +0 -171
  172. package/dist/tools/planning/analyzeRequirements.js.map +0 -1
  173. package/dist/tools/planning/createUserStories.d.ts +0 -9
  174. package/dist/tools/planning/createUserStories.d.ts.map +0 -1
  175. package/dist/tools/planning/createUserStories.js +0 -124
  176. package/dist/tools/planning/createUserStories.js.map +0 -1
  177. package/dist/tools/planning/featureRoadmap.d.ts +0 -10
  178. package/dist/tools/planning/featureRoadmap.d.ts.map +0 -1
  179. package/dist/tools/planning/featureRoadmap.js +0 -207
  180. package/dist/tools/planning/featureRoadmap.js.map +0 -1
  181. package/dist/tools/planning/generatePrd.d.ts +0 -11
  182. package/dist/tools/planning/generatePrd.d.ts.map +0 -1
  183. package/dist/tools/planning/generatePrd.js +0 -161
  184. package/dist/tools/planning/generatePrd.js.map +0 -1
  185. package/dist/tools/planning/index.d.ts +0 -8
  186. package/dist/tools/planning/index.d.ts.map +0 -1
  187. package/dist/tools/planning/index.js +0 -8
  188. package/dist/tools/planning/index.js.map +0 -1
  189. package/dist/tools/prompt/analyzePrompt.d.ts +0 -7
  190. package/dist/tools/prompt/analyzePrompt.d.ts.map +0 -1
  191. package/dist/tools/prompt/analyzePrompt.js +0 -150
  192. package/dist/tools/prompt/analyzePrompt.js.map +0 -1
  193. package/dist/tools/prompt/enhancePrompt.d.ts +0 -8
  194. package/dist/tools/prompt/enhancePrompt.d.ts.map +0 -1
  195. package/dist/tools/prompt/enhancePrompt.js +0 -110
  196. package/dist/tools/prompt/enhancePrompt.js.map +0 -1
  197. package/dist/tools/prompt/enhancePromptGemini.d.ts +0 -8
  198. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +0 -1
  199. package/dist/tools/prompt/enhancePromptGemini.js +0 -332
  200. package/dist/tools/prompt/enhancePromptGemini.js.map +0 -1
  201. package/dist/tools/prompt/index.d.ts +0 -7
  202. package/dist/tools/prompt/index.d.ts.map +0 -1
  203. package/dist/tools/prompt/index.js +0 -7
  204. package/dist/tools/prompt/index.js.map +0 -1
  205. package/dist/tools/reasoning/applyReasoningFramework.d.ts +0 -8
  206. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +0 -1
  207. package/dist/tools/reasoning/applyReasoningFramework.js +0 -266
  208. package/dist/tools/reasoning/applyReasoningFramework.js.map +0 -1
  209. package/dist/tools/reasoning/index.d.ts +0 -5
  210. package/dist/tools/reasoning/index.d.ts.map +0 -1
  211. package/dist/tools/reasoning/index.js +0 -5
  212. package/dist/tools/reasoning/index.js.map +0 -1
  213. package/dist/tools/thinking/analyzeProblem.d.ts +0 -7
  214. package/dist/tools/thinking/analyzeProblem.d.ts.map +0 -1
  215. package/dist/tools/thinking/analyzeProblem.js +0 -55
  216. package/dist/tools/thinking/analyzeProblem.js.map +0 -1
  217. package/dist/tools/thinking/breakDownProblem.d.ts +0 -8
  218. package/dist/tools/thinking/breakDownProblem.d.ts.map +0 -1
  219. package/dist/tools/thinking/breakDownProblem.js +0 -145
  220. package/dist/tools/thinking/breakDownProblem.js.map +0 -1
  221. package/dist/tools/thinking/createThinkingChain.d.ts +0 -7
  222. package/dist/tools/thinking/createThinkingChain.d.ts.map +0 -1
  223. package/dist/tools/thinking/createThinkingChain.js +0 -44
  224. package/dist/tools/thinking/createThinkingChain.js.map +0 -1
  225. package/dist/tools/thinking/formatAsPlan.d.ts +0 -9
  226. package/dist/tools/thinking/formatAsPlan.d.ts.map +0 -1
  227. package/dist/tools/thinking/formatAsPlan.js +0 -78
  228. package/dist/tools/thinking/formatAsPlan.js.map +0 -1
  229. package/dist/tools/thinking/index.d.ts +0 -10
  230. package/dist/tools/thinking/index.d.ts.map +0 -1
  231. package/dist/tools/thinking/index.js +0 -10
  232. package/dist/tools/thinking/index.js.map +0 -1
  233. package/dist/tools/thinking/stepByStepAnalysis.d.ts +0 -8
  234. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +0 -1
  235. package/dist/tools/thinking/stepByStepAnalysis.js +0 -63
  236. package/dist/tools/thinking/stepByStepAnalysis.js.map +0 -1
  237. package/dist/tools/thinking/thinkAloudProcess.d.ts +0 -8
  238. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +0 -1
  239. package/dist/tools/thinking/thinkAloudProcess.js +0 -80
  240. package/dist/tools/thinking/thinkAloudProcess.js.map +0 -1
package/CLAUDE.md CHANGED
@@ -1,202 +1,235 @@
1
- # VIBE
2
-
3
- SPEC-driven AI Coding Framework (Claude Code Exclusive)
4
-
5
- ## Response Language
6
-
7
- **IMPORTANT: Always respond in Korean (한국어) unless the user explicitly requests otherwise.**
8
-
9
- ## Code Quality Standards (Mandatory)
10
-
11
- Follow these standards when writing code. See `~/.claude/vibe/rules/` (global) for detailed rules.
12
-
13
- ### Core Principles
14
-
15
- - **Modify only requested scope** - Don't touch unrelated code
16
- - **Preserve existing style** - Follow project conventions
17
- - **Keep working code** - No unnecessary refactoring
18
- - **Respect user interrupts** - If user interrupts (Ctrl+C/Escape) and sends a new message, the previous task is CANCELLED. Do NOT resume or continue interrupted work. Respond ONLY to the new message.
19
-
20
- ### Code Complexity Limits
21
-
22
- | Metric | Limit |
23
- |----------------------|----------------------------------------------|
24
- | Function length | ≤30 lines (recommended), ≤50 lines (allowed) |
25
- | Nesting depth | ≤3 levels |
26
- | Parameters | ≤5 |
27
- | Cyclomatic complexity | ≤10 |
28
-
29
- ### TypeScript Rules
30
-
31
- - No `any` → `unknown` + type guards
32
- - No `as any` proper interfaces
33
- - No `@ts-ignore`
34
- - Explicit return types
35
-
36
- ### Error Handling Required
37
-
38
- - try-catch or error state required
39
- - Loading state handling
40
- - User-friendly error messages
41
-
42
- ### Forbidden Patterns
43
-
44
- - No console.log in commits
45
- - No hardcoded strings/numbers
46
- - No commented-out code
47
- - No incomplete code without TODO
48
-
49
- ## Workflow
50
-
51
- ```text
52
- /vibe.spec → /new → /vibe.spec.review → /vibe.run → /vibe.trace → (auto) code review → ✅ Done
53
- ```
54
-
55
- 1. `/vibe.spec` - Write SPEC (requirements + research + draft)
56
- 2. `/new` - Start new session (clean context)
57
- 3. `/vibe.spec.review` - GPT/Gemini review (3-round mandatory)
58
- 4. `/vibe.run` - Implementation + Gemini review
59
- 5. **(auto)** 13+ agent parallel review + P1/P2 auto-fix
60
-
61
- ## Plan Mode vs VIBE
62
-
63
- | Task Size | Recommended |
64
- |------------------------------|--------------|
65
- | Simple changes (1-2 files) | Plan Mode |
66
- | Complex features (3+ files) | `/vibe.spec` |
67
-
68
- After `/vibe.analyze` or `/vibe.review` with dev request → **Ask user for workflow choice**
69
-
70
- ## ULTRAWORK Mode
71
-
72
- Include `ultrawork` or `ulw` keyword for maximum performance:
73
-
74
- - Parallel sub-agent exploration (3+ concurrent)
75
- - Background agents + Phase pipelining
76
- - Boulder Loop (auto-continue until all Phases complete)
77
- - Auto-retry on error (max 3), Auto-save at 70%+ context
78
-
79
- ## Commands
80
-
81
- | Command | Description |
82
- |------------------------------|-----------------------------------|
83
- | `/vibe.spec "name"` | Write SPEC (PTCF) + parallel research |
84
- | `/vibe.spec.review "name"` | GPT/Gemini review (new session) |
85
- | `/vibe.run "name"` | Execute implementation |
86
- | `/vibe.run "name" ultrawork` | Maximum performance mode |
87
- | `/vibe.verify "name"` | Verification against SPEC |
88
- | `/vibe.review` | 13+ agent parallel code review |
89
- | `/vibe.trace "name"` | Requirements traceability matrix |
90
- | `/vibe.reason "problem"` | Systematic reasoning |
91
- | `/vibe.analyze` | Project analysis |
92
- | `/vibe.utils --e2e` | E2E testing (Playwright) |
93
- | `/vibe.utils --diagram` | Generate diagrams |
94
- | `/vibe.utils --ui "desc"` | UI preview |
95
- | `/vibe.utils --continue` | Session restore |
96
-
97
- ## Magic Keywords
98
-
99
- | Keyword | Effect |
100
- |----------------------|-----------------------------------------------|
101
- | `ultrawork` / `ulw` | Parallel + auto-continue + Ralph Loop |
102
- | `ralph` | Iterate until 100% complete (no scope reduction) |
103
- | `ralplan` | Iterative planning + persistence |
104
- | `verify` | Strict verification mode |
105
- | `quick` | Fast mode, minimal verification |
106
-
107
- ## PTCF Structure
108
-
109
- SPEC documents use: `<role>` `<context>` `<task>` `<constraints>` `<output_format>` `<acceptance>`
110
-
111
- ## Built-in Tools
112
-
113
- ### Semantic & Quality
114
-
115
- | Tool | Purpose |
116
- |-------------------------------|----------------------------------|
117
- | `vibe_find_symbol` | Find symbol definitions |
118
- | `vibe_find_references` | Find references |
119
- | `vibe_analyze_complexity` | Analyze complexity |
120
- | `vibe_validate_code_quality` | Validate quality |
121
-
122
- ### Memory & Session
123
-
124
- | Tool | Purpose |
125
- |-------------------------------|----------------------------------|
126
- | `vibe_start_session` | Restore previous session context |
127
- | `vibe_auto_save_context` | Save current state |
128
- | `vibe_save_memory` | Save important decisions |
129
-
130
- ### Session RAG (v2.6.27)
131
-
132
- 구조화된 세션 컨텍스트를 저장/검색하는 시스템. SQLite + FTS5 BM25 하이브리드 검색.
133
-
134
- | Tool | Purpose |
135
- |-------------------------------|----------------------------------|
136
- | `save_session_item` | Decision/Constraint/Goal/Evidence 저장 |
137
- | `retrieve_session_context` | 하이브리드 검색 (BM25 + recency + priority) |
138
- | `manage_goals` | Goal 생명주기 관리 (list/update/complete) |
139
-
140
- **4가지 엔티티:**
141
-
142
- | Entity | Description | Key Fields |
143
- |--------|-------------|------------|
144
- | Decision | 사용자 확인 결정사항 | title, rationale, alternatives, impact, priority |
145
- | Constraint | 명시적 제약조건 | title, type (technical/business/resource/quality), severity |
146
- | Goal | 현재 목표 스택 (계층 지원) | title, status, priority, progressPercent, successCriteria |
147
- | Evidence | 검증/테스트 결과 | title, type (test/build/lint/coverage), status, metrics |
148
-
149
- **자동 주입:** `start_session` 호출 시 활성 Goals, 중요 Constraints, 최근 Decisions가 자동으로 세션 컨텍스트에 포함됨.
150
-
151
- ```typescript
152
- import { saveSessionItem, retrieveSessionContext, manageGoals } from '@su-record/vibe/tools';
153
-
154
- // 결정 저장
155
- await saveSessionItem({ itemType: 'decision', title: 'Use Vitest', rationale: 'Fast and modern' });
156
-
157
- // 제약 저장
158
- await saveSessionItem({ itemType: 'constraint', title: 'No vector DB', type: 'technical', severity: 'high' });
159
-
160
- // 목표 저장
161
- await saveSessionItem({ itemType: 'goal', title: 'Implement Session RAG', priority: 2 });
162
-
163
- // 컨텍스트 검색
164
- await retrieveSessionContext({ query: 'testing' });
165
-
166
- // 목표 관리
167
- await manageGoals({ action: 'list' });
168
- await manageGoals({ action: 'update', goalId: 1, progressPercent: 80 });
169
- await manageGoals({ action: 'complete', goalId: 1 });
170
- ```
171
-
172
- ## Agents
173
-
174
- - **Review (12)**: security, performance, architecture, complexity, simplicity, data-integrity, test-coverage, git-history, python, typescript, rails, react reviewers → `.claude/agents/review/`
175
- - **Research (4)**: best-practices, framework-docs, codebase-patterns, security-advisory → `.claude/agents/research/`
176
-
177
- ## Context Management
178
-
179
- ### Model Selection
180
-
181
- - **Exploration/Search**: Haiku
182
- - **Implementation**: Sonnet
183
- - **Architecture**: Opus
184
-
185
- ### At 70%+ Context
186
-
187
- - Do NOT use `/compact` (information loss risk)
188
- - Use `save_memory` `/new` for new session
189
- - Restore with `/vibe.utils --continue`
190
-
191
- ## Documentation Guidelines
192
-
193
- - Avoid ASCII boxes → Use Mermaid diagrams, Markdown tables, or indented lists
194
- - Flowcharts Mermaid | Structure Indented lists | Comparisons → Tables
195
-
196
- ## Git Commit Rules
197
-
198
- **Must include:** `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/`, `.claude/vibe/config.json`, `CLAUDE.md`
199
-
200
- **Exclude:** `~/.claude/vibe/rules/`, `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/`, `.claude/settings.local.json`
201
-
202
- <!-- VIBE:END -->
1
+ # VIBE
2
+
3
+ SPEC-driven AI Coding Framework (Claude Code Exclusive)
4
+
5
+ ## Philosophy
6
+
7
+ > **vibe = 바이브코딩을 쉽게 + 최소 품질 보장**
8
+
9
+ | Principle | Description |
10
+ |-----------|-------------|
11
+ | **Easy Vibe Coding** | 빠른 흐름, 직관적 개발, AI와 협업하며 생각하기 |
12
+ | **Minimum Quality Guaranteed** | 타입 안전성, 코드 품질, 보안 - 자동으로 하한선 확보 |
13
+ | **Iterative Reasoning (6번 유형)** | AI에게 답을 맡기지 말고, 문제를 쪼개고 질문하며 함께 추론 |
14
+
15
+ ### How vibe Guarantees Quality
16
+
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────────┐
19
+ │ VIBE QUALITY GUARDRAILS (자동 품질 보장) │
20
+ ├─────────────────────────────────────────────────────────────┤
21
+ │ 1. Type Safety → Quality Gate (any/Any 차단) │
22
+ │ 2. Code Review → Race Review (GPT + Gemini 병렬) │
23
+ │ 3. Completion Check → Ralph Loop (100%까지 반복) │
24
+ │ 4. Multi-LLM → 3개 관점 검증 (Claude+GPT+Gemini)
25
+ └─────────────────────────────────────────────────────────────┘
26
+ ```
27
+
28
+ ### User's Role (6번 Iterative-Reasoning Type)
29
+
30
+ 연구에 따르면, AI에게 답을 맡기는 것(1번 유형)보다 **문제를 쪼개고 추론하며 협업하는 것(6번 유형)**이 훨씬 좋은 성과를 냅니다.
31
+
32
+ | Avoid | Do Instead |
33
+ |----------|---------------|
34
+ | "로그인 기능 만들어줘" | "로그인 기능의 요구사항을 분석해보자" |
35
+ | AI 결과 그대로 사용 | "이 접근이 맞나?" 검증 질문 |
36
+ | 완성 코드만 요청 | 단계별로 검토하며 진행 |
37
+
38
+ ## Response Language
39
+
40
+ **IMPORTANT: Always respond in Korean (한국어) unless the user explicitly requests otherwise.**
41
+
42
+ ## Code Quality Standards (Mandatory)
43
+
44
+ Follow these standards when writing code. See `~/.claude/vibe/rules/` (global) for detailed rules.
45
+
46
+ ### Core Principles
47
+
48
+ - **Modify only requested scope** - Don't touch unrelated code
49
+ - **Preserve existing style** - Follow project conventions
50
+ - **Keep working code** - No unnecessary refactoring
51
+ - **Respect user interrupts** - If user interrupts (Ctrl+C/Escape) and sends a new message, the previous task is CANCELLED. Do NOT resume or continue interrupted work. Respond ONLY to the new message.
52
+
53
+ ### Code Complexity Limits
54
+
55
+ | Metric | Limit |
56
+ |----------------------|----------------------------------------------|
57
+ | Function length | ≤30 lines (recommended), ≤50 lines (allowed) |
58
+ | Nesting depth | ≤3 levels |
59
+ | Parameters | ≤5 |
60
+ | Cyclomatic complexity | ≤10 |
61
+
62
+ ### TypeScript Rules
63
+
64
+ - No `any` → `unknown` + type guards
65
+ - No `as any` proper interfaces
66
+ - No `@ts-ignore`
67
+ - Explicit return types
68
+
69
+ ### Error Handling Required
70
+
71
+ - try-catch or error state required
72
+ - Loading state handling
73
+ - User-friendly error messages
74
+
75
+ ### Forbidden Patterns
76
+
77
+ - No console.log in commits
78
+ - No hardcoded strings/numbers
79
+ - No commented-out code
80
+ - No incomplete code without TODO
81
+
82
+ ## Workflow
83
+
84
+ ```text
85
+ /vibe.spec → /new → /vibe.spec.review → /vibe.run /vibe.trace → (auto) code review → ✅ Done
86
+ ```
87
+
88
+ 1. `/vibe.spec` - Write SPEC (requirements + research + draft)
89
+ 2. `/new` - Start new session (clean context)
90
+ 3. `/vibe.spec.review` - GPT/Gemini review (3-round mandatory)
91
+ 4. `/vibe.run` - Implementation + Gemini review
92
+ 5. **(auto)** 13+ agent parallel review + P1/P2 auto-fix
93
+
94
+ ## Plan Mode vs VIBE
95
+
96
+ | Task Size | Recommended |
97
+ |------------------------------|--------------|
98
+ | Simple changes (1-2 files) | Plan Mode |
99
+ | Complex features (3+ files) | `/vibe.spec` |
100
+
101
+ After `/vibe.analyze` or `/vibe.review` with dev request **Ask user for workflow choice**
102
+
103
+ ## ULTRAWORK Mode
104
+
105
+ Include `ultrawork` or `ulw` keyword for maximum performance:
106
+
107
+ - Parallel sub-agent exploration (3+ concurrent)
108
+ - Background agents + Phase pipelining
109
+ - Boulder Loop (auto-continue until all Phases complete)
110
+ - Auto-retry on error (max 3), Auto-save at 70%+ context
111
+
112
+ ## Commands
113
+
114
+ | Command | Description |
115
+ |------------------------------|-----------------------------------|
116
+ | `/vibe.spec "name"` | Write SPEC (PTCF) + parallel research |
117
+ | `/vibe.spec.review "name"` | GPT/Gemini review (new session) |
118
+ | `/vibe.run "name"` | Execute implementation |
119
+ | `/vibe.run "name" ultrawork` | Maximum performance mode |
120
+ | `/vibe.verify "name"` | Verification against SPEC |
121
+ | `/vibe.review` | 13+ agent parallel code review |
122
+ | `/vibe.trace "name"` | Requirements traceability matrix |
123
+ | `/vibe.reason "problem"` | Systematic reasoning |
124
+ | `/vibe.analyze` | Project analysis |
125
+ | `/vibe.utils --e2e` | E2E testing (Playwright) |
126
+ | `/vibe.utils --diagram` | Generate diagrams |
127
+ | `/vibe.utils --ui "desc"` | UI preview |
128
+ | `/vibe.utils --continue` | Session restore |
129
+
130
+ ## Magic Keywords
131
+
132
+ | Keyword | Effect |
133
+ |----------------------|-----------------------------------------------|
134
+ | `ultrawork` / `ulw` | Parallel + auto-continue + Ralph Loop |
135
+ | `ralph` | Iterate until 100% complete (no scope reduction) |
136
+ | `ralplan` | Iterative planning + persistence |
137
+ | `verify` | Strict verification mode |
138
+ | `quick` | Fast mode, minimal verification |
139
+
140
+ ## PTCF Structure
141
+
142
+ SPEC documents use: `<role>` `<context>` `<task>` `<constraints>` `<output_format>` `<acceptance>`
143
+
144
+ ## Built-in Tools
145
+
146
+ ### Semantic & Quality
147
+
148
+ | Tool | Purpose |
149
+ |-------------------------------|----------------------------------|
150
+ | `vibe_find_symbol` | Find symbol definitions |
151
+ | `vibe_find_references` | Find references |
152
+ | `vibe_analyze_complexity` | Analyze complexity |
153
+ | `vibe_validate_code_quality` | Validate quality |
154
+
155
+ ### Memory & Session
156
+
157
+ | Tool | Purpose |
158
+ |-------------------------------|----------------------------------|
159
+ | `vibe_start_session` | Restore previous session context |
160
+ | `vibe_auto_save_context` | Save current state |
161
+ | `vibe_save_memory` | Save important decisions |
162
+
163
+ ### Session RAG (v2.6.27)
164
+
165
+ 구조화된 세션 컨텍스트를 저장/검색하는 시스템. SQLite + FTS5 BM25 하이브리드 검색.
166
+
167
+ | Tool | Purpose |
168
+ |-------------------------------|----------------------------------|
169
+ | `save_session_item` | Decision/Constraint/Goal/Evidence 저장 |
170
+ | `retrieve_session_context` | 하이브리드 검색 (BM25 + recency + priority) |
171
+ | `manage_goals` | Goal 생명주기 관리 (list/update/complete) |
172
+
173
+ **4가지 엔티티:**
174
+
175
+ | Entity | Description | Key Fields |
176
+ |--------|-------------|------------|
177
+ | Decision | 사용자 확인 결정사항 | title, rationale, alternatives, impact, priority |
178
+ | Constraint | 명시적 제약조건 | title, type (technical/business/resource/quality), severity |
179
+ | Goal | 현재 목표 스택 (계층 지원) | title, status, priority, progressPercent, successCriteria |
180
+ | Evidence | 검증/테스트 결과 | title, type (test/build/lint/coverage), status, metrics |
181
+
182
+ **자동 주입:** `start_session` 호출 시 활성 Goals, 중요 Constraints, 최근 Decisions가 자동으로 세션 컨텍스트에 포함됨.
183
+
184
+ ```typescript
185
+ import { saveSessionItem, retrieveSessionContext, manageGoals } from '@su-record/vibe/tools';
186
+
187
+ // 결정 저장
188
+ await saveSessionItem({ itemType: 'decision', title: 'Use Vitest', rationale: 'Fast and modern' });
189
+
190
+ // 제약 저장
191
+ await saveSessionItem({ itemType: 'constraint', title: 'No vector DB', type: 'technical', severity: 'high' });
192
+
193
+ // 목표 저장
194
+ await saveSessionItem({ itemType: 'goal', title: 'Implement Session RAG', priority: 2 });
195
+
196
+ // 컨텍스트 검색
197
+ await retrieveSessionContext({ query: 'testing' });
198
+
199
+ // 목표 관리
200
+ await manageGoals({ action: 'list' });
201
+ await manageGoals({ action: 'update', goalId: 1, progressPercent: 80 });
202
+ await manageGoals({ action: 'complete', goalId: 1 });
203
+ ```
204
+
205
+ ## Agents
206
+
207
+ - **Review (12)**: security, performance, architecture, complexity, simplicity, data-integrity, test-coverage, git-history, python, typescript, rails, react reviewers → `.claude/agents/review/`
208
+ - **Research (4)**: best-practices, framework-docs, codebase-patterns, security-advisory → `.claude/agents/research/`
209
+
210
+ ## Context Management
211
+
212
+ ### Model Selection
213
+
214
+ - **Exploration/Search**: Haiku
215
+ - **Implementation**: Sonnet
216
+ - **Architecture**: Opus
217
+
218
+ ### At 70%+ Context
219
+
220
+ - Do NOT use `/compact` (information loss risk)
221
+ - Use `save_memory` → `/new` for new session
222
+ - Restore with `/vibe.utils --continue`
223
+
224
+ ## Documentation Guidelines
225
+
226
+ - Avoid ASCII boxes → Use Mermaid diagrams, Markdown tables, or indented lists
227
+ - Flowcharts → Mermaid | Structure → Indented lists | Comparisons → Tables
228
+
229
+ ## Git Commit Rules
230
+
231
+ **Must include:** `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/`, `.claude/vibe/config.json`, `CLAUDE.md`
232
+
233
+ **Exclude:** `~/.claude/vibe/rules/`, `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/`, `.claude/settings.local.json`
234
+
235
+ <!-- VIBE:END -->
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Su
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Su
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.