maestro-bundle 2.0.1 → 2.1.0
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/package.json +1 -1
- package/src/cli.mjs +44 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maestro-bundle",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "One command. Full context for your AI agent. Any editor. Install governance bundles with skills, PRD, AGENTS.md and GitHub Spec Kit.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"maestro-bundle": "./src/cli.mjs"
|
package/src/cli.mjs
CHANGED
|
@@ -113,6 +113,7 @@ function showHelp() {
|
|
|
113
113
|
console.log("");
|
|
114
114
|
console.log(chalk.dim(" Usage:"));
|
|
115
115
|
console.log(` npx maestro-bundle ${chalk.green("<bundle>")} ${chalk.yellow("<editor>")} ${chalk.dim("[directory]")}`);
|
|
116
|
+
console.log(` npx maestro-bundle ${chalk.green("<bundle>")} ${chalk.yellow("<editor>")} ${chalk.dim("[directory]")} --no-sdd`);
|
|
116
117
|
console.log("");
|
|
117
118
|
console.log(chalk.dim(" Bundles:"));
|
|
118
119
|
for (const [key, info] of Object.entries(BUNDLES)) {
|
|
@@ -127,8 +128,12 @@ function showHelp() {
|
|
|
127
128
|
console.log(` ${chalk.yellow("windsurf".padEnd(12))} .windsurfrules (all in one file)`);
|
|
128
129
|
console.log(` ${chalk.yellow("all".padEnd(12))} Install for all editors in the same repo`);
|
|
129
130
|
console.log("");
|
|
131
|
+
console.log(chalk.dim(" Options:"));
|
|
132
|
+
console.log(` ${chalk.dim("--no-sdd")} Skip GitHub Spec Kit (no /speckit.* commands, just AGENTS.md + skills)`);
|
|
133
|
+
console.log("");
|
|
130
134
|
console.log(chalk.dim(" Examples:"));
|
|
131
135
|
console.log(` npx maestro-bundle ai-agents claude`);
|
|
136
|
+
console.log(` npx maestro-bundle ai-agents claude --no-sdd ${chalk.dim("# Without SDD")}`);
|
|
132
137
|
console.log(` npx maestro-bundle jhipster-monorepo cursor ./my-project`);
|
|
133
138
|
console.log(` npx maestro-bundle frontend-spa all`);
|
|
134
139
|
console.log("");
|
|
@@ -251,9 +256,11 @@ async function main() {
|
|
|
251
256
|
process.exit(args.length < 2 && !args.includes("--help") ? 1 : 0);
|
|
252
257
|
}
|
|
253
258
|
|
|
254
|
-
const
|
|
255
|
-
const
|
|
256
|
-
const
|
|
259
|
+
const noSdd = args.includes("--no-sdd");
|
|
260
|
+
const filteredArgs = args.filter(a => a !== "--no-sdd");
|
|
261
|
+
const bundleName = filteredArgs[0];
|
|
262
|
+
const editorArg = filteredArgs[1];
|
|
263
|
+
const targetDir = resolve(filteredArgs[2] || ".");
|
|
257
264
|
|
|
258
265
|
if (!BUNDLES[bundleName]) {
|
|
259
266
|
console.error(chalk.red(`\n Bundle "${bundleName}" not found.\n`));
|
|
@@ -276,11 +283,19 @@ async function main() {
|
|
|
276
283
|
process.exit(1);
|
|
277
284
|
}
|
|
278
285
|
|
|
279
|
-
//
|
|
286
|
+
// Build AGENTS.md (base + bundle)
|
|
280
287
|
let agentsMd = readFile(join(baseDir, "AGENTS.md"));
|
|
281
288
|
const bundleAgents = readFile(join(bundleDir, "AGENTS.md"));
|
|
282
289
|
if (bundleAgents) agentsMd += "\n\n---\n\n" + bundleAgents;
|
|
283
290
|
|
|
291
|
+
// If --no-sdd, strip SDD sections from AGENTS.md
|
|
292
|
+
if (noSdd) {
|
|
293
|
+
agentsMd = agentsMd
|
|
294
|
+
.replace(/## FUNDAMENTAL RULE: Specification-Driven Development[\s\S]*?(?=\n## )/g, "")
|
|
295
|
+
.replace(/## Specification-Driven Development[\s\S]*?(?=\n## )/g, "")
|
|
296
|
+
.replace(/The fundamental SDD rule[\s\S]*?(?=\n## )/g, "");
|
|
297
|
+
}
|
|
298
|
+
|
|
284
299
|
// Listar skills
|
|
285
300
|
const skillDirs = getSkillDirs(templatesDir, bundleName);
|
|
286
301
|
const skills = listSkills(skillDirs);
|
|
@@ -351,7 +366,11 @@ async function main() {
|
|
|
351
366
|
}
|
|
352
367
|
spinner3.succeed("references/ ready");
|
|
353
368
|
|
|
354
|
-
// 4. GitHub Spec Kit — install CLI + initialize in project
|
|
369
|
+
// 4. GitHub Spec Kit — install CLI + initialize in project (skip with --no-sdd)
|
|
370
|
+
if (noSdd) {
|
|
371
|
+
const spinnerSkip = ora("Skipping Spec Kit (--no-sdd)").start();
|
|
372
|
+
spinnerSkip.info("Spec Kit skipped. Using AGENTS.md + skills only.");
|
|
373
|
+
} else {
|
|
355
374
|
// Map editor to specify --ai flag
|
|
356
375
|
const aiFlags = {
|
|
357
376
|
claude: "claude",
|
|
@@ -449,6 +468,7 @@ async function main() {
|
|
|
449
468
|
spinner4d.succeed("Bundle constitution integrated with Spec Kit");
|
|
450
469
|
}
|
|
451
470
|
}
|
|
471
|
+
} // end if (!noSdd)
|
|
452
472
|
|
|
453
473
|
// Done
|
|
454
474
|
console.log("");
|
|
@@ -474,18 +494,27 @@ async function main() {
|
|
|
474
494
|
console.log(` ${chalk.cyan(".windsurfrules")}`);
|
|
475
495
|
}
|
|
476
496
|
}
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
497
|
+
|
|
498
|
+
if (!noSdd) {
|
|
499
|
+
console.log(` ${chalk.cyan(".specify/")} (GitHub Spec Kit — /speckit.* commands)`);
|
|
500
|
+
console.log("");
|
|
501
|
+
console.log(" SDD commands available in your editor:");
|
|
502
|
+
console.log(` ${chalk.cyan("/speckit.specify")} — Specify WHAT and WHY`);
|
|
503
|
+
console.log(` ${chalk.cyan("/speckit.plan")} — Plan architecture and stack`);
|
|
504
|
+
console.log(` ${chalk.cyan("/speckit.tasks")} — Break into atomic tasks`);
|
|
505
|
+
console.log(` ${chalk.cyan("/speckit.implement")} — Execute tasks`);
|
|
506
|
+
}
|
|
507
|
+
|
|
486
508
|
console.log("");
|
|
487
509
|
console.log(" Next step:");
|
|
488
|
-
|
|
510
|
+
if (noSdd) {
|
|
511
|
+
console.log(" 1. Fill in PRD.md with your product requirements");
|
|
512
|
+
console.log(" 2. Open the project in your AI editor and start coding");
|
|
513
|
+
} else {
|
|
514
|
+
console.log(" 1. Fill in PRD.md with your product requirements");
|
|
515
|
+
console.log(" 2. Open the project in your AI editor");
|
|
516
|
+
console.log(" 3. Use " + chalk.cyan("/speckit.specify") + " to start your first feature");
|
|
517
|
+
}
|
|
489
518
|
console.log("");
|
|
490
519
|
}
|
|
491
520
|
|