buildcrew 1.8.3 → 1.8.4

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 (2) hide show
  1. package/bin/setup.js +16 -8
  2. package/package.json +1 -1
package/bin/setup.js CHANGED
@@ -475,16 +475,12 @@ async function runInstall(force) {
475
475
  if (installed > 0 || updated > 0) log(` ${GREEN}${BOLD}Done!${RESET} ${parts.join(", ")}.\n`);
476
476
  else log(` ${GREEN}All agents up-to-date.${RESET} (v${VERSION})\n`);
477
477
 
478
- if (!(await exists(join(HARNESS_DIR, "project.md")))) {
479
- log(` ${CYAN}Next:${RESET} ${BOLD}npx buildcrew init${RESET} — auto-generates project harness from your codebase.\n`);
480
- }
481
-
482
- // Check Playwright MCP (required for browser-qa, design-reviewer, canary-monitor, designer)
478
+ // ─── Step 2: Playwright MCP ───
483
479
  try {
484
480
  const { execSync } = await import("child_process");
485
481
  const mcpList = execSync("claude mcp list 2>/dev/null", { encoding: "utf8" });
486
482
  if (!mcpList.includes("playwright")) {
487
- log(`\n ${YELLOW}Playwright MCP${RESET} is needed for browser testing agents.`);
483
+ log(` ${YELLOW}Playwright MCP${RESET} is needed for browser testing agents.`);
488
484
  log(` ${DIM}Used by: browser-qa, design-reviewer, canary-monitor, designer${RESET}\n`);
489
485
  const answer = await ask(` Install Playwright MCP now? ${BOLD}(Y/n)${RESET} `);
490
486
  if (answer === "" || answer === "y" || answer === "yes") {
@@ -497,14 +493,26 @@ async function runInstall(force) {
497
493
  log(` ${BOLD}claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
498
494
  }
499
495
  } else {
500
- log(`\n ${DIM}Skipped. Install later with:${RESET}`);
501
- log(` ${BOLD}claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
496
+ log(`\n ${DIM}Skipped. Run later: claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
502
497
  }
503
498
  } else {
504
499
  log(` ${GREEN}Playwright MCP:${RESET} installed ✓\n`);
505
500
  }
506
501
  } catch { /* claude CLI not available, skip */ }
507
502
 
503
+ // ─── Step 3: Project harness ───
504
+ if (!(await exists(join(HARNESS_DIR, "project.md")))) {
505
+ const initAnswer = await ask(` Generate project harness? ${DIM}(auto-detects your stack)${RESET} ${BOLD}(Y/n)${RESET} `);
506
+ if (initAnswer === "" || initAnswer === "y" || initAnswer === "yes") {
507
+ log("");
508
+ await runInit(false);
509
+ } else {
510
+ log(`\n ${DIM}Skipped. Run later: npx buildcrew init${RESET}\n`);
511
+ }
512
+ } else {
513
+ log(` ${GREEN}Project harness:${RESET} exists ✓\n`);
514
+ }
515
+
508
516
  log(` ${BOLD}Start:${RESET} @buildcrew [your request]\n`);
509
517
  }
510
518
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "buildcrew",
3
- "version": "1.8.3",
3
+ "version": "1.8.4",
4
4
  "description": "15 AI agents for Claude Code — full development lifecycle from product thinking to production monitoring",
5
5
  "homepage": "https://buildcrew-landing.vercel.app",
6
6
  "author": "z1nun",