buildcrew 1.8.0 → 1.8.2

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.
@@ -189,6 +189,28 @@ At mode start, show the pipeline overview. At mode end, output the crew report:
189
189
 
190
190
  ---
191
191
 
192
+ ## Second Opinion
193
+
194
+ After any mode completes, offer: **"Second opinion 할까요?"**
195
+
196
+ If the user accepts:
197
+
198
+ 1. **Check for Codex CLI:** run `which codex`
199
+ 2. **If codex available:** run `codex exec` with the mode's output as context, read-only mode, high reasoning effort. This gives a genuinely independent review from a different AI model. Present the result verbatim under `OUTSIDE VOICE (Codex):` header.
200
+ 3. **If codex unavailable:** dispatch a fresh Agent subagent with the mode's output. The subagent has no memory of the session — genuine fresh eyes. Present under `OUTSIDE VOICE (Claude subagent):` header.
201
+
202
+ The subagent/codex prompt:
203
+ ```
204
+ You are a brutally honest reviewer. A team just completed this work:
205
+ {mode output summary}
206
+ Find what they missed: logical gaps, unstated assumptions, overcomplexity,
207
+ feasibility risks, missing edge cases. Be direct. No compliments. Just problems.
208
+ ```
209
+
210
+ After presenting findings, note any disagreements between the original work and the outside voice. The user decides what to act on.
211
+
212
+ ---
213
+
192
214
  ## Rules
193
215
 
194
216
  1. **Harness first** — read `.claude/harness/` before anything
@@ -197,3 +219,4 @@ At mode start, show the pipeline overview. At mode end, output the crew report:
197
219
  4. **Respect iteration limits** — max iterations reached → ship with known issues documented
198
220
  5. **No progress = escalate** — same issues persist after 2 fixes → ask the user
199
221
  6. **Each agent decides its domain** — developer: technical feasibility, planner: requirements, designer: UX, reviewer: merge readiness, security-auditor: security, investigator: root cause
222
+ 7. **Second opinion is optional** — always offer after mode completion, never force
package/bin/setup.js CHANGED
@@ -27,6 +27,14 @@ async function exists(path) {
27
27
  try { await access(path); return true; } catch { return false; }
28
28
  }
29
29
 
30
+ async function ask(question) {
31
+ const { createInterface } = await import("readline");
32
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
33
+ return new Promise(resolve => {
34
+ rl.question(question, answer => { rl.close(); resolve(answer.trim().toLowerCase()); });
35
+ });
36
+ }
37
+
30
38
  // ─── Template registry ───
31
39
 
32
40
  const TEMPLATES = {
@@ -455,9 +463,22 @@ async function runInstall(force) {
455
463
  const { execSync } = await import("child_process");
456
464
  const mcpList = execSync("claude mcp list 2>/dev/null", { encoding: "utf8" });
457
465
  if (!mcpList.includes("playwright")) {
458
- log(` ${RED}${BOLD}Required:${RESET} Playwright MCP is needed for browser testing agents:`);
459
- log(` ${BOLD}claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
466
+ log(`\n ${YELLOW}Playwright MCP${RESET} is needed for browser testing agents.`);
460
467
  log(` ${DIM}Used by: browser-qa, design-reviewer, canary-monitor, designer${RESET}\n`);
468
+ const answer = await ask(` Install Playwright MCP now? ${BOLD}(Y/n)${RESET} `);
469
+ if (answer === "" || answer === "y" || answer === "yes") {
470
+ log(`\n ${DIM}Running: claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
471
+ try {
472
+ execSync("claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright", { stdio: "inherit" });
473
+ log(`\n ${GREEN}${BOLD}Playwright MCP installed!${RESET}\n`);
474
+ } catch {
475
+ log(`\n ${RED}Failed to install.${RESET} Run manually:`);
476
+ log(` ${BOLD}claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
477
+ }
478
+ } else {
479
+ log(`\n ${DIM}Skipped. Install later with:${RESET}`);
480
+ log(` ${BOLD}claude mcp add playwright -- npx @anthropic-ai/mcp-server-playwright${RESET}\n`);
481
+ }
461
482
  } else {
462
483
  log(` ${GREEN}Playwright MCP:${RESET} installed ✓\n`);
463
484
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "buildcrew",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
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",