@nclamvn/vibecode-cli 1.3.0 → 1.5.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/README.md CHANGED
@@ -1,91 +1,352 @@
1
1
  # Vibecode CLI
2
2
 
3
- > Build software with discipline - AI coding with guardrails
3
+ ```
4
+ ██╗ ██╗██╗██████╗ ███████╗ ██████╗ ██████╗ ██████╗ ███████╗
5
+ ██║ ██║██║██╔══██╗██╔════╝██╔════╝██╔═══██╗██╔══██╗██╔════╝
6
+ ██║ ██║██║██████╔╝█████╗ ██║ ██║ ██║██║ ██║█████╗
7
+ ╚██╗ ██╔╝██║██╔══██╗██╔══╝ ██║ ██║ ██║██║ ██║██╔══╝
8
+ ╚████╔╝ ██║██████╔╝███████╗╚██████╗╚██████╔╝██████╔╝███████╗
9
+ ╚═══╝ ╚═╝╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
10
+ ```
4
11
 
5
- [![npm version](https://badge.fury.io/js/vibecode-cli.svg)](https://badge.fury.io/js/vibecode-cli)
12
+ **Build Software with Discipline** — AI coding with guardrails
13
+
14
+ [![npm version](https://img.shields.io/npm/v/@nclamvn/vibecode-cli.svg)](https://www.npmjs.com/package/@nclamvn/vibecode-cli)
6
15
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
16
 
17
+ ---
18
+
8
19
  ## What is Vibecode?
9
20
 
10
- Vibecode CLI transforms AI coding tools into disciplined builders. It provides:
21
+ Vibecode is a CLI tool that brings **discipline** to AI-assisted development. Instead of chaotic prompt-and-pray coding, Vibecode enforces a structured workflow:
22
+
23
+ 1. **Define** what you want (Intake)
24
+ 2. **Design** how it works (Blueprint)
25
+ 3. **Agree** on deliverables (Contract)
26
+ 4. **Build** with AI assistance
27
+ 5. **Review** against criteria
28
+ 6. **Ship** with confidence
11
29
 
12
- - 🎯 **Guided workflow** - Step-by-step from idea to production
13
- - 🔒 **Quality gates** - No shipping without checks
14
- - 📋 **Contract-first** - Clear scope before building
15
- - 📊 **State tracking** - Always know where you are
16
- - 📝 **Audit trail** - Every decision documented
30
+ ---
17
31
 
18
- ## Installation
32
+ ## Quick Start
19
33
 
20
34
  ```bash
21
- npm install -g vibecode-cli
35
+ # Install globally
36
+ npm install -g @nclamvn/vibecode-cli
37
+
38
+ # Initialize in your project
39
+ cd your-project
40
+ vibecode init
41
+
42
+ # Start guided session
43
+ vibecode start
22
44
  ```
23
45
 
24
- Requires Node.js 18 or higher.
46
+ That's it! Vibecode will guide you through the entire process.
25
47
 
26
- ## Quick Start
48
+ ---
49
+
50
+ ## Philosophy
51
+
52
+ ### AI as Pipeline, not Tool
53
+
54
+ Traditional approach:
55
+ ```
56
+ Human → AI → Code → ???
57
+ ```
58
+
59
+ Vibecode approach:
60
+ ```
61
+ Human → Contract → AI Pipeline → Validated Code → Ship
62
+ ↑ │
63
+ └──────── Feedback Loop ───────┘
64
+ ```
65
+
66
+ ### Core Principles
67
+
68
+ | Principle | Description |
69
+ |-----------|-------------|
70
+ | **Contract-First** | Lock scope before building. No scope creep. |
71
+ | **Evidence-Based** | Every build produces diff, logs, screenshots |
72
+ | **Iterative** | Build → Test → Fix loop until tests pass |
73
+ | **Disciplined** | State machine prevents skipping steps |
74
+
75
+ ---
76
+
77
+ ## Workflow
78
+
79
+ ```
80
+ ┌─────────────────────────────────────────────────────────────────┐
81
+ │ VIBECODE WORKFLOW │
82
+ ├─────────────────────────────────────────────────────────────────┤
83
+ │ │
84
+ │ PHASE A: PLANNING │
85
+ │ ┌──────┐ ┌───────────┐ ┌──────────┐ ┌────────┐ │
86
+ │ │ INIT │ → │ INTAKE │ → │ BLUEPRINT│ → │CONTRACT│ │
87
+ │ └──────┘ └───────────┘ └──────────┘ └────────┘ │
88
+ │ │ │
89
+ │ ▼ │
90
+ │ ┌────────┐ │
91
+ │ │ LOCK │ │
92
+ │ └────────┘ │
93
+ │ │ │
94
+ │ PHASE B: EXECUTION │ │
95
+ │ ▼ │
96
+ │ ┌────────┐ ┌───────┐ ┌────────┐ ┌──────────┐ │
97
+ │ │SHIPPED │ ← │REVIEW │ ← │ BUILD │ ← │ PLAN │ │
98
+ │ └────────┘ └───────┘ └────────┘ └──────────┘ │
99
+ │ │ ▲ │
100
+ │ │ │ │
101
+ │ └─────────────┘ │
102
+ │ (if failed, rebuild) │
103
+ │ │
104
+ └─────────────────────────────────────────────────────────────────┘
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Commands Reference
110
+
111
+ ### Phase A: Planning
112
+
113
+ | Command | Description | Options |
114
+ |---------|-------------|---------|
115
+ | `vibecode init` | Initialize workspace | `-f, --force` `-q, --quiet` |
116
+ | `vibecode start` | Start guided session | `-r, --resume` |
117
+ | `vibecode status` | Show current state | `--json` `-v, --verbose` |
118
+ | `vibecode lock` | Lock contract, generate spec hash | `-d, --dry-run` `-f, --force` |
119
+ | `vibecode doctor` | Check installation health | — |
120
+
121
+ ### Phase B: Execution
122
+
123
+ | Command | Description | Options |
124
+ |---------|-------------|---------|
125
+ | `vibecode plan` | Create execution plan | — |
126
+ | `vibecode build` | Build with AI | See Build Flags below |
127
+ | `vibecode review` | Review against criteria | `--skip-manual` |
128
+ | `vibecode snapshot` | Create release | `--patch` `--minor` `--major` |
129
+ | `vibecode config` | Manage settings | `--show` `--provider <name>` |
130
+
131
+ ---
132
+
133
+ ## Build Flags
134
+
135
+ The `build` command supports multiple modes:
27
136
 
28
137
  ```bash
29
- # 1. Initialize workspace
30
- cd your-project
138
+ # Manual build
139
+ vibecode build --start # Start building
140
+ vibecode build --evidence # Capture git diff
141
+ vibecode build --complete # Mark as done
142
+
143
+ # AI-powered build
144
+ vibecode build --auto # Single AI build with Claude Code
145
+
146
+ # Iterative build (recommended)
147
+ vibecode build --iterate # Build → Test → Fix loop
148
+ vibecode build --iterate --max 5 # Max 5 iterations
149
+ vibecode build --iterate --strict # Exit with error if fails
150
+ ```
151
+
152
+ ### How `--iterate` Works
153
+
154
+ ```
155
+ ┌─────────────────────────────────────────────────────────┐
156
+ │ ITERATIVE BUILD LOOP │
157
+ ├─────────────────────────────────────────────────────────┤
158
+ │ │
159
+ │ ┌─────────┐ │
160
+ │ │ START │ │
161
+ │ └────┬────┘ │
162
+ │ ▼ │
163
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
164
+ │ │ BUILD │ ──▶ │ TEST │ ──▶ │ ANALYZE │ │
165
+ │ │(Claude) │ │(npm test│ │ ERRORS │ │
166
+ │ └─────────┘ │ + lint) │ └────┬────┘ │
167
+ │ ▲ └─────────┘ │ │
168
+ │ │ ▼ │
169
+ │ │ ┌─────────┐ ┌─────────┐ │
170
+ │ └──────────│GENERATE │ ◀── │ ERRORS? │ │
171
+ │ │FIX PROMPT│ └────┬────┘ │
172
+ │ └─────────┘ │ No │
173
+ │ ▼ │
174
+ │ ┌─────────┐ │
175
+ │ │ DONE! │ │
176
+ │ └─────────┘ │
177
+ │ │
178
+ └─────────────────────────────────────────────────────────┘
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Examples
184
+
185
+ ### Example 1: Simple CLI Calculator
186
+
187
+ ```bash
188
+ mkdir my-calculator && cd my-calculator
31
189
  vibecode init
32
190
 
33
- # 2. Start guided session
34
191
  vibecode start
192
+ # Describe: "CLI calculator with add, subtract, multiply, divide"
35
193
 
36
- # 3. Check status anytime
37
- vibecode status
194
+ vibecode start # Continue to blueprint
195
+ vibecode start # Continue to contract
196
+ vibecode lock # Lock the contract
38
197
 
39
- # 4. Lock contract when ready
40
- vibecode lock
198
+ vibecode plan # Generate execution plan
199
+ vibecode build --iterate # Build until tests pass
41
200
 
42
- # 5. Health check
43
- vibecode doctor
201
+ vibecode review # Review the build
202
+ vibecode snapshot # Create v1.0.0
44
203
  ```
45
204
 
46
- ## Commands
205
+ ### Example 2: Landing Page
47
206
 
48
- | Command | Description |
49
- |---------|-------------|
50
- | `vibecode init` | Initialize .vibecode/ workspace |
51
- | `vibecode start` | Start guided session |
52
- | `vibecode status` | Show current state and progress |
53
- | `vibecode lock` | Validate and lock contract |
54
- | `vibecode doctor` | Check installation health |
207
+ ```bash
208
+ mkdir landing && cd landing
209
+ vibecode init
210
+ vibecode start
211
+ # Describe: "Modern landing page with hero, features, pricing, and contact form"
55
212
 
56
- ## Workflow
213
+ # ... follow the workflow
214
+ vibecode build --iterate --max 3
215
+ ```
216
+
217
+ ### Example 3: Using with Existing Project
57
218
 
219
+ ```bash
220
+ cd my-existing-project
221
+ vibecode init
222
+ vibecode start
223
+ # Describe your feature/fix
224
+
225
+ vibecode build --auto # Single AI build
58
226
  ```
59
- INIT → INTAKE → BLUEPRINT → CONTRACT → LOCK → BUILD → REVIEW → SHIP
227
+
228
+ ---
229
+
230
+ ## Project Structure
231
+
232
+ After `vibecode init`, your project will have:
233
+
60
234
  ```
235
+ your-project/
236
+ ├── .vibecode/
237
+ │ ├── vibecode.yaml # Configuration
238
+ │ ├── state.json # State machine
239
+ │ ├── sessions/ # Session data
240
+ │ │ └── abc123/ # Session ID
241
+ │ │ ├── intake.md
242
+ │ │ ├── blueprint.md
243
+ │ │ ├── contract.md
244
+ │ │ ├── plan.md
245
+ │ │ ├── coder_pack.md
246
+ │ │ └── evidence/
247
+ │ │ ├── changes.diff
248
+ │ │ ├── build.log
249
+ │ │ └── screenshots/
250
+ │ └── logs/
251
+ │ └── audit.log
252
+ └── ... your code
253
+ ```
254
+
255
+ ---
256
+
257
+ ## State Machine
258
+
259
+ Vibecode enforces a strict state machine to prevent skipping steps:
260
+
261
+ | State | Description | Next States |
262
+ |-------|-------------|-------------|
263
+ | `INIT` | Fresh workspace | `INTAKE_CAPTURED` |
264
+ | `INTAKE_CAPTURED` | Description recorded | `BLUEPRINT_DRAFTED` |
265
+ | `BLUEPRINT_DRAFTED` | Architecture designed | `CONTRACT_DRAFTED` |
266
+ | `CONTRACT_DRAFTED` | Scope defined | `CONTRACT_LOCKED` |
267
+ | `CONTRACT_LOCKED` | Ready to build | `PLAN_CREATED` |
268
+ | `PLAN_CREATED` | Plan generated | `BUILD_IN_PROGRESS` |
269
+ | `BUILD_IN_PROGRESS` | Building... | `BUILD_DONE` |
270
+ | `BUILD_DONE` | Build complete | `REVIEW_PASSED` / `REVIEW_FAILED` |
271
+ | `REVIEW_PASSED` | QA passed | `SHIPPED` |
272
+ | `REVIEW_FAILED` | QA failed | `BUILD_IN_PROGRESS` |
273
+ | `SHIPPED` | Released! | — |
274
+
275
+ ---
276
+
277
+ ## Requirements
61
278
 
62
- ## Files Created
279
+ - **Node.js** >= 18.0.0
280
+ - **Claude Code CLI** (for `--auto` and `--iterate` modes)
281
+ ```bash
282
+ npm install -g @anthropic-ai/claude-code
283
+ ```
63
284
 
285
+ ---
286
+
287
+ ## Configuration
288
+
289
+ ### CLAUDE.md
290
+
291
+ Create a `CLAUDE.md` file in your project root to provide context to Claude Code:
292
+
293
+ ```markdown
294
+ # Project Rules
295
+
296
+ - Use TypeScript for all new files
297
+ - Follow existing code style
298
+ - Write tests for new features
299
+ - No console.log in production code
64
300
  ```
65
- .vibecode/
66
- ├── vibecode.yaml # Configuration
67
- ├── state.json # Current state
68
- ├── sessions/ # Session files
69
- │ └── [timestamp]/
70
- │ ├── intake.md
71
- │ ├── blueprint.md
72
- │ └── contract.md
73
- └── logs/ # Audit trail
301
+
302
+ This will be automatically injected when using `--auto` or `--iterate`.
303
+
304
+ ---
305
+
306
+ ## Troubleshooting
307
+
308
+ ### "No Vibecode workspace found"
309
+
310
+ Run `vibecode init` first.
311
+
312
+ ### "Invalid transition"
313
+
314
+ You're trying to skip a step. Check current state with `vibecode status`.
315
+
316
+ ### "Claude Code CLI not found"
317
+
318
+ Install Claude Code:
319
+ ```bash
320
+ npm install -g @anthropic-ai/claude-code
74
321
  ```
75
322
 
76
- ## Philosophy
323
+ ### Build keeps failing
324
+
325
+ 1. Check `vibecode status --verbose`
326
+ 2. Look at `.vibecode/sessions/<id>/evidence/build.log`
327
+ 3. Try `vibecode build --iterate --max 5` for more attempts
328
+
329
+ ---
77
330
 
78
- Vibecode is built on the "AI as Pipeline" philosophy:
331
+ ## Links
79
332
 
80
- - **AI proposes** based on patterns and best practices
81
- - **Human decides** based on context and goals
82
- - **Contract locks** scope before building
83
- - **Evidence proves** work was done correctly
333
+ - **npm**: https://www.npmjs.com/package/@nclamvn/vibecode-cli
334
+ - **Issues**: https://github.com/nclamvn/vibecode-cli/issues
335
+
336
+ ---
84
337
 
85
338
  ## License
86
339
 
87
- MIT © Lâm
340
+ MIT © [Lam](https://github.com/nclamvn)
341
+
342
+ ---
343
+
344
+ ## Credits
345
+
346
+ Powered by [Claude Code](https://github.com/anthropics/claude-code)
88
347
 
89
348
  ---
90
349
 
91
- Built with ❤️ using Vibecode Kit v4.0
350
+ <p align="center">
351
+ <strong>"Contract LOCKED = License to Build"</strong>
352
+ </p>
package/bin/vibecode.js CHANGED
@@ -17,6 +17,10 @@ import {
17
17
  reviewCommand,
18
18
  snapshotCommand,
19
19
  configCommand,
20
+ goCommand,
21
+ agentCommand,
22
+ debugCommand,
23
+ assistCommand,
20
24
  VERSION
21
25
  } from '../src/index.js';
22
26
 
@@ -110,6 +114,67 @@ program
110
114
  .option('--provider <name>', 'Set default AI provider')
111
115
  .action(configCommand);
112
116
 
117
+ // ─────────────────────────────────────────────────────────────────────────────
118
+ // Phase E Commands - Magic Mode
119
+ // ─────────────────────────────────────────────────────────────────────────────
120
+
121
+ program
122
+ .command('go <description>')
123
+ .description('Magic mode: one command, full automated build')
124
+ .option('-t, --template <name>', 'Use template (landing, saas, cli, api)')
125
+ .option('-i, --iterate', 'Enable iterative build mode')
126
+ .option('-m, --max <n>', 'Max iterations for iterative mode', parseInt)
127
+ .option('-o, --open', 'Auto-open result when done')
128
+ .action(goCommand);
129
+
130
+ // ─────────────────────────────────────────────────────────────────────────────
131
+ // Phase F Commands - Agent Mode
132
+ // ─────────────────────────────────────────────────────────────────────────────
133
+
134
+ program
135
+ .command('agent <description>')
136
+ .description('Agent mode: autonomous multi-module builder with self-healing')
137
+ .option('-n, --new', 'Create new project directory')
138
+ .option('-v, --verbose', 'Show detailed progress')
139
+ .option('--analyze', 'Analyze project structure without building')
140
+ .option('--status', 'Show agent status and memory stats')
141
+ .option('--report', 'Export memory report to markdown')
142
+ .option('--clear', 'Clear agent memory')
143
+ .option('--force', 'Force operation (for --clear)')
144
+ .option('--json', 'Output as JSON (for --analyze, --status)')
145
+ .option('--max-retries <n>', 'Max retries per module', parseInt)
146
+ .option('--skip-tests', 'Skip tests after each module')
147
+ .option('--continue', 'Continue on module failure')
148
+ .option('--stdout', 'Output report to stdout (for --report)')
149
+ .action(agentCommand);
150
+
151
+ // ─────────────────────────────────────────────────────────────────────────────
152
+ // Phase G Commands - Debug Mode
153
+ // ─────────────────────────────────────────────────────────────────────────────
154
+
155
+ program
156
+ .command('debug [description...]')
157
+ .description('Debug mode: intelligent 9-step bug fixing')
158
+ .option('-i, --interactive', 'Interactive debug session (default if no args)')
159
+ .option('-a, --auto', 'Auto-scan project for errors and fix')
160
+ .option('-l, --log <text>', 'Provide error log directly')
161
+ .option('--image <path>', 'Provide error screenshot')
162
+ .option('--attempts <n>', 'Max fix attempts (default: 3)', parseInt)
163
+ .option('-v, --verbose', 'Show detailed output')
164
+ .option('-q, --quiet', 'Minimal output')
165
+ .action((description, options) => {
166
+ debugCommand(description || [], options);
167
+ });
168
+
169
+ program
170
+ .command('assist [prompt...]')
171
+ .alias('expert')
172
+ .description('🤝 AI Assist: Direct Claude Code access with full project context')
173
+ .option('--no-context', 'Skip context injection')
174
+ .action((prompt, options) => {
175
+ assistCommand(prompt || [], options);
176
+ });
177
+
113
178
  // ─────────────────────────────────────────────────────────────────────────────
114
179
  // Parse
115
180
  // ─────────────────────────────────────────────────────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nclamvn/vibecode-cli",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Build software with discipline - AI coding with guardrails",
5
5
  "main": "src/index.js",
6
6
  "type": "module",