@su-record/vibe 0.1.4 β 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/vibe.analyze.md +123 -0
- package/.claude/commands/vibe.diagram.md +174 -0
- package/.claude/commands/vibe.plan.md +81 -0
- package/.claude/commands/vibe.run.md +158 -0
- package/.claude/commands/vibe.spec.md +280 -0
- package/.claude/commands/vibe.tasks.md +83 -0
- package/.claude/commands/vibe.ui.md +133 -0
- package/.claude/commands/vibe.verify.md +153 -0
- package/.claude/settings.local.json +19 -0
- package/README.md +221 -109
- package/bin/vibe +96 -225
- package/package.json +3 -2
- package/skills/quality/bdd-contract-testing.md +388 -0
- package/templates/contract-backend-template.md +517 -0
- package/templates/contract-frontend-template.md +594 -0
- package/templates/feature-template.md +259 -0
- package/templates/spec-template.md +60 -3
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
|
|
@@ -30,87 +31,75 @@ npm install -g @su-record/vibe
|
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
This installs:
|
|
33
|
-
- Vibe CLI
|
|
34
|
+
- Vibe CLI (for initialization only)
|
|
34
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.
|
|
35
39
|
|
|
36
40
|
---
|
|
37
41
|
|
|
38
42
|
## Quick Start
|
|
39
43
|
|
|
44
|
+
### 1. Initialize Project (Terminal)
|
|
45
|
+
|
|
40
46
|
```bash
|
|
41
|
-
#
|
|
47
|
+
# Option 1: Initialize in existing project
|
|
42
48
|
vibe init
|
|
43
49
|
|
|
44
|
-
#
|
|
45
|
-
vibe
|
|
50
|
+
# Option 2: Create new project
|
|
51
|
+
vibe init my-new-project
|
|
52
|
+
cd my-new-project
|
|
53
|
+
```
|
|
46
54
|
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
This will:
|
|
56
|
+
- Register MCP server for the project directory
|
|
57
|
+
- Create `.vibe/` folder structure
|
|
58
|
+
- Install agents, skills, and templates
|
|
49
59
|
|
|
50
|
-
|
|
51
|
-
vibe tasks "push notification settings"
|
|
60
|
+
### 2. Use Slash Commands (Claude Code)
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
vibe run "Task 1-1"
|
|
62
|
+
Open Claude Code in your project directory and use slash commands:
|
|
55
63
|
|
|
56
|
-
|
|
57
|
-
vibe
|
|
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"
|
|
58
70
|
```
|
|
59
71
|
|
|
60
72
|
---
|
|
61
73
|
|
|
62
74
|
## Command Reference
|
|
63
75
|
|
|
64
|
-
###
|
|
76
|
+
### Terminal Commands (Initialization Only)
|
|
65
77
|
|
|
66
78
|
| Command | Description | Example |
|
|
67
79
|
|---------|-------------|---------|
|
|
68
80
|
| `vibe init` | Initialize Vibe in current project | `vibe init` |
|
|
69
|
-
| `vibe
|
|
70
|
-
| `vibe
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
| `vibe run --phase <N>` | Execute all tasks in phase N | `vibe run --phase 1` |
|
|
74
|
-
| `vibe run --all` | Execute all tasks sequentially | `vibe run --all` |
|
|
75
|
-
| `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` |
|
|
83
|
+
|
|
84
|
+
### Claude Code Slash Commands (Development)
|
|
76
85
|
|
|
77
|
-
|
|
86
|
+
#### Core Workflow
|
|
78
87
|
|
|
79
88
|
| Command | Description | Example |
|
|
80
89
|
|---------|-------------|---------|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
| `vibe diagram` | Generate architecture diagram (Mermaid) | `vibe diagram` |
|
|
87
|
-
| `vibe diagram --er` | Generate ERD diagram | `vibe diagram --er` |
|
|
88
|
-
| `vibe diagram --flow` | Generate flowchart | `vibe diagram --flow` |
|
|
89
|
-
|
|
90
|
-
### Utility Commands
|
|
91
|
-
|
|
92
|
-
| Command | Description |
|
|
93
|
-
|---------|-------------|
|
|
94
|
-
| `vibe agents` | List available AI agents |
|
|
95
|
-
| `vibe skills` | List installed skill modules |
|
|
96
|
-
| `vibe help` | Show command help |
|
|
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"` |
|
|
97
95
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
## Slash Commands (Claude Code)
|
|
96
|
+
#### Analysis & Tools
|
|
101
97
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
106
|
-
| `/vibe.
|
|
107
|
-
| `/vibe.plan "feature"` | Generate plan |
|
|
108
|
-
| `/vibe.tasks "feature"` | Generate tasks |
|
|
109
|
-
| `/vibe.run "Task 1-1"` | Execute task |
|
|
110
|
-
| `/vibe.verify "feature"` | Verify implementation |
|
|
111
|
-
| `/vibe.analyze` | Analyze project |
|
|
112
|
-
| `/vibe.ui "description"` | Preview UI |
|
|
113
|
-
| `/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` |
|
|
114
103
|
|
|
115
104
|
---
|
|
116
105
|
|
|
@@ -246,71 +235,145 @@ Vibe uses EARS (Easy Approach to Requirements Syntax):
|
|
|
246
235
|
|
|
247
236
|
## Workflow Example
|
|
248
237
|
|
|
249
|
-
### 1.
|
|
238
|
+
### 1. Initialize Project (Terminal)
|
|
250
239
|
|
|
251
240
|
```bash
|
|
252
|
-
$ vibe
|
|
241
|
+
$ vibe init
|
|
242
|
+
π§ MCP μλ² νμΈ μ€...
|
|
243
|
+
β
vibe MCP μλ² λ±λ‘ μλ£
|
|
244
|
+
β
vibe μ΄κΈ°ν μλ£!
|
|
245
|
+
|
|
246
|
+
μμ±λ ꡬ쑰:
|
|
247
|
+
.vibe/
|
|
248
|
+
βββ config.json
|
|
249
|
+
βββ constitution.md
|
|
250
|
+
βββ specs/ # SPEC documents (EARS format)
|
|
251
|
+
βββ features/ # BDD Feature files (Gherkin)
|
|
252
|
+
βββ plans/ # Technical plans
|
|
253
|
+
βββ tasks/ # Task breakdowns
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 2. Create Specification (Claude Code)
|
|
253
257
|
|
|
254
|
-
|
|
255
|
-
Q2. Who: All users (100k+ DAU)
|
|
256
|
-
Q3. What: 6-category notification toggle system
|
|
257
|
-
Q4. How: P95 < 500ms, Redis caching, rate limiting
|
|
258
|
-
Q5. When: 3 days (24 hours development time)
|
|
259
|
-
Q6. With What: FastAPI + Flutter + PostgreSQL + FCM
|
|
258
|
+
**Note**: Examples shown in English. Claude responds in the language set in `.vibe/config.json` (default: Korean).
|
|
260
259
|
|
|
261
|
-
β
Created: .vibe/specs/push-notification-settings.md
|
|
262
260
|
```
|
|
261
|
+
User: /vibe.spec "push notification settings"
|
|
263
262
|
|
|
264
|
-
|
|
263
|
+
Claude (Specification Agent):
|
|
264
|
+
[Analyzing source code]
|
|
265
|
+
- Backend: Python (FastAPI)
|
|
266
|
+
- Frontend: Flutter 3.24+
|
|
267
|
+
- Database: PostgreSQL 17
|
|
265
268
|
|
|
266
|
-
|
|
267
|
-
|
|
269
|
+
Existing project detected! Is this tech stack correct?
|
|
270
|
+
|
|
271
|
+
User: Yes
|
|
272
|
+
|
|
273
|
+
Claude:
|
|
274
|
+
What types of notifications do you want to manage?
|
|
275
|
+
|
|
276
|
+
User: Comments, likes, follows, announcements, events, marketing
|
|
277
|
+
|
|
278
|
+
Claude:
|
|
279
|
+
Do you need just ON/OFF toggle for each category, or detailed settings too?
|
|
280
|
+
|
|
281
|
+
1. ON/OFF only
|
|
282
|
+
2. Detailed settings (time, frequency, etc.)
|
|
283
|
+
3. Both
|
|
284
|
+
|
|
285
|
+
Or you can describe directly.
|
|
286
|
+
|
|
287
|
+
User: 1
|
|
288
|
+
|
|
289
|
+
Claude:
|
|
290
|
+
Which push notification service would you like to use?
|
|
291
|
+
|
|
292
|
+
1. Firebase Cloud Messaging (FCM) - Free, easy Flutter integration
|
|
293
|
+
2. OneSignal - Multi-platform, dashboard
|
|
294
|
+
3. Custom implementation
|
|
295
|
+
|
|
296
|
+
Or you can describe directly.
|
|
297
|
+
|
|
298
|
+
User: We're already using FCM
|
|
299
|
+
|
|
300
|
+
Claude:
|
|
301
|
+
Great! Which design reference would you like to follow?
|
|
302
|
+
|
|
303
|
+
1. iOS Settings > Notifications (toggle + grouping)
|
|
304
|
+
2. Slack notification settings (category-based)
|
|
305
|
+
3. Twitter notification settings (simple list)
|
|
306
|
+
|
|
307
|
+
Or you can describe directly.
|
|
308
|
+
|
|
309
|
+
User: 1
|
|
310
|
+
|
|
311
|
+
...
|
|
312
|
+
|
|
313
|
+
β
SPEC document created!
|
|
314
|
+
π .vibe/specs/push-notification-settings.md
|
|
315
|
+
π .vibe/features/push-notification-settings.feature (BDD scenarios)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 3. Generate Plan (Claude Code)
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
User: /vibe.plan "push notification settings"
|
|
322
|
+
|
|
323
|
+
Claude (Planning Agent):
|
|
324
|
+
SPECμ λΆμνμ¬ κΈ°μ κ³νμ μμ±νκ² μ΅λλ€.
|
|
268
325
|
|
|
269
|
-
β
|
|
326
|
+
β
PLAN λ¬Έμ μμ± μλ£!
|
|
327
|
+
π .vibe/plans/push-notification-settings.md
|
|
270
328
|
|
|
271
329
|
Summary:
|
|
272
330
|
- 3 Phases: Backend β Frontend β FCM Integration
|
|
273
|
-
- Timeline:
|
|
331
|
+
- Timeline: 28 hours (3.5 days)
|
|
274
332
|
- Cost: +$0.50/month (Redis + FCM)
|
|
275
|
-
-
|
|
333
|
+
- Testing: BDD (pytest-bdd) + Contract Testing (Pact)
|
|
276
334
|
```
|
|
277
335
|
|
|
278
|
-
###
|
|
336
|
+
### 4. Decompose Tasks (Claude Code)
|
|
279
337
|
|
|
280
|
-
```
|
|
281
|
-
|
|
338
|
+
```
|
|
339
|
+
User: /vibe.tasks "push notification settings"
|
|
340
|
+
|
|
341
|
+
Claude (Task Agent):
|
|
342
|
+
PLANμ κΈ°λ°μΌλ‘ Taskλ₯Ό μμ±νκ² μ΅λλ€.
|
|
282
343
|
|
|
283
|
-
β
|
|
344
|
+
β
TASKS λ¬Έμ μμ± μλ£!
|
|
345
|
+
π .vibe/tasks/push-notification-settings.md
|
|
284
346
|
|
|
285
347
|
Task Breakdown:
|
|
286
|
-
- Total:
|
|
287
|
-
- Phase 1 (Backend):
|
|
288
|
-
- Phase 2 (Frontend):
|
|
289
|
-
- Phase 3 (
|
|
290
|
-
- Dependency graph included
|
|
348
|
+
- Total: 23 tasks
|
|
349
|
+
- Phase 1 (Backend): 9 tasks (includes Contract Provider)
|
|
350
|
+
- Phase 2 (Frontend): 9 tasks (includes Contract Consumer)
|
|
351
|
+
- Phase 3 (Integration): 5 tasks (includes BDD Steps + Contract Verification)
|
|
291
352
|
```
|
|
292
353
|
|
|
293
|
-
###
|
|
354
|
+
### 5. Execute Tasks (Claude Code)
|
|
294
355
|
|
|
295
|
-
```
|
|
296
|
-
|
|
356
|
+
```
|
|
357
|
+
User: /vibe.run "Task 1-1"
|
|
297
358
|
|
|
298
|
-
|
|
359
|
+
Claude:
|
|
360
|
+
Task 1-1 - Database Migrationμ μ€ννκ² μ΅λλ€.
|
|
299
361
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
4. Verify: Run `alembic upgrade head`
|
|
305
|
-
5. Update status: β¬ β β
|
|
362
|
+
1. ꡬν κ°μ΄λ μμ± (.vibe/guides/task-1-1.md)
|
|
363
|
+
2. Migration νμΌ μμ±
|
|
364
|
+
3. Acceptance Criteria κ²μ¦
|
|
365
|
+
4. Task μν μ
λ°μ΄νΈ
|
|
306
366
|
|
|
307
367
|
β
Task 1-1 completed
|
|
308
368
|
```
|
|
309
369
|
|
|
310
|
-
###
|
|
370
|
+
### 6. Code Analysis (Claude Code)
|
|
311
371
|
|
|
312
|
-
```
|
|
313
|
-
|
|
372
|
+
```
|
|
373
|
+
User: /vibe.analyze
|
|
374
|
+
|
|
375
|
+
Claude:
|
|
376
|
+
νλ‘μ νΈ μ 체λ₯Ό λΆμνκ² μ΅λλ€.
|
|
314
377
|
|
|
315
378
|
π Code Quality Report
|
|
316
379
|
|
|
@@ -325,15 +388,14 @@ Recommendations:
|
|
|
325
388
|
1. Refactor src/service.py into 3 modules
|
|
326
389
|
2. Apply Dependency Injection pattern
|
|
327
390
|
3. Extract unrelated utilities from src/utils.py
|
|
328
|
-
|
|
329
|
-
Report saved: .vibe/reports/analysis-2025-11-17.md
|
|
330
391
|
```
|
|
331
392
|
|
|
332
|
-
###
|
|
393
|
+
### 7. UI Mockup (Claude Code)
|
|
333
394
|
|
|
334
|
-
```
|
|
335
|
-
|
|
395
|
+
```
|
|
396
|
+
User: /vibe.ui "login form"
|
|
336
397
|
|
|
398
|
+
Claude:
|
|
337
399
|
βββββββββββββββββββββββββββββββββββββββββββ
|
|
338
400
|
β Welcome Back β
|
|
339
401
|
βββββββββββββββββββββββββββββββββββββββββββ€
|
|
@@ -353,11 +415,61 @@ $ vibe ui "login form with email, password, and submit button"
|
|
|
353
415
|
βββββββββββββββββββββββββββββββββββββββββββ
|
|
354
416
|
|
|
355
417
|
Required Components:
|
|
356
|
-
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
418
|
+
- EmailInput.tsx, PasswordInput.tsx, Button.tsx
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## BDD & Contract Testing Workflow
|
|
424
|
+
|
|
425
|
+
Vibe integrates BDD (Behavior-Driven Development) and Contract Testing throughout the development lifecycle:
|
|
426
|
+
|
|
427
|
+
### Workflow Overview
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
/vibe.spec "feature"
|
|
431
|
+
β Generates SPEC (EARS) + Feature file (Gherkin)
|
|
432
|
+
|
|
433
|
+
/vibe.plan "feature"
|
|
434
|
+
β Analyzes Feature file, selects BDD tools (pytest-bdd, Pact, etc.)
|
|
435
|
+
|
|
436
|
+
/vibe.tasks "feature"
|
|
437
|
+
β Creates Contract Testing tasks (Provider, Consumer, Verification)
|
|
438
|
+
|
|
439
|
+
/vibe.run "Task X-Y"
|
|
440
|
+
β Implements test-first (Contract β Step Definitions β Code)
|
|
441
|
+
|
|
442
|
+
/vibe.verify "feature"
|
|
443
|
+
β Validates BDD Scenarios + Contract Tests
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### Generated Files
|
|
447
|
+
|
|
448
|
+
- **`.vibe/features/{feature}.feature`** - Gherkin scenarios (Given-When-Then)
|
|
449
|
+
- **`tests/steps/`** - BDD step definitions
|
|
450
|
+
- **`pacts/` or `contracts/`** - Contract test files (Provider/Consumer)
|
|
451
|
+
|
|
452
|
+
### Testing Tools by Language
|
|
453
|
+
|
|
454
|
+
| Language | BDD Tool | Contract Testing |
|
|
455
|
+
|----------|----------|------------------|
|
|
456
|
+
| Python | pytest-bdd, behave | Pact Python |
|
|
457
|
+
| JavaScript/TS | cucumber, jest-cucumber | Pact JS |
|
|
458
|
+
| Java/Kotlin | Cucumber JVM | Pact JVM, Spring Cloud Contract |
|
|
459
|
+
| Dart/Flutter | gherkin, flutter_gherkin | Pact Dart |
|
|
460
|
+
|
|
461
|
+
### Example Feature File
|
|
462
|
+
|
|
463
|
+
```gherkin
|
|
464
|
+
Feature: Push Notification Settings
|
|
465
|
+
|
|
466
|
+
Scenario: User enables comment notifications
|
|
467
|
+
Given the user is logged in
|
|
468
|
+
And the notification settings page is displayed
|
|
469
|
+
When the user toggles "Comments" notification to ON
|
|
470
|
+
Then the setting should be saved successfully
|
|
471
|
+
And the API should return status 200
|
|
472
|
+
And the response time should be less than 500ms
|
|
361
473
|
```
|
|
362
474
|
|
|
363
475
|
---
|
|
@@ -370,16 +482,16 @@ Create `CLAUDE.md` in your project root to enable automatic tech stack detection
|
|
|
370
482
|
|
|
371
483
|
### 2. Execute Phase by Phase
|
|
372
484
|
|
|
373
|
-
|
|
485
|
+
Execute and verify each phase independently in Claude Code:
|
|
374
486
|
|
|
375
|
-
```
|
|
376
|
-
vibe
|
|
487
|
+
```
|
|
488
|
+
/vibe.run --phase 1 # Backend development
|
|
377
489
|
# Verify, test, commit
|
|
378
490
|
|
|
379
|
-
vibe
|
|
491
|
+
/vibe.run --phase 2 # Frontend development
|
|
380
492
|
# Verify, test, commit
|
|
381
493
|
|
|
382
|
-
vibe
|
|
494
|
+
/vibe.run --phase 3 # Integration
|
|
383
495
|
# Verify, test, commit
|
|
384
496
|
```
|
|
385
497
|
|
|
@@ -389,12 +501,12 @@ Each task includes acceptance criteria. Ensure all criteria pass before marking
|
|
|
389
501
|
|
|
390
502
|
### 4. Leverage MCP Tools
|
|
391
503
|
|
|
392
|
-
Use analysis commands before refactoring:
|
|
504
|
+
Use analysis commands in Claude Code before refactoring:
|
|
393
505
|
|
|
394
|
-
```
|
|
395
|
-
vibe
|
|
396
|
-
vibe
|
|
397
|
-
vibe
|
|
506
|
+
```
|
|
507
|
+
/vibe.analyze --code # Identify complexity hotspots
|
|
508
|
+
/vibe.analyze --deps # Check for outdated/vulnerable packages
|
|
509
|
+
/vibe.analyze --arch # Detect circular dependencies
|
|
398
510
|
```
|
|
399
511
|
|
|
400
512
|
---
|