@su-record/vibe 0.1.3 β†’ 0.1.7

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 (73) hide show
  1. package/.claude/commands/vibe.analyze.md +123 -0
  2. package/.claude/commands/vibe.diagram.md +174 -0
  3. package/.claude/commands/vibe.plan.md +75 -0
  4. package/.claude/commands/vibe.run.md +151 -0
  5. package/.claude/commands/vibe.spec.md +273 -0
  6. package/.claude/commands/vibe.tasks.md +77 -0
  7. package/.claude/commands/vibe.ui.md +133 -0
  8. package/.claude/commands/vibe.verify.md +128 -0
  9. package/.claude/settings.local.json +14 -0
  10. package/README.md +170 -108
  11. package/bin/vibe +113 -226
  12. package/package.json +7 -7
  13. package/scripts/install-mcp.js +16 -6
  14. package/skills/quality/bdd-contract-testing.md +388 -0
  15. package/templates/contract-backend-template.md +517 -0
  16. package/templates/contract-frontend-template.md +594 -0
  17. package/templates/feature-template.md +259 -0
  18. package/templates/spec-template.md +60 -3
  19. package/mcp/dist/__tests__/complexity.test.js +0 -126
  20. package/mcp/dist/__tests__/memory.test.js +0 -120
  21. package/mcp/dist/__tests__/python-dart-complexity.test.js +0 -146
  22. package/mcp/dist/index.js +0 -230
  23. package/mcp/dist/lib/ContextCompressor.js +0 -305
  24. package/mcp/dist/lib/MemoryManager.js +0 -334
  25. package/mcp/dist/lib/ProjectCache.js +0 -126
  26. package/mcp/dist/lib/PythonParser.js +0 -241
  27. package/mcp/dist/tools/browser/browserPool.js +0 -76
  28. package/mcp/dist/tools/browser/browserUtils.js +0 -135
  29. package/mcp/dist/tools/browser/inspectNetworkRequests.js +0 -140
  30. package/mcp/dist/tools/browser/monitorConsoleLogs.js +0 -97
  31. package/mcp/dist/tools/convention/analyzeComplexity.js +0 -248
  32. package/mcp/dist/tools/convention/applyQualityRules.js +0 -102
  33. package/mcp/dist/tools/convention/checkCouplingCohesion.js +0 -233
  34. package/mcp/dist/tools/convention/complexityMetrics.js +0 -133
  35. package/mcp/dist/tools/convention/dartComplexity.js +0 -117
  36. package/mcp/dist/tools/convention/getCodingGuide.js +0 -64
  37. package/mcp/dist/tools/convention/languageDetector.js +0 -50
  38. package/mcp/dist/tools/convention/pythonComplexity.js +0 -109
  39. package/mcp/dist/tools/convention/suggestImprovements.js +0 -257
  40. package/mcp/dist/tools/convention/validateCodeQuality.js +0 -177
  41. package/mcp/dist/tools/memory/autoSaveContext.js +0 -79
  42. package/mcp/dist/tools/memory/database.js +0 -123
  43. package/mcp/dist/tools/memory/deleteMemory.js +0 -39
  44. package/mcp/dist/tools/memory/listMemories.js +0 -38
  45. package/mcp/dist/tools/memory/memoryConfig.js +0 -27
  46. package/mcp/dist/tools/memory/memorySQLite.js +0 -138
  47. package/mcp/dist/tools/memory/memoryUtils.js +0 -34
  48. package/mcp/dist/tools/memory/migrate.js +0 -113
  49. package/mcp/dist/tools/memory/prioritizeMemory.js +0 -109
  50. package/mcp/dist/tools/memory/recallMemory.js +0 -40
  51. package/mcp/dist/tools/memory/restoreSessionContext.js +0 -69
  52. package/mcp/dist/tools/memory/saveMemory.js +0 -34
  53. package/mcp/dist/tools/memory/searchMemories.js +0 -37
  54. package/mcp/dist/tools/memory/startSession.js +0 -100
  55. package/mcp/dist/tools/memory/updateMemory.js +0 -46
  56. package/mcp/dist/tools/planning/analyzeRequirements.js +0 -166
  57. package/mcp/dist/tools/planning/createUserStories.js +0 -119
  58. package/mcp/dist/tools/planning/featureRoadmap.js +0 -202
  59. package/mcp/dist/tools/planning/generatePrd.js +0 -156
  60. package/mcp/dist/tools/prompt/analyzePrompt.js +0 -145
  61. package/mcp/dist/tools/prompt/enhancePrompt.js +0 -105
  62. package/mcp/dist/tools/semantic/findReferences.js +0 -195
  63. package/mcp/dist/tools/semantic/findSymbol.js +0 -200
  64. package/mcp/dist/tools/thinking/analyzeProblem.js +0 -50
  65. package/mcp/dist/tools/thinking/breakDownProblem.js +0 -140
  66. package/mcp/dist/tools/thinking/createThinkingChain.js +0 -39
  67. package/mcp/dist/tools/thinking/formatAsPlan.js +0 -73
  68. package/mcp/dist/tools/thinking/stepByStepAnalysis.js +0 -58
  69. package/mcp/dist/tools/thinking/thinkAloudProcess.js +0 -75
  70. package/mcp/dist/tools/time/getCurrentTime.js +0 -61
  71. package/mcp/dist/tools/ui/previewUiAscii.js +0 -232
  72. package/mcp/dist/types/tool.js +0 -2
  73. package/mcp/package.json +0 -53
package/README.md CHANGED
@@ -15,6 +15,7 @@ Transform natural language requirements into production-ready code through struc
15
15
 
16
16
  - **Claude Code Optimized**: Built specifically for Claude Code with native slash commands and MCP integration
17
17
  - **SPEC-driven Development**: Structured Q&A process using EARS (Easy Approach to Requirements Syntax)
18
+ - **BDD + Contract Testing**: AI-optimized testing with Gherkin features and API contract validation (🚧 v0.2.0)
18
19
  - **Automated Planning**: Generate technical implementation plans with architecture, cost analysis, and timeline
19
20
  - **Task Decomposition**: Break down features into phase-based, dependency-aware tasks
20
21
  - **Powered by @su-record/hi-ai**: 38 MCP tools combining skills and hi-ai for code analysis, quality validation, and insights
@@ -29,89 +30,76 @@ Transform natural language requirements into production-ready code through struc
29
30
  npm install -g @su-record/vibe
30
31
  ```
31
32
 
32
- This automatically:
33
- - Installs the Vibe CLI
34
- - Registers the MCP server with 38 development tools
35
- - Enables slash commands for Claude Code
33
+ This installs:
34
+ - Vibe CLI (for initialization only)
35
+ - @su-record/hi-ai MCP server (38 development tools)
36
+ - Agents, Skills, Templates for Claude Code
37
+
38
+ ⚠️ **Important**: Vibe is a **Claude Code-exclusive** framework. Terminal commands are limited to `init` only. All development commands are available as **slash commands** within Claude Code.
36
39
 
37
40
  ---
38
41
 
39
42
  ## Quick Start
40
43
 
44
+ ### 1. Initialize Project (Terminal)
45
+
41
46
  ```bash
42
- # Initialize project
47
+ # Option 1: Initialize in existing project
43
48
  vibe init
44
49
 
45
- # Create specification through guided Q&A
46
- vibe spec "push notification settings"
50
+ # Option 2: Create new project
51
+ vibe init my-new-project
52
+ cd my-new-project
53
+ ```
47
54
 
48
- # Generate technical plan
49
- vibe plan "push notification settings"
55
+ This will:
56
+ - Register MCP server for the project directory
57
+ - Create `.vibe/` folder structure
58
+ - Install agents, skills, and templates
50
59
 
51
- # Decompose into tasks
52
- vibe tasks "push notification settings"
60
+ ### 2. Use Slash Commands (Claude Code)
53
61
 
54
- # Implement tasks
55
- vibe run "Task 1-1"
62
+ Open Claude Code in your project directory and use slash commands:
56
63
 
57
- # Verify implementation
58
- vibe verify "push notification settings"
64
+ ```
65
+ /vibe.spec "push notification settings"
66
+ /vibe.plan "push notification settings"
67
+ /vibe.tasks "push notification settings"
68
+ /vibe.run "Task 1-1"
69
+ /vibe.verify "push notification settings"
59
70
  ```
60
71
 
61
72
  ---
62
73
 
63
74
  ## Command Reference
64
75
 
65
- ### Core Workflow Commands
76
+ ### Terminal Commands (Initialization Only)
66
77
 
67
78
  | Command | Description | Example |
68
79
  |---------|-------------|---------|
69
80
  | `vibe init` | Initialize Vibe in current project | `vibe init` |
70
- | `vibe spec <name>` | Create SPEC through 6-question Q&A | `vibe spec "user authentication"` |
71
- | `vibe plan <name>` | Generate technical implementation plan | `vibe plan "user authentication"` |
72
- | `vibe tasks <name>` | Break down into executable tasks | `vibe tasks "user authentication"` |
73
- | `vibe run <task>` | Execute specific task with auto-generated guide | `vibe run "Task 1-1"` |
74
- | `vibe run --phase <N>` | Execute all tasks in phase N | `vibe run --phase 1` |
75
- | `vibe run --all` | Execute all tasks sequentially | `vibe run --all` |
76
- | `vibe verify <name>` | Verify implementation against SPEC | `vibe verify "user authentication"` |
81
+ | `vibe init <name>` | Create new project with Vibe | `vibe init my-app` |
82
+ | `vibe help` | Show help message | `vibe help` |
77
83
 
78
- ### Analysis & Tools
84
+ ### Claude Code Slash Commands (Development)
85
+
86
+ #### Core Workflow
79
87
 
80
88
  | Command | Description | Example |
81
89
  |---------|-------------|---------|
82
- | `vibe analyze` | Comprehensive project analysis | `vibe analyze` |
83
- | `vibe analyze --code` | Code quality and complexity analysis | `vibe analyze --code` |
84
- | `vibe analyze --deps` | Dependency and security audit | `vibe analyze --deps` |
85
- | `vibe analyze --arch` | Architecture and coupling analysis | `vibe analyze --arch` |
86
- | `vibe ui <description>` | Generate ASCII UI mockup | `vibe ui "login form"` |
87
- | `vibe diagram` | Generate architecture diagram (Mermaid) | `vibe diagram` |
88
- | `vibe diagram --er` | Generate ERD diagram | `vibe diagram --er` |
89
- | `vibe diagram --flow` | Generate flowchart | `vibe diagram --flow` |
90
-
91
- ### Utility Commands
92
-
93
- | Command | Description |
94
- |---------|-------------|
95
- | `vibe agents` | List available AI agents |
96
- | `vibe skills` | List installed skill modules |
97
- | `vibe help` | Show command help |
98
-
99
- ---
90
+ | `/vibe.spec <name>` | Create SPEC through natural conversation (auto-detects project type, suggests tech stack & design) | `/vibe.spec "user authentication"` |
91
+ | `/vibe.plan <name>` | Generate technical implementation plan | `/vibe.plan "user authentication"` |
92
+ | `/vibe.tasks <name>` | Break down into executable tasks | `/vibe.tasks "user authentication"` |
93
+ | `/vibe.run <task>` | Execute specific task with auto-generated guide | `/vibe.run "Task 1-1"` |
94
+ | `/vibe.verify <name>` | Verify implementation against SPEC | `/vibe.verify "user authentication"` |
100
95
 
101
- ## Slash Commands (Claude Code)
96
+ #### Analysis & Tools
102
97
 
103
- Use these commands directly in Claude Code:
104
-
105
- | Command | Description |
106
- |---------|-------------|
107
- | `/vibe.spec "feature"` | Create specification |
108
- | `/vibe.plan "feature"` | Generate plan |
109
- | `/vibe.tasks "feature"` | Generate tasks |
110
- | `/vibe.run "Task 1-1"` | Execute task |
111
- | `/vibe.verify "feature"` | Verify implementation |
112
- | `/vibe.analyze` | Analyze project |
113
- | `/vibe.ui "description"` | Preview UI |
114
- | `/vibe.diagram --er` | Generate diagram |
98
+ | Command | Description | Example |
99
+ |---------|-------------|---------|
100
+ | `/vibe.analyze` | Comprehensive project analysis | `/vibe.analyze` |
101
+ | `/vibe.ui <description>` | Generate ASCII UI mockup | `/vibe.ui "login form"` |
102
+ | `/vibe.diagram --er` | Generate diagrams (architecture, ERD, flow) | `/vibe.diagram --er` |
115
103
 
116
104
  ---
117
105
 
@@ -145,12 +133,20 @@ Vibe includes 38 MCP tools across multiple categories:
145
133
  - `recall_memory` - Retrieve stored information
146
134
  - `auto_save_context` - Automatic context checkpointing
147
135
 
136
+ **MCP Server Registration:**
137
+
138
+ The MCP server is automatically registered when you run `vibe init` in your project. This registers the server **locally for your project only**, not globally.
139
+
148
140
  **Verify MCP server:**
149
141
  ```bash
142
+ # Run this in your project directory
150
143
  claude mcp list
151
- # vibe: node /path/to/vibe/mcp/dist/index.js - βœ“ Connected
144
+ # Expected output:
145
+ # vibe: node /path/to/@su-record/vibe/node_modules/@su-record/hi-ai/dist/index.js - βœ“ Connected
152
146
  ```
153
147
 
148
+ **Important:** Each project that uses Vibe must run `vibe init` to register the MCP server for that specific project.
149
+
154
150
  ---
155
151
 
156
152
  ## Configuration
@@ -239,71 +235,142 @@ Vibe uses EARS (Easy Approach to Requirements Syntax):
239
235
 
240
236
  ## Workflow Example
241
237
 
242
- ### 1. Create Specification
238
+ ### 1. Initialize Project (Terminal)
243
239
 
244
240
  ```bash
245
- $ vibe spec "push notification settings"
241
+ $ vibe init
242
+ πŸ”§ MCP μ„œλ²„ 확인 쀑...
243
+ βœ… vibe MCP μ„œλ²„ 등둝 μ™„λ£Œ
244
+ βœ… vibe μ΄ˆκΈ°ν™” μ™„λ£Œ!
245
+
246
+ μƒμ„±λœ ꡬ쑰:
247
+ .vibe/
248
+ β”œβ”€β”€ config.json
249
+ β”œβ”€β”€ constitution.md
250
+ β”œβ”€β”€ specs/
251
+ β”œβ”€β”€ plans/
252
+ └── tasks/
253
+ ```
246
254
 
247
- Q1. Why: Reduce app churn from excessive notifications
248
- Q2. Who: All users (100k+ DAU)
249
- Q3. What: 6-category notification toggle system
250
- Q4. How: P95 < 500ms, Redis caching, rate limiting
251
- Q5. When: 3 days (24 hours development time)
252
- Q6. With What: FastAPI + Flutter + PostgreSQL + FCM
255
+ ### 2. Create Specification (Claude Code)
256
+
257
+ **Note**: Examples shown in English. Claude responds in the language set in `.vibe/config.json` (default: Korean).
253
258
 
254
- βœ… Created: .vibe/specs/push-notification-settings.md
255
259
  ```
260
+ User: /vibe.spec "push notification settings"
261
+
262
+ Claude (Specification Agent):
263
+ [Analyzing source code]
264
+ - Backend: Python (FastAPI)
265
+ - Frontend: Flutter 3.24+
266
+ - Database: PostgreSQL 17
256
267
 
257
- ### 2. Generate Plan
268
+ Existing project detected! Is this tech stack correct?
258
269
 
259
- ```bash
260
- $ vibe plan "push notification settings"
270
+ User: Yes
271
+
272
+ Claude:
273
+ What types of notifications do you want to manage?
274
+
275
+ User: Comments, likes, follows, announcements, events, marketing
276
+
277
+ Claude:
278
+ Do you need just ON/OFF toggle for each category, or detailed settings too?
279
+
280
+ 1. ON/OFF only
281
+ 2. Detailed settings (time, frequency, etc.)
282
+ 3. Both
283
+
284
+ Or you can describe directly.
285
+
286
+ User: 1
287
+
288
+ Claude:
289
+ Which push notification service would you like to use?
290
+
291
+ 1. Firebase Cloud Messaging (FCM) - Free, easy Flutter integration
292
+ 2. OneSignal - Multi-platform, dashboard
293
+ 3. Custom implementation
294
+
295
+ Or you can describe directly.
261
296
 
262
- βœ… Created: .vibe/plans/push-notification-settings.md
297
+ User: We're already using FCM
298
+
299
+ Claude:
300
+ Great! Which design reference would you like to follow?
301
+
302
+ 1. iOS Settings > Notifications (toggle + grouping)
303
+ 2. Slack notification settings (category-based)
304
+ 3. Twitter notification settings (simple list)
305
+
306
+ Or you can describe directly.
307
+
308
+ User: 1
309
+
310
+ ...
311
+
312
+ βœ… SPEC document created!
313
+ πŸ“„ .vibe/specs/push-notification-settings.md
314
+ ```
315
+
316
+ ### 3. Generate Plan (Claude Code)
317
+
318
+ ```
319
+ User: /vibe.plan "push notification settings"
320
+
321
+ Claude (Planning Agent):
322
+ SPEC을 λΆ„μ„ν•˜μ—¬ 기술 κ³„νšμ„ μž‘μ„±ν•˜κ² μŠ΅λ‹ˆλ‹€.
323
+
324
+ βœ… PLAN λ¬Έμ„œ μž‘μ„± μ™„λ£Œ!
325
+ πŸ“„ .vibe/plans/push-notification-settings.md
263
326
 
264
327
  Summary:
265
328
  - 3 Phases: Backend β†’ Frontend β†’ FCM Integration
266
329
  - Timeline: 24 hours (3 days)
267
330
  - Cost: +$0.50/month (Redis + FCM)
268
- - Stack Reuse: 100% existing infrastructure
269
331
  ```
270
332
 
271
- ### 3. Decompose Tasks
333
+ ### 4. Decompose Tasks (Claude Code)
272
334
 
273
- ```bash
274
- $ vibe tasks "push notification settings"
335
+ ```
336
+ User: /vibe.tasks "push notification settings"
275
337
 
276
- βœ… Created: .vibe/tasks/push-notification-settings.md
338
+ Claude (Task Agent):
339
+ PLAN을 기반으둜 Taskλ₯Ό μƒμ„±ν•˜κ² μŠ΅λ‹ˆλ‹€.
340
+
341
+ βœ… TASKS λ¬Έμ„œ μž‘μ„± μ™„λ£Œ!
342
+ πŸ“„ .vibe/tasks/push-notification-settings.md
277
343
 
278
344
  Task Breakdown:
279
345
  - Total: 19 tasks
280
346
  - Phase 1 (Backend): 8 tasks
281
347
  - Phase 2 (Frontend): 8 tasks
282
348
  - Phase 3 (FCM): 3 tasks
283
- - Dependency graph included
284
349
  ```
285
350
 
286
- ### 4. Execute Tasks
351
+ ### 5. Execute Tasks (Claude Code)
287
352
 
288
- ```bash
289
- $ vibe run "Task 1-1"
353
+ ```
354
+ User: /vibe.run "Task 1-1"
290
355
 
291
- Executing: Task 1-1 - Database Migration
356
+ Claude:
357
+ Task 1-1 - Database Migration을 μ‹€ν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€.
292
358
 
293
- Steps:
294
- 1. Read task details from .vibe/tasks/push-notification-settings.md
295
- 2. Generate implementation guide: .vibe/guides/task-1-1.md
296
- 3. Execute: Create migration file with 6 columns
297
- 4. Verify: Run `alembic upgrade head`
298
- 5. Update status: ⬜ β†’ βœ…
359
+ 1. κ΅¬ν˜„ κ°€μ΄λ“œ 생성 (.vibe/guides/task-1-1.md)
360
+ 2. Migration 파일 생성
361
+ 3. Acceptance Criteria 검증
362
+ 4. Task μƒνƒœ μ—…λ°μ΄νŠΈ
299
363
 
300
364
  βœ… Task 1-1 completed
301
365
  ```
302
366
 
303
- ### 5. Code Analysis
367
+ ### 6. Code Analysis (Claude Code)
304
368
 
305
- ```bash
306
- $ vibe analyze --code
369
+ ```
370
+ User: /vibe.analyze
371
+
372
+ Claude:
373
+ ν”„λ‘œμ νŠΈ 전체λ₯Ό λΆ„μ„ν•˜κ² μŠ΅λ‹ˆλ‹€.
307
374
 
308
375
  πŸ“Š Code Quality Report
309
376
 
@@ -318,15 +385,14 @@ Recommendations:
318
385
  1. Refactor src/service.py into 3 modules
319
386
  2. Apply Dependency Injection pattern
320
387
  3. Extract unrelated utilities from src/utils.py
321
-
322
- Report saved: .vibe/reports/analysis-2025-11-17.md
323
388
  ```
324
389
 
325
- ### 6. UI Mockup
390
+ ### 7. UI Mockup (Claude Code)
326
391
 
327
- ```bash
328
- $ vibe ui "login form with email, password, and submit button"
392
+ ```
393
+ User: /vibe.ui "login form"
329
394
 
395
+ Claude:
330
396
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
331
397
  β”‚ Welcome Back β”‚
332
398
  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
@@ -346,11 +412,7 @@ $ vibe ui "login form with email, password, and submit button"
346
412
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
347
413
 
348
414
  Required Components:
349
- - Header.tsx (Welcome message)
350
- - EmailInput.tsx (Email field)
351
- - PasswordInput.tsx (Password field with masking)
352
- - Button.tsx (Submit button)
353
- - LoginForm.tsx (Form container)
415
+ - EmailInput.tsx, PasswordInput.tsx, Button.tsx
354
416
  ```
355
417
 
356
418
  ---
@@ -363,16 +425,16 @@ Create `CLAUDE.md` in your project root to enable automatic tech stack detection
363
425
 
364
426
  ### 2. Execute Phase by Phase
365
427
 
366
- Instead of `--all`, execute and verify each phase independently:
428
+ Execute and verify each phase independently in Claude Code:
367
429
 
368
- ```bash
369
- vibe run --phase 1 # Backend development
430
+ ```
431
+ /vibe.run --phase 1 # Backend development
370
432
  # Verify, test, commit
371
433
 
372
- vibe run --phase 2 # Frontend development
434
+ /vibe.run --phase 2 # Frontend development
373
435
  # Verify, test, commit
374
436
 
375
- vibe run --phase 3 # Integration
437
+ /vibe.run --phase 3 # Integration
376
438
  # Verify, test, commit
377
439
  ```
378
440
 
@@ -382,12 +444,12 @@ Each task includes acceptance criteria. Ensure all criteria pass before marking
382
444
 
383
445
  ### 4. Leverage MCP Tools
384
446
 
385
- Use analysis commands before refactoring:
447
+ Use analysis commands in Claude Code before refactoring:
386
448
 
387
- ```bash
388
- vibe analyze --code # Identify complexity hotspots
389
- vibe analyze --deps # Check for outdated/vulnerable packages
390
- vibe analyze --arch # Detect circular dependencies
449
+ ```
450
+ /vibe.analyze --code # Identify complexity hotspots
451
+ /vibe.analyze --deps # Check for outdated/vulnerable packages
452
+ /vibe.analyze --arch # Detect circular dependencies
391
453
  ```
392
454
 
393
455
  ---