protovibe 1.1.5 → 1.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 (3) hide show
  1. package/README.md +146 -112
  2. package/dist/index.mjs +8 -4
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,11 +2,9 @@
2
2
 
3
3
  > Vibecode your prototypes.
4
4
 
5
- ProtoVibe is a CLI launchpad built on top of [Claude Code](https://claude.ai/code). It gives you a **structured, guided workflow** for turning a rough idea into a fully scoped, spec'd, and initialized project — before a single line of code is written.
5
+ ProtoVibe is a globally installable CLI launchpad built on top of [Claude Code](https://claude.ai/code). It gives you a **structured, guided workflow** for turning a rough idea into a fully scoped, spec'd, and initialized project — before a single line of code is written.
6
6
 
7
- Instead of opening Claude to a blank slate and figuring out what to ask, ProtoVibe walks you step-by-step through idea capture, deep requirements probing, architecture planning, and spec generation. Then it hands off to Claude Code with full context to build.
8
-
9
- It makes **zero AI calls itself**. All intelligence comes from Claude Code, which ProtoVibe launches and drives through a 7-stage workflow prompt.
7
+ It makes **zero AI calls itself**. All intelligence comes from Claude Code, which ProtoVibe launches and drives through a 7-stage workflow. ProtoVibe also **auto-updates itself** every time you run it you never need to reinstall manually.
10
8
 
11
9
  ---
12
10
 
@@ -28,7 +26,7 @@ Before installing ProtoVibe, make sure you have:
28
26
  ```bash
29
27
  npm install -g @anthropic-ai/claude-code
30
28
  ```
31
- Then run `claude` once and log in. ProtoVibe will check for credentials automatically.
29
+ Then run `claude` once and log in. ProtoVibe checks your credentials automatically.
32
30
 
33
31
  ---
34
32
 
@@ -38,202 +36,238 @@ Before installing ProtoVibe, make sure you have:
38
36
  npm install -g protovibe
39
37
  ```
40
38
 
41
- Verify the install:
42
-
43
- ```bash
44
- protovibe --version
45
- ```
39
+ ProtoVibe checks for newer versions on every run and updates itself automatically. You only ever need to install it once.
46
40
 
47
41
  ---
48
42
 
49
43
  ## How to use it
50
44
 
51
- Simply run:
52
-
53
45
  ```bash
54
46
  protovibe
55
47
  ```
56
48
 
57
- You will be asked two things:
49
+ The boot screen renders instantly. Auth is verified automatically. Then you choose your mode:
58
50
 
59
- 1. **Project name** — this becomes the folder name (letters, numbers, hyphens, underscores)
60
- 2. **Where to create it** — browse and select a parent directory
61
-
62
- That's all. ProtoVibe creates the project folder and launches Claude Code inside it. The 7-stage workflow starts automatically.
51
+ ```
52
+ ◆ What would you like to do?
53
+ │ ● Start a new project
54
+ │ ○ Continue with an existing project
55
+ ```
63
56
 
64
57
  ---
65
58
 
66
- ## What it looks like
67
-
68
- When you run `protovibe`, you'll see this boot screen instantly:
59
+ ## Path A New project
69
60
 
70
- ```
71
- ██╗ ██╗██╗██████╗ ███████╗██████╗ ██████╗ ██████╗
72
- ██║ ██║██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔═══██╗
73
- ██║ ██║██║██████╔╝█████╗ ██████╔╝██████╔╝██║ ██║
74
- ╚██╗ ██╔╝██║██╔══██╗██╔══╝ ██╔═══╝ ██╔══██╗██║ ██║
75
- ╚████╔╝ ██║██████╔╝███████╗██║ ██║ ██║╚██████╔╝
76
- ╚═══╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝
77
- ```
78
- *(rendered in a purple → blue gradient in your terminal)*
61
+ 1. **Enter a project name** — letters, numbers, hyphens, underscores only
62
+ 2. **Browse to a parent directory** — interactive folder browser starting from your home directory
63
+ 3. ProtoVibe creates the project folder and writes the workflow files into it
64
+ 4. A launch prompt appears:
79
65
 
80
66
  ```
81
67
  ╭──────────────────────────────────────────╮
82
- version 1.0.0
83
- by razorgojo
84
- powered by Claude Code
85
- ├──────────────────────────────────────────┤
86
- Vibecode your prototypes.
68
+
69
+ Claude Code is loading your project.
70
+
71
+ │ Type "Hello" or "What's up?" to begin. │
72
+
87
73
  ╰──────────────────────────────────────────╯
88
74
  ```
89
75
 
90
- The logo automatically switches to a compact version on narrower terminals (under 90 columns).
76
+ 5. Claude Code opens. Type anything the ProtoVibe workflow starts immediately.
91
77
 
92
- After the boot screen:
78
+ ### If the project name already exists
93
79
 
94
80
  ```
95
- Claude Code detected
96
- ? Project name my-app
97
- ? Parent directory /Users/you/projects
81
+ A project named 'my-app' already exists at this location.
82
+ ◆ What would you like to do?
83
+ │ ● Choose a different name for my new project
84
+ │ ○ Continue with the existing project
85
+ ```
98
86
 
99
- Launching Claude Code...
87
+ - **Choose a different name** — re-enter the name, same folder stays selected
88
+ - **Continue with the existing project** — ProtoVibe writes the workflow files to the existing folder, Claude opens and starts the workflow fresh
89
+
90
+ ---
91
+
92
+ ## Path B — Existing project
93
+
94
+ 1. **Enter the full path** to your existing project folder (supports `~` shorthand)
95
+ 2. ProtoVibe writes an `/analyse` command into the project
96
+ 3. Claude Code opens, silently reads all files, and presents a structured summary:
97
+
98
+ ```
99
+ Project: my-app
100
+ What it does: A client portal for agencies to manage deliverables and feedback.
101
+ Tech Stack: Next.js, TypeScript, Supabase, Tailwind CSS
102
+ Key Features:
103
+ - Client login and dashboard
104
+ - File upload and approval workflow
105
+ - Comment threads per deliverable
106
+ - Email notifications on status change
107
+ Project Structure: App router in src/app/, shared components in src/components/,
108
+ Supabase client in src/lib/. API routes handle upload and notification logic.
109
+ Current State: Partially built — auth and dashboard complete, approval flow in progress.
100
110
  ```
101
111
 
102
- Claude Code opens and the workflow begins immediately.
112
+ 4. Claude says: *"I've analysed your project. I'm ready to help — what would you like to work on?"*
113
+ 5. You drive from here. No workflow constraints — Claude works normally.
103
114
 
104
115
  ---
105
116
 
106
- ## The 7-Stage Workflow
117
+ ## The 7-Stage Workflow (new project path)
107
118
 
108
- Once Claude Code launches, it runs the ProtoVibe workflow automatically. Here's what each stage does:
119
+ After Claude opens, type anything. Claude's first response is always:
109
120
 
110
- ### Stage 0 — Mode Selection
111
- Claude asks whether you want to start from scratch or work on an existing project.
121
+ ```
122
+ Welcome to ProtoVibe. What would you like to do?
112
123
 
113
- ### Stage 0bExisting Project Analysis *(if chosen)*
114
- Paste a folder path. Claude reads the entire codebase, summarises what it does, the tech stack, and key features — then asks how you'd like to enhance it. The workflow ends here and Claude works normally from this point.
124
+ 1. Build from scratch start a new project
125
+ 2. Work on an existing project analyse and enhance an existing codebase
126
+ ```
127
+
128
+ Choose **1** to begin:
115
129
 
116
130
  ### Stage 1 — Idea Capture
117
131
  Claude asks: *"Describe the idea for your project."*
118
- Just speak naturally. No format required.
132
+ Speak naturally. No format required.
119
133
 
120
134
  ### Stage 2 — Deep Requirements Probing
121
- Claude asks follow-up questions **one at a time** — covering users, features, platform, auth, data, integrations, and constraints. It keeps going until everything is fully clear. No question limit.
122
-
123
- When done, it presents a structured summary and asks you to confirm before moving on.
135
+ Claude asks grouped questions covering:
136
+ - Who are the target users?
137
+ - What does each feature do exactly?
138
+ - Step-by-step user flow
139
+ - Platform (web, mobile, desktop, CLI)?
140
+ - Authentication — required? What type?
141
+ - Data — what's created, stored, deleted? Real-time?
142
+ - Third-party integrations?
143
+ - Constraints — performance, offline, accessibility, timeline?
144
+
145
+ Claude keeps probing until everything is clear. Then it presents a full structured summary and asks you to confirm before moving on.
124
146
 
125
147
  ### Stage 3 — Architecture Options
126
148
  Claude proposes **3 distinct architectural approaches**, each with:
127
- - A full tech stack (frontend, backend, database, auth, hosting)
149
+ - Full tech stack (frontend, backend, database, auth, hosting)
128
150
  - How the system works end-to-end
129
151
  - Tradeoffs — what it's best for and what it sacrifices
130
- - One option marked as **Recommended** with a clear reason
152
+ - One option marked **Recommended** with a specific reason
131
153
 
132
154
  ### Stage 4 — Option Confirmation
133
155
  Pick one of the 3 options, or describe your own. If you go custom, Claude evaluates it against your requirements and flags any risks before proceeding.
134
156
 
135
- ### Stage 5 — Specs File Creation
136
- Claude writes `specs.md` in your project folder containing:
137
- - Tech stack with justifications
138
- - User flow (step-by-step)
157
+ ### Stage 5 — Specs File
158
+ Claude asks for confirmation, then writes `specs.md` in your project root containing:
159
+ - App overview and target audience
139
160
  - Feature list with priority labels: **P0** (MVP must-have), **P1** (important), **P2** (nice to have)
140
- - Data model with entities and relationships
161
+ - Complete user flow every journey, primary and alternate paths
162
+ - Tech stack with one-line justification per technology
163
+ - Data model — entities, fields, relationships
141
164
  - Integration notes
142
165
  - Constraints and non-functional requirements
143
166
 
144
167
  ### Stage 6 — Initialization
145
- Claude silently replaces the placeholder `CLAUDE.md` with a project-specific one using `/init`, so it has full context about your project going forward.
168
+ Claude silently replaces the placeholder `CLAUDE.md` with a project-specific one generated by `/init`, so it carries full project context going forward. Nothing is asked — it just happens.
146
169
 
147
170
  ### Stage 7 — Handoff
148
- Workflow ends. Claude tells you: *"You can now go for building out the code."*
149
- From here, Claude Code works normally on your project.
171
+ Claude says: *"Your project is fully scoped and ready to build. Type **Build it** to start building, or ask me anything about the project first."*
172
+
173
+ From here, Claude Code builds your project according to `specs.md`, starting with P0 features.
150
174
 
151
175
  ---
152
176
 
153
177
  ## Commands
154
178
 
155
- ### `/takeover`
156
- Exit the ProtoVibe workflow at any point. Run this inside Claude Code at any stage if you want to skip ahead and work directly.
179
+ These are available at any time inside Claude Code during or after the workflow:
157
180
 
158
- Claude will summarise everything captured so far — idea, requirements, chosen architecture, files created — and then operate normally with no workflow constraints.
181
+ | Command | What it does |
182
+ |---|---|
183
+ | `/takeover` | Exit the ProtoVibe workflow. Claude summarises everything captured so far (idea, requirements, architecture, files created) and then works normally with no constraints. |
184
+ | `/summarise` | Plain-language summary of progress — what's been decided, what's been done, and what comes next. Capped at 10 bullets. |
185
+ | `/protovibe` | Restart the workflow from Stage 0. |
159
186
 
160
187
  ---
161
188
 
162
- ## What gets created in your project folder
189
+ ## Auto-update
163
190
 
164
- ```
165
- <your-project>/
166
- ├── CLAUDE.md # Boots Claude into the /protovibe workflow
167
- └── .claude/
168
- └── commands/
169
- ├── protovibe.md # The full 7-stage workflow instructions
170
- └── takeover.md # The /takeover escape hatch definition
171
- ```
191
+ Every time you run `protovibe`, it silently checks the npm registry. If a newer version is available, it:
192
+ 1. Prints: `Updating ProtoVibe x.x.x → x.x.x...`
193
+ 2. Installs the latest version globally
194
+ 3. Re-launches itself automatically
172
195
 
173
- After Stage 6, `CLAUDE.md` is replaced with a project-specific version generated by `/init`.
174
- After Stage 5, `specs.md` is added to the root.
196
+ If you're offline, it skips the check and boots normally.
175
197
 
176
198
  ---
177
199
 
178
- ## Example session
200
+ ## What gets written to your project
179
201
 
202
+ ### New project
203
+ ```
204
+ <your-project>/
205
+ ├── CLAUDE.md # Instructs Claude to run the ProtoVibe workflow on first message
206
+ └── .claude/
207
+ └── commands/
208
+ ├── protovibe.md # Full 7-stage workflow definition
209
+ ├── takeover.md # /takeover command definition
210
+ └── summarise.md # /summarise command definition
180
211
  ```
181
- $ protovibe
182
-
183
- # Boot screen renders instantly
184
-
185
- ✔ Claude Code detected
186
- ? Project name › client-portal
187
- ? Parent directory › ~/projects
188
-
189
- Launching Claude Code...
190
-
191
- ────────────────────────────────────────
192
- Claude Code v1.x — client-portal
193
-
194
- Welcome to ProtoVibe. What would you like to do?
195
- 1. Build from scratch
196
- 2. Work on an existing project
197
-
198
- > 1
199
212
 
200
- Describe the idea for your project.
213
+ After Stage 5: `specs.md` is added to the root.
214
+ After Stage 6: `CLAUDE.md` is replaced with a project-specific version by `/init`.
201
215
 
202
- > A portal where my agency clients can view project status,
203
- leave feedback, and approve deliverables without emailing me.
216
+ ### Existing project
217
+ ```
218
+ <your-project>/
219
+ ├── CLAUDE.md # Instructs Claude to run /analyse on startup
220
+ └── .claude/
221
+ └── commands/
222
+ └── analyse.md # /analyse command — reads all files and presents a summary
223
+ ```
204
224
 
205
- Who are the target users — your clients, your team, or both?
225
+ ---
206
226
 
207
- > Primarily clients. I'll have one admin view for myself.
227
+ ## What it looks like
208
228
 
209
- What does "approve deliverables" mean exactly — sign off on files,
210
- mark a task complete, something else?
229
+ Boot screen (renders in under 100ms):
211
230
 
212
- > They should be able to view uploaded files and click Approve or
213
- Request Changes, which notifies me.
231
+ ```
232
+ ██╗ ██╗██╗██████╗ ███████╗██████╗ ██████╗ ██████╗
233
+ ██║ ██║██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔═══██╗
234
+ ██║ ██║██║██████╔╝█████╗ ██████╔╝██████╔╝██║ ██║
235
+ ╚██╗ ██╔╝██║██╔══██╗██╔══╝ ██╔═══╝ ██╔══██╗██║ ██║
236
+ ╚████╔╝ ██║██████╔╝███████╗██║ ██║ ██║╚██████╔╝
237
+ ╚═══╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝
238
+ ```
239
+ *(rendered in a purple → blue gradient)*
214
240
 
215
- ...
241
+ ```
242
+ ╭──────────────────────────────────────────╮
243
+ │ version 1.1.x │
244
+ │ by razorgojo │
245
+ │ powered by Claude Code │
246
+ ├──────────────────────────────────────────┤
247
+ │ Vibecode your prototypes. │
248
+ ├──────────────────────────────────────────┤
249
+ │ commands │
250
+ │ /exit — quit ProtoVibe at any time │
251
+ ╰──────────────────────────────────────────╯
216
252
  ```
217
253
 
218
- Claude continues probing until requirements are complete, then presents architecture options and writes the specs.
254
+ The logo automatically switches to a compact version on terminals narrower than 90 columns.
219
255
 
220
256
  ---
221
257
 
222
258
  ## Development
223
259
 
224
260
  ```bash
225
- git clone https://github.com/SomSamantray/VibePro
226
- cd VibePro
261
+ git clone https://github.com/SomSamantray/VibePro-CLI.git
262
+ cd VibePro-CLI
227
263
  npm install
228
264
  npm run build
229
- node dist/index.mjs # run locally without global install
230
- npm install -g . # install globally to test the protovibe command
265
+ node dist/index.mjs # run locally without global install
266
+ npm install -g . # install globally to test the protovibe command
231
267
  ```
232
268
 
233
- ### Scripts
234
-
235
269
  | Command | Description |
236
- |---------|-------------|
270
+ |---|---|
237
271
  | `npm run build` | Compile TypeScript → `dist/` via tsup |
238
272
  | `npm run dev` | Watch mode — rebuilds on every file change |
239
273
 
package/dist/index.mjs CHANGED
@@ -637,10 +637,14 @@ function App({ terminalWidth, version }) {
637
637
  process.stdout.write("\nLogin cancelled. Run protovibe again when ready.\n");
638
638
  process.exit(0);
639
639
  }
640
- process.stdout.write(
641
- "\nOpening Claude Code to log you in.\nOnce logged in, type /exit to return to ProtoVibe.\n\n"
642
- );
643
- spawnSync("claude", [], { stdio: "inherit", shell: true });
640
+ process.stdout.write("\n Opening browser to log you in to Claude Code...\n\n");
641
+ const loginResult = spawnSync("claude", ["auth", "login"], { stdio: "inherit", shell: true });
642
+ if (loginResult.status !== 0 && loginResult.status !== null) {
643
+ process.stdout.write(
644
+ "\n Opening Claude Code to log you in.\n Once logged in, type /exit to return to ProtoVibe.\n\n"
645
+ );
646
+ spawnSync("claude", [], { stdio: "inherit", shell: true });
647
+ }
644
648
  if (!isAuthenticated()) {
645
649
  process.stderr.write("\n\u2717 Not logged in. Run protovibe again after logging in.\n");
646
650
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protovibe",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "A branded CLI platform layer on top of Claude Code",
5
5
  "author": "razorgojo",
6
6
  "license": "MIT",