buildcrew 1.8.2 → 1.8.3
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/bin/setup.js +26 -5
- package/package.json +1 -1
package/bin/setup.js
CHANGED
|
@@ -303,16 +303,37 @@ ${d.hasAI ? "- AI-generated content treated as untrusted (sanitize before render
|
|
|
303
303
|
if (d.apiRoutes.length > 0) log(` ${CYAN}API Routes${RESET} ${d.apiRoutes.length} found`);
|
|
304
304
|
if (d.locales.length > 0) log(` ${CYAN}Locales${RESET} ${d.locales.join(", ")}`);
|
|
305
305
|
|
|
306
|
-
//
|
|
306
|
+
// Interactive: offer remaining templates
|
|
307
307
|
const remaining = Object.entries(TEMPLATES).filter(([name, t]) => t.file && !autoTemplates.includes(name));
|
|
308
308
|
if (remaining.length > 0) {
|
|
309
|
-
log(`\n ${BOLD}
|
|
310
|
-
for (
|
|
311
|
-
|
|
309
|
+
log(`\n ${BOLD}Additional harness files available:${RESET}\n`);
|
|
310
|
+
for (let i = 0; i < remaining.length; i++) {
|
|
311
|
+
const [name, t] = remaining[i];
|
|
312
|
+
log(` ${BOLD}${i + 1})${RESET} ${CYAN}${name}${RESET} — ${DIM}${t.desc}${RESET}`);
|
|
313
|
+
}
|
|
314
|
+
log(` ${BOLD}A)${RESET} All of the above`);
|
|
315
|
+
log(` ${BOLD}S)${RESET} Skip\n`);
|
|
316
|
+
|
|
317
|
+
const answer = await ask(` Which ones? ${DIM}(numbers separated by space, A for all, S to skip)${RESET} `);
|
|
318
|
+
|
|
319
|
+
if (answer === "a" || answer === "all") {
|
|
320
|
+
for (const [name, t] of remaining) {
|
|
321
|
+
await copyFile(join(TEMPLATES_SRC, t.file), join(HARNESS_DIR, `${name}.md`));
|
|
322
|
+
log(` ${GREEN} + ${RESET} ${name}.md`);
|
|
323
|
+
}
|
|
324
|
+
log("");
|
|
325
|
+
} else if (answer && answer !== "s" && answer !== "skip") {
|
|
326
|
+
const nums = answer.split(/[\s,]+/).map(n => parseInt(n) - 1).filter(n => n >= 0 && n < remaining.length);
|
|
327
|
+
for (const idx of nums) {
|
|
328
|
+
const [name, t] = remaining[idx];
|
|
329
|
+
await copyFile(join(TEMPLATES_SRC, t.file), join(HARNESS_DIR, `${name}.md`));
|
|
330
|
+
log(` ${GREEN} + ${RESET} ${name}.md`);
|
|
331
|
+
}
|
|
332
|
+
if (nums.length > 0) log("");
|
|
312
333
|
}
|
|
313
334
|
}
|
|
314
335
|
|
|
315
|
-
log(
|
|
336
|
+
log(` ${BOLD}Next step:${RESET} Edit ${CYAN}.claude/harness/*.md${RESET} — fill in project-specific details.`);
|
|
316
337
|
log(` ${DIM}Look for <!-- comments --> — those are the parts to customize.${RESET}\n`);
|
|
317
338
|
}
|
|
318
339
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "buildcrew",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3",
|
|
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",
|