protovibe 1.1.8 → 1.1.10
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 +43 -14
- package/dist/index.mjs +26 -14
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -32,12 +32,26 @@ Before installing ProtoVibe, make sure you have:
|
|
|
32
32
|
|
|
33
33
|
## Install
|
|
34
34
|
|
|
35
|
+
ProtoVibe is a CLI tool and **must be installed globally** to work:
|
|
36
|
+
|
|
35
37
|
```bash
|
|
36
38
|
npm install -g protovibe
|
|
37
39
|
```
|
|
38
40
|
|
|
41
|
+
> **Note:** The npm page shows `npm i protovibe` — that is a local install and the `protovibe` command will not be found. Always use the `-g` flag.
|
|
42
|
+
|
|
39
43
|
ProtoVibe checks for newer versions on every run and updates itself automatically. You only ever need to install it once.
|
|
40
44
|
|
|
45
|
+
### No install? Use npx
|
|
46
|
+
|
|
47
|
+
Run ProtoVibe directly from any directory without a permanent install:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx protovibe
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This always fetches and runs the latest version on the fly.
|
|
54
|
+
|
|
41
55
|
---
|
|
42
56
|
|
|
43
57
|
## How to use it
|
|
@@ -131,28 +145,43 @@ Choose **1** to begin:
|
|
|
131
145
|
Claude asks: *"Describe the idea for your project."*
|
|
132
146
|
Speak naturally. No format required.
|
|
133
147
|
|
|
134
|
-
### Stage 2 —
|
|
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?
|
|
148
|
+
### Stage 2 — Interactive Requirements Probing
|
|
144
149
|
|
|
145
|
-
Claude
|
|
150
|
+
Claude first silently analyses your idea, then asks requirements questions as **interactive cards** — you click an option or type your own. No long-form typing required.
|
|
151
|
+
|
|
152
|
+
Questions are asked in 3 batches:
|
|
153
|
+
|
|
154
|
+
**Batch 1 — Core context**
|
|
155
|
+
- Who are the primary users?
|
|
156
|
+
- What platform is this for? *(Web, Mobile, Desktop, CLI)*
|
|
157
|
+
- Is user authentication required?
|
|
158
|
+
- How would you describe the scale at launch?
|
|
159
|
+
|
|
160
|
+
**Batch 2 — Features & data**
|
|
161
|
+
- What data does this app create or store? *(multi-select)*
|
|
162
|
+
- Any third-party integrations needed? *(multi-select)*
|
|
163
|
+
- Does the app need real-time features?
|
|
164
|
+
|
|
165
|
+
**Batch 3 — Constraints**
|
|
166
|
+
- Do you have a preferred tech stack?
|
|
167
|
+
- What is your timeline for an MVP?
|
|
168
|
+
- Any specific requirements? *(multi-select)*
|
|
169
|
+
|
|
170
|
+
Options are generated from your idea — not generic defaults. Each question has a recommended answer and an "Other" option to type anything.
|
|
171
|
+
|
|
172
|
+
If anything is still unclear after your answers, Claude asks targeted follow-up questions the same way. Then it presents a full structured summary and asks you to confirm before moving on.
|
|
146
173
|
|
|
147
174
|
### Stage 3 — Architecture Options
|
|
175
|
+
|
|
148
176
|
Claude proposes **3 distinct architectural approaches**, each with:
|
|
149
177
|
- Full tech stack (frontend, backend, database, auth, hosting)
|
|
150
178
|
- How the system works end-to-end
|
|
151
179
|
- Tradeoffs — what it's best for and what it sacrifices
|
|
152
|
-
|
|
180
|
+
|
|
181
|
+
Then presents them as **clickable cards** — pick one, or choose "Custom approach" to describe your own. The recommended option is labeled clearly.
|
|
153
182
|
|
|
154
183
|
### Stage 4 — Option Confirmation
|
|
155
|
-
|
|
184
|
+
If you pick a custom approach, Claude evaluates it against your requirements and flags any risks before proceeding.
|
|
156
185
|
|
|
157
186
|
### Stage 5 — Specs File
|
|
158
187
|
Claude asks for confirmation, then writes `specs.md` in your project root containing:
|
|
@@ -180,7 +209,7 @@ These are available at any time inside Claude Code during or after the workflow:
|
|
|
180
209
|
|
|
181
210
|
| Command | What it does |
|
|
182
211
|
|---|---|
|
|
183
|
-
| `/takeover` | Exit the ProtoVibe workflow. Claude summarises everything captured so far
|
|
212
|
+
| `/takeover` | Exit the ProtoVibe workflow. Claude summarises everything captured so far and works normally with no constraints. |
|
|
184
213
|
| `/summarise` | Plain-language summary of progress — what's been decided, what's been done, and what comes next. Capped at 10 bullets. |
|
|
185
214
|
| `/protovibe` | Restart the workflow from Stage 0. |
|
|
186
215
|
|
package/dist/index.mjs
CHANGED
|
@@ -223,21 +223,29 @@ Your goal is to achieve complete, end-to-end clarity on this product before movi
|
|
|
223
223
|
|
|
224
224
|
**How to probe:**
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
First, silently analyse the user's idea thoroughly. Identify the most likely platform, user type, auth needs, data requirements, and integrations based on what they described. Use this analysis to generate smart, contextual options for each question \u2014 options should reflect what makes sense for their specific idea, not generic defaults.
|
|
227
227
|
|
|
228
|
-
|
|
228
|
+
Then ask your questions using the **AskUserQuestion tool** in 3 batches. Do not ask as plain text lists \u2014 always use the tool so the user can click options or type their own answer.
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
- **Data** \u2014 what data is created, stored, read, or deleted? Any real-time or sync requirements?
|
|
236
|
-
- **Integrations** \u2014 any third-party services, APIs, payment systems, or external tools?
|
|
237
|
-
- **Constraints** \u2014 performance targets, offline support, accessibility needs, team size, timeline, existing tech choices the user wants to keep?
|
|
238
|
-
- **Edge cases** \u2014 what happens when things go wrong? Any critical failure states to handle?
|
|
230
|
+
**Batch 1 \u2014 Core context** (call AskUserQuestion with 4 questions):
|
|
231
|
+
1. "Who are the primary users?" \u2014 generate 3 specific, idea-relevant options (e.g. "Freelance designers", "Small business owners", "Developer teams") \u2014 user can type their own via Other
|
|
232
|
+
2. "What platform is this for?" \u2014 options: Web app, Mobile app (iOS/Android), Desktop app, CLI tool \u2014 mark the most likely one as recommended based on the idea
|
|
233
|
+
3. "Is user authentication required?" \u2014 options: Yes \u2013 email & password, Yes \u2013 social login (Google/GitHub/etc.), No login needed, Multiple auth methods
|
|
234
|
+
4. "How would you describe the scale at launch?" \u2014 options: Personal / side project, Small team (under 20 users), Public product (hundreds of users), Enterprise / large scale
|
|
239
235
|
|
|
240
|
-
**
|
|
236
|
+
**Batch 2 \u2014 Features & data** (call AskUserQuestion with 3 questions):
|
|
237
|
+
1. "What data does this app create or store?" \u2014 generate 3\u20134 idea-relevant options (e.g. "User profiles & preferences", "Files or media uploads", "Transactions or records", "Posts or content") \u2014 use multiSelect: true
|
|
238
|
+
2. "Any third-party integrations needed?" \u2014 generate idea-relevant options (e.g. "Stripe \u2013 payments", "SendGrid \u2013 email", "OpenAI \u2013 AI features", "None for now") \u2014 use multiSelect: true
|
|
239
|
+
3. "Does the app need real-time features?" \u2014 options: Yes \u2013 live updates or notifications, Yes \u2013 real-time collaboration, No \u2013 standard request/response is fine, Not sure yet
|
|
240
|
+
|
|
241
|
+
**Batch 3 \u2014 Constraints** (call AskUserQuestion with 3 questions):
|
|
242
|
+
1. "Do you have a preferred tech stack?" \u2014 generate 3 idea-appropriate stack options (e.g. "Next.js full-stack", "React + Node.js", "Python + FastAPI") + "No preference \u2013 recommend something" marked as recommended
|
|
243
|
+
2. "What is your timeline for an MVP?" \u2014 options: ASAP / this week, 2\u20134 weeks, 1\u20133 months, No hard deadline
|
|
244
|
+
3. "Any specific requirements?" \u2014 options: Offline support needed, Accessibility (WCAG) required, Mobile-first design, None of these \u2014 use multiSelect: true
|
|
245
|
+
|
|
246
|
+
After collecting all answers, analyse them carefully. If any critical area is still unclear (feature behaviour, user flow details, edge cases), call AskUserQuestion again with targeted follow-up questions. Keep going until you have the full picture \u2014 there is no question limit.
|
|
247
|
+
|
|
248
|
+
**There is no question limit.** If the user's answers raise new questions, use AskUserQuestion again. Keep going until you have full clarity.
|
|
241
249
|
|
|
242
250
|
When you are confident everything is fully clear, present a complete structured summary:
|
|
243
251
|
|
|
@@ -274,9 +282,13 @@ Analyze the confirmed requirements carefully. Propose exactly **3 distinct archi
|
|
|
274
282
|
|
|
275
283
|
After presenting all 3, clearly mark one as **Recommended** and explain specifically why it fits this user's requirements better than the others.
|
|
276
284
|
|
|
277
|
-
Then
|
|
285
|
+
Then call **AskUserQuestion** with a single question:
|
|
278
286
|
|
|
279
|
-
|
|
287
|
+
- Question: "Which architecture would you like to go with?"
|
|
288
|
+
- Option 1: label = name of Option 1, description = one-line stack summary
|
|
289
|
+
- Option 2: label = name of Option 2, description = one-line stack summary
|
|
290
|
+
- Option 3: label = name of Option 3 + " (Recommended)", description = one-line stack summary + the specific reason it's recommended
|
|
291
|
+
- Option 4: label = "Custom approach", description = "Describe your own stack \u2014 I'll evaluate it against your requirements"
|
|
280
292
|
|
|
281
293
|
---
|
|
282
294
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "protovibe",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "A branded CLI platform layer on top of Claude Code",
|
|
5
5
|
"author": "razorgojo",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@clack/prompts": "^1.1.0",
|
|
41
41
|
"chalk": "^5.6.2",
|
|
42
42
|
"ink": "^6.8.0",
|
|
43
|
-
"protovibe": "^1.1.
|
|
43
|
+
"protovibe": "^1.1.8",
|
|
44
44
|
"react": "^19.2.4"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|