start-vibing 2.0.41 → 2.0.44
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 +4 -2
- package/dist/cli.js +71 -23
- package/package.json +1 -1
- package/template/.claude/CLAUDE.md +45 -5
- package/template/.claude/hooks/user-prompt-submit.ts +31 -10
- package/template/.claude/settings.json +2 -7
package/README.md
CHANGED
|
@@ -35,9 +35,9 @@ bunx start-vibing # bun (faster)
|
|
|
35
35
|
|
|
36
36
|
## What It Does
|
|
37
37
|
|
|
38
|
-
### 1. Auto-installs Claude Code
|
|
38
|
+
### 1. Auto-installs Claude Code (Native)
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Installs Claude Code using the official **native installer** (recommended):
|
|
41
41
|
|
|
42
42
|
| Platform | Installation Command |
|
|
43
43
|
| -------------------- | ------------------------------------------------- |
|
|
@@ -45,6 +45,8 @@ If Claude Code is not found on your system, it automatically installs using offi
|
|
|
45
45
|
| Windows (PowerShell) | `irm https://claude.ai/install.ps1 \| iex` |
|
|
46
46
|
| Windows (CMD) | Downloads and runs `install.cmd` |
|
|
47
47
|
|
|
48
|
+
**Automatic Migration:** If you have an old npm installation, it automatically migrates to native installer for better auto-update support.
|
|
49
|
+
|
|
48
50
|
### 2. Sets Up Complete Workflow
|
|
49
51
|
|
|
50
52
|
Creates a `.claude/` folder with:
|
package/dist/cli.js
CHANGED
|
@@ -324,8 +324,55 @@ import { homedir } from "os";
|
|
|
324
324
|
function isClaudeInstalled() {
|
|
325
325
|
return commandExists("claude");
|
|
326
326
|
}
|
|
327
|
+
function isNpmInstallation() {
|
|
328
|
+
const { isWindows } = getPlatformInfo();
|
|
329
|
+
try {
|
|
330
|
+
const whichCmd = isWindows ? "where claude" : "which claude";
|
|
331
|
+
const result = spawnSync(isWindows ? "cmd" : "sh", isWindows ? ["/c", whichCmd] : ["-c", whichCmd], {
|
|
332
|
+
encoding: "utf-8",
|
|
333
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
334
|
+
timeout: 5000
|
|
335
|
+
});
|
|
336
|
+
if (result.stdout) {
|
|
337
|
+
const path = result.stdout.toLowerCase();
|
|
338
|
+
return path.includes("node_modules") || path.includes("\\npm\\") || path.includes("/npm/");
|
|
339
|
+
}
|
|
340
|
+
return false;
|
|
341
|
+
} catch {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
async function migrateToNative() {
|
|
346
|
+
console.log(" Detected npm installation (deprecated)");
|
|
347
|
+
console.log(" Migrating to native installer...");
|
|
348
|
+
console.log(" Running: claude install");
|
|
349
|
+
console.log("");
|
|
350
|
+
try {
|
|
351
|
+
execSync2("claude install", {
|
|
352
|
+
stdio: "inherit",
|
|
353
|
+
timeout: 120000
|
|
354
|
+
});
|
|
355
|
+
console.log("");
|
|
356
|
+
console.log(" Migration to native installer completed!");
|
|
357
|
+
console.log(" Auto-updates are now enabled.");
|
|
358
|
+
return { success: true, alreadyInstalled: true, migrated: true };
|
|
359
|
+
} catch (error) {
|
|
360
|
+
console.log("");
|
|
361
|
+
console.log(" Migration failed, but Claude Code is still functional.");
|
|
362
|
+
console.log(" You can manually run: claude install");
|
|
363
|
+
return {
|
|
364
|
+
success: true,
|
|
365
|
+
alreadyInstalled: true,
|
|
366
|
+
migrated: false,
|
|
367
|
+
error: error instanceof Error ? error.message : "Migration failed"
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
}
|
|
327
371
|
async function installClaude() {
|
|
328
372
|
if (isClaudeInstalled()) {
|
|
373
|
+
if (isNpmInstallation()) {
|
|
374
|
+
return await migrateToNative();
|
|
375
|
+
}
|
|
329
376
|
return { success: true, alreadyInstalled: true };
|
|
330
377
|
}
|
|
331
378
|
const { platform: platform2, shell, isWindows } = getPlatformInfo();
|
|
@@ -814,10 +861,13 @@ ${BANNER}
|
|
|
814
861
|
npm install -g start-vibing
|
|
815
862
|
|
|
816
863
|
Claude Code Installation:
|
|
817
|
-
Automatically uses official installers:
|
|
864
|
+
Automatically uses official native installers:
|
|
818
865
|
- macOS/Linux: curl -fsSL https://claude.ai/install.sh | bash
|
|
819
866
|
- Windows: irm https://claude.ai/install.ps1 | iex
|
|
820
867
|
|
|
868
|
+
If npm installation detected, automatically migrates to native
|
|
869
|
+
for better auto-update support.
|
|
870
|
+
|
|
821
871
|
Documentation:
|
|
822
872
|
https://github.com/LimaTechnologies/ai-development
|
|
823
873
|
`;
|
|
@@ -901,30 +951,28 @@ async function main() {
|
|
|
901
951
|
console.log(" Claude Code Setup");
|
|
902
952
|
console.log(" ========================================");
|
|
903
953
|
console.log("");
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
console.
|
|
954
|
+
const installResult = await installClaude();
|
|
955
|
+
if (!installResult.success) {
|
|
956
|
+
console.error("");
|
|
957
|
+
console.error(" Failed to install Claude Code:", installResult.error);
|
|
958
|
+
console.error("");
|
|
959
|
+
console.error(" You can install manually from: https://claude.ai/code");
|
|
960
|
+
console.error("");
|
|
961
|
+
console.log(" Next steps (manual):");
|
|
962
|
+
console.log(" 1. Install Claude Code from https://claude.ai/code");
|
|
963
|
+
console.log(" 2. Restart your terminal");
|
|
964
|
+
console.log(" 3. Run: claude --dangerously-skip-permissions");
|
|
907
965
|
console.log("");
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
console.log(" Next steps (manual):");
|
|
916
|
-
console.log(" 1. Install Claude Code from https://claude.ai/code");
|
|
917
|
-
console.log(" 2. Restart your terminal");
|
|
918
|
-
console.log(" 3. Run: claude --dangerously-skip-permissions");
|
|
919
|
-
console.log("");
|
|
920
|
-
process.exit(0);
|
|
921
|
-
}
|
|
922
|
-
if (!installResult.alreadyInstalled) {
|
|
923
|
-
console.log("");
|
|
924
|
-
console.log(" Claude Code installed successfully!");
|
|
925
|
-
}
|
|
966
|
+
process.exit(0);
|
|
967
|
+
}
|
|
968
|
+
if (installResult.migrated) {
|
|
969
|
+
console.log("");
|
|
970
|
+
console.log(" Migrated to native installer (auto-updates enabled).");
|
|
971
|
+
} else if (installResult.alreadyInstalled) {
|
|
972
|
+
console.log(" Claude Code is ready (native installer).");
|
|
926
973
|
} else {
|
|
927
|
-
console.log("
|
|
974
|
+
console.log("");
|
|
975
|
+
console.log(" Claude Code installed successfully!");
|
|
928
976
|
}
|
|
929
977
|
if (!skipMcp && isClaudeMcpReady()) {
|
|
930
978
|
console.log("");
|
package/package.json
CHANGED
|
@@ -46,17 +46,16 @@ All agents MUST use these MCP servers when applicable:
|
|
|
46
46
|
| `context7` | Up-to-date library documentation | research, analyzer, tester |
|
|
47
47
|
| `sequential-thinking` | Complex problem-solving | orchestrator, analyzer, final-validator |
|
|
48
48
|
| `memory` | Persistent knowledge graph | domain-updater, commit-manager |
|
|
49
|
-
| `playwright` | Browser automation
|
|
49
|
+
| `playwright` | Browser automation (via MCP tools) | ui-ux-reviewer |
|
|
50
50
|
| `nextjs-devtools` | Next.js specific development tools | analyzer (Next.js projects) |
|
|
51
51
|
| `mongodb` | MongoDB database operations | tester, security-auditor |
|
|
52
52
|
|
|
53
53
|
### Agent MCP Usage Rules
|
|
54
54
|
|
|
55
55
|
- **research agent**: MUST use `context7` for library docs before recommending patterns
|
|
56
|
-
- **tester agent**: MUST use `playwright` for E2E tests
|
|
57
56
|
- **analyzer agent**: SHOULD use `context7` to verify current API patterns
|
|
58
57
|
- **domain-updater**: SHOULD use `memory` to persist patterns across sessions
|
|
59
|
-
- **ui-ux-reviewer**: MUST use `playwright` to verify UI implementations
|
|
58
|
+
- **ui-ux-reviewer**: MUST use `playwright` MCP tools to verify UI implementations
|
|
60
59
|
|
|
61
60
|
---
|
|
62
61
|
|
|
@@ -205,9 +204,8 @@ All implementations MUST:
|
|
|
205
204
|
- [ ] Pass typecheck (command from config)
|
|
206
205
|
- [ ] Pass lint (command from config)
|
|
207
206
|
- [ ] Pass unit tests (command from config)
|
|
208
|
-
- [ ] Pass E2E tests (command from config)
|
|
209
207
|
- [ ] Pass build (command from config)
|
|
210
|
-
- [ ]
|
|
208
|
+
- [ ] Use Playwright MCP for browser testing when needed
|
|
211
209
|
- [ ] Have documentation in `docs/`
|
|
212
210
|
- [ ] Be security audited
|
|
213
211
|
- [ ] Be committed with conventional commits
|
|
@@ -215,6 +213,48 @@ All implementations MUST:
|
|
|
215
213
|
|
|
216
214
|
---
|
|
217
215
|
|
|
216
|
+
## Opus 4.6 Best Practices
|
|
217
|
+
|
|
218
|
+
### Effort Levels
|
|
219
|
+
|
|
220
|
+
| Level | Use For |
|
|
221
|
+
|-------|---------|
|
|
222
|
+
| `max` | Orchestrators, complex architecture (Opus only) |
|
|
223
|
+
| `high` | Default - complex agentic tasks |
|
|
224
|
+
| `medium` | Most workloads, balance speed/cost |
|
|
225
|
+
| `low` | Subagents, high-volume tasks |
|
|
226
|
+
|
|
227
|
+
### Prompting Rules
|
|
228
|
+
|
|
229
|
+
- **AVOID**: Words like "CRITICAL", "MUST", "be thorough" - causes overtriggering
|
|
230
|
+
- **USE**: "Use this tool when it would enhance understanding"
|
|
231
|
+
- Keep prompts minimal - Opus 4.6 overthinks with verbose instructions
|
|
232
|
+
- Explicit instructions work better than implied expectations
|
|
233
|
+
|
|
234
|
+
### Model Selection
|
|
235
|
+
|
|
236
|
+
| Model | Use Case |
|
|
237
|
+
|-------|----------|
|
|
238
|
+
| **Opus 4.6** | Team leads, orchestrators, deep reasoning |
|
|
239
|
+
| **Sonnet 4.6** | Teammates, subagents (5x cheaper, near-identical performance) |
|
|
240
|
+
| **Haiku 4.5** | Simple classification, no thinking needed |
|
|
241
|
+
|
|
242
|
+
### Interleaved Thinking
|
|
243
|
+
|
|
244
|
+
- Enabled automatically with adaptive thinking
|
|
245
|
+
- Claude reasons between every tool call
|
|
246
|
+
- Pass thinking blocks back unmodified in tool loops
|
|
247
|
+
- Provides transparency into Claude's reasoning process
|
|
248
|
+
|
|
249
|
+
### Cost Control
|
|
250
|
+
|
|
251
|
+
- Set `max_tokens` to 64K+ at high effort
|
|
252
|
+
- Use `low` effort for subagents
|
|
253
|
+
- Billed for FULL thinking tokens (not summarized output)
|
|
254
|
+
- Thinking tokens count toward context window
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
218
258
|
## Domain Updater Agent
|
|
219
259
|
|
|
220
260
|
The **domain-updater** runs BEFORE commit-manager to ensure git stays clean.
|
|
@@ -55,17 +55,38 @@ async function main(): Promise<void> {
|
|
|
55
55
|
|
|
56
56
|
const systemMessage = `TASK WORKFLOW (English only):
|
|
57
57
|
|
|
58
|
-
0. READ both CLAUDE.md (project root) and .claude/CLAUDE.md before making any changes.
|
|
59
|
-
|
|
58
|
+
0. READ both CLAUDE.md (project root) and .claude/CLAUDE.md before making any changes.
|
|
59
|
+
|
|
60
|
+
1. CREATE a detailed todo-list (TaskCreate) breaking down the request into steps.
|
|
61
|
+
- This is MANDATORY for ALL tasks, not optional.
|
|
62
|
+
- Include "Update CLAUDE.md with changes" as final task.
|
|
63
|
+
|
|
60
64
|
2. WORK through each item sequentially — mark in_progress when starting, completed when done.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
|
|
66
|
+
3. UI/UX IMPLEMENTATION:
|
|
67
|
+
- BEFORE implementing any UI: invoke ui-mobile, ui-tablet, ui-desktop agents in PARALLEL.
|
|
68
|
+
- RESEARCH competitors in the same niche using competitor-analyzer or research-web agent.
|
|
69
|
+
- UI changes without market research will be REJECTED by final-validator.
|
|
70
|
+
|
|
71
|
+
4. TESTING (via Playwright MCP):
|
|
72
|
+
- Use the Playwright MCP server (mcp__playwright__*) for browser testing.
|
|
73
|
+
- Do NOT run bun run test:e2e - use MCP tools directly.
|
|
74
|
+
- Test on 3 viewports: mobile (375px), tablet (768px), desktop (1280px).
|
|
75
|
+
|
|
76
|
+
5. COMMIT using conventional commits via commit-manager agent.
|
|
77
|
+
|
|
78
|
+
6. UPDATE CLAUDE.md BEFORE finishing (MANDATORY):
|
|
79
|
+
a. "## Last Change" section (date: ${today}, branch, summary). Keep only latest.
|
|
80
|
+
b. Architecture changes: Update Architecture section with new patterns, file locations.
|
|
81
|
+
c. Business rules: Add new rules to relevant sections (not just summary).
|
|
82
|
+
d. UI patterns: Document new components, design decisions, aesthetic rules.
|
|
83
|
+
e. Workflows: Update Workflow section if process changed.
|
|
84
|
+
f. Gotchas: Add to FORBIDDEN or NRY sections if discovered.
|
|
85
|
+
g. Config/Stack: Update if tooling changed.
|
|
86
|
+
|
|
87
|
+
CLAUDE.md is the SINGLE SOURCE OF TRUTH. Document everything that affects future sessions.
|
|
88
|
+
|
|
89
|
+
7. RUN stop-validator before finishing: npx tsx .claude/hooks/stop-validator.ts`;
|
|
69
90
|
|
|
70
91
|
console.log(JSON.stringify({ continue: true, systemMessage }));
|
|
71
92
|
process.exit(0);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"model": "
|
|
2
|
+
"model": "opus",
|
|
3
3
|
"max_tokens": 8192,
|
|
4
4
|
"max_turns": 100,
|
|
5
5
|
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
},
|
|
240
240
|
"testing": {
|
|
241
241
|
"unit_tests_required": true,
|
|
242
|
-
"
|
|
242
|
+
"playwright_mcp_for_browser_tests": true,
|
|
243
243
|
"data_testid_required": true,
|
|
244
244
|
"edge_cases_research_required": true
|
|
245
245
|
},
|
|
@@ -266,11 +266,6 @@
|
|
|
266
266
|
"required": true,
|
|
267
267
|
"blocking": true
|
|
268
268
|
},
|
|
269
|
-
"test_e2e": {
|
|
270
|
-
"command": "bun run test:e2e",
|
|
271
|
-
"required": "when_ui_changes",
|
|
272
|
-
"blocking": true
|
|
273
|
-
},
|
|
274
269
|
"build": {
|
|
275
270
|
"command": "bun run build",
|
|
276
271
|
"required": true,
|