ma-agents 3.8.0 → 3.11.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.
Files changed (98) hide show
  1. package/README.md +13 -5
  2. package/bin/cli.js +140 -63
  3. package/lib/agents.js +12 -20
  4. package/lib/bmad-cache/cache-manifest.json +8 -8
  5. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  6. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
  7. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
  8. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  9. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.idx +0 -0
  10. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.pack → pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.pack} +0 -0
  11. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.rev +0 -0
  12. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  13. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  14. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  15. package/lib/bmad-cache/cis/src/module-help.csv +5 -5
  16. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  17. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
  18. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
  19. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  20. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.idx +0 -0
  21. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.pack → pack-9427a146a90c00bb542cba038874bf9671ba4dc0.pack} +0 -0
  22. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.rev +0 -0
  23. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  24. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  25. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  26. package/lib/bmad-cache/gds/src/module-help.csv +34 -34
  27. package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
  28. package/lib/bmad-cache/tea/.github/workflows/publish.yaml +168 -0
  29. package/lib/bmad-cache/tea/README.md +67 -57
  30. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  31. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.idx +0 -0
  32. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.pack → pack-f0df537f2649464ff6c5aee241165eb9c8664227.pack} +0 -0
  33. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.rev +0 -0
  34. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  35. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  36. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  37. package/lib/bmad-cache/tea/package-lock.json +2 -2
  38. package/lib/bmad-cache/tea/package.json +5 -6
  39. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/contract-testing.md +2 -3
  40. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-consumer-framework-setup.md +42 -95
  41. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +5 -6
  42. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-provider-verifier.md +1 -1
  43. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
  44. package/lib/bmad-cache/tea/src/module-help.csv +9 -9
  45. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +2 -2
  46. package/lib/bmad-extension/skills/add-sprint/SKILL.md +39 -0
  47. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +39 -0
  48. package/lib/bmad-extension/skills/bmad-dev-story/workflow.md +39 -0
  49. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +41 -0
  50. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +39 -0
  51. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +39 -0
  52. package/lib/bmad-extension/skills/close-sprint/SKILL.md +39 -0
  53. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +41 -0
  54. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +39 -0
  55. package/lib/bmad-extension/skills/module.yaml +1 -1
  56. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +39 -0
  57. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +39 -0
  58. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +39 -0
  59. package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -0
  60. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +39 -0
  61. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +39 -0
  62. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +39 -0
  63. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +2 -2
  64. package/lib/bmad-extension-plugin/skills/add-sprint/SKILL.md +39 -0
  65. package/lib/bmad-extension-plugin/skills/add-to-sprint/SKILL.md +39 -0
  66. package/lib/bmad-extension-plugin/skills/bmad-dev-story/workflow.md +39 -0
  67. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/workflow.md +41 -0
  68. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/workflow.md +39 -0
  69. package/lib/bmad-extension-plugin/skills/cleanup-done/SKILL.md +39 -0
  70. package/lib/bmad-extension-plugin/skills/close-sprint/SKILL.md +39 -0
  71. package/lib/bmad-extension-plugin/skills/generate-backlog/SKILL.md +41 -0
  72. package/lib/bmad-extension-plugin/skills/modify-sprint/SKILL.md +39 -0
  73. package/lib/bmad-extension-plugin/skills/module.yaml +1 -1
  74. package/lib/bmad-extension-plugin/skills/prioritize-backlog/SKILL.md +39 -0
  75. package/lib/bmad-extension-plugin/skills/remove-from-sprint/SKILL.md +39 -0
  76. package/lib/bmad-extension-plugin/skills/sprint-status-view/SKILL.md +39 -0
  77. package/lib/bmad.js +76 -8
  78. package/lib/installer.js +6 -1
  79. package/package.json +4 -4
  80. package/skills/add-sprint/SKILL.md +39 -0
  81. package/skills/add-to-sprint/SKILL.md +39 -0
  82. package/skills/bmad-sprint-planning/SKILL.md +41 -0
  83. package/skills/bmad-sprint-status/SKILL.md +39 -0
  84. package/skills/cleanup-done/SKILL.md +39 -0
  85. package/skills/close-sprint/SKILL.md +39 -0
  86. package/skills/generate-backlog/SKILL.md +41 -0
  87. package/skills/modify-sprint/SKILL.md +39 -0
  88. package/skills/prioritize-backlog/SKILL.md +39 -0
  89. package/skills/remove-from-sprint/SKILL.md +39 -0
  90. package/skills/sprint-status-view/SKILL.md +39 -0
  91. package/skills/story-status-lookup/SKILL.md +38 -21
  92. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.idx +0 -0
  93. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.rev +0 -0
  94. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.idx +0 -0
  95. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.rev +0 -0
  96. package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +0 -216
  97. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.idx +0 -0
  98. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.rev +0 -0
package/README.md CHANGED
@@ -2,12 +2,20 @@
2
2
 
3
3
  A universal NPX tool to install AI coding agent skills. Write skills once, install them across Claude Code, Gemini, Copilot, Cline, Cursor, Kilocode, and Roo Code.
4
4
 
5
- ## What's New in v3.8.0
5
+ ## What's New in v3.11.0
6
6
 
7
- - **BMAD-METHOD v6.5.0** — upgraded from 6.3.0; 42-platform baseline, TOML customization coexistence confirmed
8
- - **`--agent` flag fixed** — `--agent claude-code` now correctly scopes the entire install (skills, BMAD update, instruction-block stamping) to that tool only; previously it was ignored in non-interactive mode
9
- - **Stale Copilot skills dir cleanup** — upgrading from an older version that used `.github/copilot/skills/` now automatically removes the old directory when `.github/skills/` is populated
10
- - **Plugin resolver verified** — bundle resolves via BMAD's Strategy 1 (module.yaml); no package.json needed; 134 skills install cleanly in all CI matrix configurations
7
+ - **Cline workflow generation** — when Cline is selected during install, update, or migration, ma-agents now auto-generates `.clinerules/workflows/<skill-name>.md` for every BMAD skill installed to `.cline/skills/`. Type `/` in Cline chat to browse and invoke all BMAD skills natively.
8
+
9
+ ## What's New in v3.10.0
10
+
11
+ - **Jira backend first-run fix** — the Jira backend is now correctly detected and activated on the very first run after install, resolving a bug where `tracking_system` was ignored until a second invocation.
12
+ - **BMAD v6.6.0** — bundled bmad-method updated to v6.6.0.
13
+
14
+ ## What's New in v3.9.0
15
+
16
+ - **Jira sprint backend** — the install wizard now offers Jira as a 4th sprint management option. Select Jira to provide your Jira URL and project key; credentials are stored in `_bmad/bmm/config.yaml`. All 13 sprint management skills automatically route operations to Jira or file-system based on `tracking_system` in `sprint-status.yaml`.
17
+ - **Skill-level Jira routing** — every sprint skill reads `tracking_system` and routes to the Jira backend via whatever Jira-capable tool is available in your agent context (MCP server, plugin, or native integration). Failure prompts offer retry or permanent switch to file management.
18
+ - **Routing alignment (3.8.1)** — copilot, roo-code, and kilocode persona skills now land in `.agents/skills/` to match `bmad-method 6.5.0`'s unified target directory.
11
19
 
12
20
  See [CHANGELOG.md](CHANGELOG.md) for full release notes.
13
21
 
package/bin/cli.js CHANGED
@@ -380,6 +380,46 @@ async function collectRemotePath(concern) {
380
380
  }
381
381
  }
382
382
 
383
+ async function collectJiraConfig() {
384
+ // Collect Jira server URL
385
+ let jiraUrl;
386
+ while (true) {
387
+ const { url } = await prompts({
388
+ type: 'text',
389
+ name: 'url',
390
+ message: 'Jira server URL (e.g. https://mycompany.atlassian.net):'
391
+ });
392
+ if (!url || !url.trim()) {
393
+ console.log(chalk.red(' Jira server URL cannot be empty. Please try again.'));
394
+ continue;
395
+ }
396
+ jiraUrl = url.trim();
397
+ break;
398
+ }
399
+
400
+ // Collect Jira project key
401
+ let jiraProjectKey;
402
+ while (true) {
403
+ const { key } = await prompts({
404
+ type: 'text',
405
+ name: 'key',
406
+ message: 'Jira project key (e.g. MYPROJ):'
407
+ });
408
+ if (!key || !key.trim()) {
409
+ console.log(chalk.red(' Jira project key cannot be empty. Please try again.'));
410
+ continue;
411
+ }
412
+ if (!/^[A-Z][A-Z0-9]+$/.test(key.trim())) {
413
+ console.log(chalk.red(' Jira project key must be uppercase alphanumeric (e.g. MYPROJ). Please try again.'));
414
+ continue;
415
+ }
416
+ jiraProjectKey = key.trim();
417
+ break;
418
+ }
419
+
420
+ return { mode: 'jira', jiraUrl, jiraProjectKey };
421
+ }
422
+
383
423
  function normalizePath(p) {
384
424
  return p.replace(/\\/g, '/');
385
425
  }
@@ -428,24 +468,43 @@ function writeRepoLayoutConfig(layout) {
428
468
  const configPath = path.join(process.cwd(), '_bmad', 'bmm', 'config.yaml');
429
469
  try {
430
470
  if (!fs.existsSync(configPath)) {
431
- console.log(chalk.yellow(' _bmad/bmm/config.yaml not found skipping config write'));
432
- return;
471
+ // Create an empty file so writeConfigField can append to it
472
+ fs.mkdirSync(path.join(process.cwd(), '_bmad', 'bmm'), { recursive: true });
473
+ fs.writeFileSync(configPath, '', 'utf-8');
433
474
  }
434
475
  let content = fs.readFileSync(configPath, 'utf-8');
435
476
  const projectRoot = process.cwd();
436
477
  const kbPortable = toPortablePath(layout.knowledgebase.path, projectRoot);
437
- const spPortable = toPortablePath(layout.sprintManagement.path, projectRoot);
438
478
  const kbPath = kbPortable.portable;
439
- const spPath = spPortable.portable;
440
479
  content = writeConfigField(content, 'knowledgebase_path', kbPath);
441
- content = writeConfigField(content, 'sprint_management_path', spPath);
442
- // Derive workflow-consumable artifact paths from layout paths (relative when base is relative)
443
- const planningArtifacts = kbPath === '.' ? '_bmad-output/planning-artifacts' : `${kbPath}/_bmad-output/planning-artifacts`;
444
- const implArtifacts = spPath === '.' ? '_bmad-output/implementation-artifacts' : `${spPath}/_bmad-output/implementation-artifacts`;
445
- content = writeConfigField(content, 'planning_artifacts', planningArtifacts);
446
- content = writeConfigField(content, 'implementation_artifacts', implArtifacts);
447
- fs.writeFileSync(configPath, content, 'utf-8');
448
- console.log(chalk.gray(` Config: knowledgebase_path="${kbPath}", sprint_management_path="${spPath}"`));
480
+
481
+ const spMode = layout.sprintManagement.mode;
482
+ if (spMode === 'jira') {
483
+ // Jira backend: write sprint_backend + Jira config; no sprint_management_path
484
+ content = writeConfigField(content, 'sprint_backend', 'jira');
485
+ content = writeConfigField(content, 'jira_url', layout.sprintManagement.jiraUrl);
486
+ content = writeConfigField(content, 'jira_project_key', layout.sprintManagement.jiraProjectKey);
487
+ // Derive artifact paths from kb only
488
+ const planningArtifacts = kbPath === '.' ? '_bmad-output/planning-artifacts' : `${kbPath}/_bmad-output/planning-artifacts`;
489
+ const implArtifacts = '_bmad-output/implementation-artifacts';
490
+ content = writeConfigField(content, 'planning_artifacts', planningArtifacts);
491
+ content = writeConfigField(content, 'implementation_artifacts', implArtifacts);
492
+ fs.writeFileSync(configPath, content, 'utf-8');
493
+ console.log(chalk.gray(` Config: knowledgebase_path="${kbPath}", sprint_backend=jira, jira_url="${layout.sprintManagement.jiraUrl}", jira_project_key="${layout.sprintManagement.jiraProjectKey}"`));
494
+ } else {
495
+ // File-system backend
496
+ const spPortable = toPortablePath(layout.sprintManagement.path, projectRoot);
497
+ const spPath = spPortable.portable;
498
+ content = writeConfigField(content, 'sprint_backend', 'file-system');
499
+ content = writeConfigField(content, 'sprint_management_path', spPath);
500
+ // Derive workflow-consumable artifact paths from layout paths (relative when base is relative)
501
+ const planningArtifacts = kbPath === '.' ? '_bmad-output/planning-artifacts' : `${kbPath}/_bmad-output/planning-artifacts`;
502
+ const implArtifacts = spPath === '.' ? '_bmad-output/implementation-artifacts' : `${spPath}/_bmad-output/implementation-artifacts`;
503
+ content = writeConfigField(content, 'planning_artifacts', planningArtifacts);
504
+ content = writeConfigField(content, 'implementation_artifacts', implArtifacts);
505
+ fs.writeFileSync(configPath, content, 'utf-8');
506
+ console.log(chalk.gray(` Config: knowledgebase_path="${kbPath}", sprint_backend=file-system, sprint_management_path="${spPath}"`));
507
+ }
449
508
  } catch (e) {
450
509
  console.log(chalk.red(` Cannot write config.yaml: ${e.message}`));
451
510
  }
@@ -453,6 +512,7 @@ function writeRepoLayoutConfig(layout) {
453
512
 
454
513
  function writeProjectLayoutYaml(layout) {
455
514
  const layoutPath = path.join(process.cwd(), '_bmad-output', 'project-layout.yaml');
515
+ // Only skip writing when BOTH concerns are truly same-repo (jira requires config recording)
456
516
  const bothSame = layout.knowledgebase.mode === 'same' && layout.sprintManagement.mode === 'same';
457
517
 
458
518
  if (bothSame) {
@@ -464,7 +524,7 @@ function writeProjectLayoutYaml(layout) {
464
524
  return;
465
525
  }
466
526
 
467
- // Multi-repo: generate project-layout.yaml
527
+ // Multi-repo or Jira mode: generate project-layout.yaml
468
528
  fs.mkdirSync(path.join(process.cwd(), '_bmad-output'), { recursive: true });
469
529
 
470
530
  const date = new Date().toISOString().slice(0, 10);
@@ -487,15 +547,20 @@ function writeProjectLayoutYaml(layout) {
487
547
  }
488
548
 
489
549
  // Sprint management section
490
- const spPortable = toPortablePath(layout.sprintManagement.path, projectRoot);
491
550
  content += `sprint_management:\n`;
492
551
  content += ` mode: ${layout.sprintManagement.mode}\n`;
493
- content += ` path: ${yamlEscapeValue(spPortable.portable)}\n`;
494
- if (spPortable.isAbsolute) {
495
- content += ` # PORTABILITY: absolute path — other developers may need to reconfigure\n`;
496
- }
497
- if (layout.sprintManagement.mode === 'remote' && layout.sprintManagement.gitUrl) {
498
- content += ` gitUrl: ${yamlEscapeValue(layout.sprintManagement.gitUrl)}\n`;
552
+ if (layout.sprintManagement.mode === 'jira') {
553
+ content += ` jira_url: ${yamlEscapeValue(layout.sprintManagement.jiraUrl)}\n`;
554
+ content += ` jira_project_key: ${yamlEscapeValue(layout.sprintManagement.jiraProjectKey)}\n`;
555
+ } else {
556
+ const spPortable = toPortablePath(layout.sprintManagement.path, projectRoot);
557
+ content += ` path: ${yamlEscapeValue(spPortable.portable)}\n`;
558
+ if (spPortable.isAbsolute) {
559
+ content += ` # PORTABILITY: absolute path — other developers may need to reconfigure\n`;
560
+ }
561
+ if (layout.sprintManagement.mode === 'remote' && layout.sprintManagement.gitUrl) {
562
+ content += ` gitUrl: ${yamlEscapeValue(layout.sprintManagement.gitUrl)}\n`;
563
+ }
499
564
  }
500
565
 
501
566
  fs.writeFileSync(layoutPath, content, 'utf-8');
@@ -529,14 +594,23 @@ function readExistingLayout() {
529
594
  const modeMatch = afterSection.match(/^\s+mode:\s*(\S+)/m);
530
595
  const pathMatch = afterSection.match(/^\s+path:\s*"?([^"\n]+)"?/m);
531
596
  const gitUrlMatch = afterSection.match(/^\s+gitUrl:\s*"?([^"\n]+)"?/m);
532
-
533
- if (modeMatch && pathMatch) {
534
- const resolvedPath = resolveStoredPath(pathMatch[1], projectRoot);
535
- const entry = { mode: modeMatch[1], path: resolvedPath };
536
- if (modeMatch[1] === 'remote' && gitUrlMatch) {
537
- entry.gitUrl = gitUrlMatch[1];
597
+ const jiraUrlMatch = afterSection.match(/^\s+jira_url:\s*"?([^"\n]+)"?/m);
598
+ const jiraProjectKeyMatch = afterSection.match(/^\s+jira_project_key:\s*"?([^"\n]+)"?/m);
599
+
600
+ if (modeMatch) {
601
+ const mode = modeMatch[1];
602
+ if (mode === 'jira') {
603
+ const jiraUrl = jiraUrlMatch ? jiraUrlMatch[1].replace(/^"(.*)"$/, '$1') : '';
604
+ const jiraProjectKey = jiraProjectKeyMatch ? jiraProjectKeyMatch[1].replace(/^"(.*)"$/, '$1') : '';
605
+ layout[key] = { mode: 'jira', jiraUrl, jiraProjectKey };
606
+ } else if (pathMatch) {
607
+ const resolvedPath = resolveStoredPath(pathMatch[1], projectRoot);
608
+ const entry = { mode, path: resolvedPath };
609
+ if (mode === 'remote' && gitUrlMatch) {
610
+ entry.gitUrl = gitUrlMatch[1];
611
+ }
612
+ layout[key] = entry;
538
613
  }
539
- layout[key] = entry;
540
614
  }
541
615
  }
542
616
 
@@ -666,6 +740,7 @@ async function collectRepoLayout(flags, existingLayout = null) {
666
740
  { title: 'Current repository (default)', value: 'same' },
667
741
  { title: 'Local path', value: 'local' },
668
742
  { title: 'Remote git repository', value: 'remote' },
743
+ ...(concern === 'sprintManagement' ? [{ title: 'Jira', value: 'jira' }] : []),
669
744
  ];
670
745
  // Pre-select existing mode if available
671
746
  const initialIndex = existingMode ? modeChoices.findIndex(c => c.value === existingMode) : 0;
@@ -686,6 +761,8 @@ async function collectRepoLayout(flags, existingLayout = null) {
686
761
  layout[concern] = await collectLocalPath(labels[concern]);
687
762
  } else if (mode === 'remote') {
688
763
  layout[concern] = await collectRemotePath(labels[concern]);
764
+ } else if (mode === 'jira') {
765
+ layout[concern] = await collectJiraConfig();
689
766
  }
690
767
  }
691
768
 
@@ -972,58 +1049,58 @@ async function installWizard(preselectedSkill, preselectedAgents, customPath, fo
972
1049
  }
973
1050
 
974
1051
  const bmadInstalled = bmad.isBmadInstalled();
1052
+ const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
975
1053
  // Story 22.6 — ma-agents customizations are now packaged as a BMAD plugin
976
1054
  // and installed by bmad-method itself via --custom-source. The separate
977
1055
  // `applyCustomizations()` call has been removed; installBmad()/updateBmad()
978
1056
  // stage the plugin and invoke the installer in one pass.
979
- if (!bmadInstalled) {
980
- if (yesFlag) {
981
- console.log(chalk.cyan('\n Installing BMAD-METHOD...'));
982
- const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
983
- const success = await bmad.installBmad(['bmm'], bmadTools);
984
- if (success) {
985
- console.log(chalk.green(' BMAD-METHOD installed successfully!'));
986
- }
987
- } else {
988
- const { installBmad } = await prompts({
989
- type: 'confirm',
990
- name: 'installBmad',
991
- message: 'BMAD-METHOD not detected. Would you like to install it?',
992
- initial: true
993
- });
994
-
995
- if (installBmad) {
1057
+ // v6.6.0: --tools none is rejected for fresh installs; skip BMAD entirely when no IDE tools selected.
1058
+ if (bmadTools.length > 0) {
1059
+ if (!bmadInstalled) {
1060
+ if (yesFlag) {
996
1061
  console.log(chalk.cyan('\n Installing BMAD-METHOD...'));
997
- const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
998
1062
  const success = await bmad.installBmad(['bmm'], bmadTools);
999
1063
  if (success) {
1000
1064
  console.log(chalk.green(' BMAD-METHOD installed successfully!'));
1001
1065
  }
1002
- }
1003
- }
1004
- } else {
1005
- if (yesFlag) {
1006
- console.log(chalk.cyan('\n Updating BMAD-METHOD...'));
1007
- const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
1008
- const success = await bmad.updateBmad(['bmm'], bmadTools);
1009
- if (success) {
1010
- console.log(chalk.green(' BMAD-METHOD updated successfully!'));
1066
+ } else {
1067
+ const { installBmad } = await prompts({
1068
+ type: 'confirm',
1069
+ name: 'installBmad',
1070
+ message: 'BMAD-METHOD not detected. Would you like to install it?',
1071
+ initial: true
1072
+ });
1073
+
1074
+ if (installBmad) {
1075
+ console.log(chalk.cyan('\n Installing BMAD-METHOD...'));
1076
+ const success = await bmad.installBmad(['bmm'], bmadTools);
1077
+ if (success) {
1078
+ console.log(chalk.green(' BMAD-METHOD installed successfully!'));
1079
+ }
1080
+ }
1011
1081
  }
1012
1082
  } else {
1013
- const { updateBmad } = await prompts({
1014
- type: 'confirm',
1015
- name: 'updateBmad',
1016
- message: 'BMAD-METHOD installation detected. Would you like to update it?',
1017
- initial: true
1018
- });
1019
-
1020
- if (updateBmad) {
1083
+ if (yesFlag) {
1021
1084
  console.log(chalk.cyan('\n Updating BMAD-METHOD...'));
1022
- const bmadTools = selectedAgentIds.filter(id => bmadToolsFilter.includes(id)).map(id => getBmadPlatformCode(id));
1023
1085
  const success = await bmad.updateBmad(['bmm'], bmadTools);
1024
1086
  if (success) {
1025
1087
  console.log(chalk.green(' BMAD-METHOD updated successfully!'));
1026
1088
  }
1089
+ } else {
1090
+ const { updateBmad } = await prompts({
1091
+ type: 'confirm',
1092
+ name: 'updateBmad',
1093
+ message: 'BMAD-METHOD installation detected. Would you like to update it?',
1094
+ initial: true
1095
+ });
1096
+
1097
+ if (updateBmad) {
1098
+ console.log(chalk.cyan('\n Updating BMAD-METHOD...'));
1099
+ const success = await bmad.updateBmad(['bmm'], bmadTools);
1100
+ if (success) {
1101
+ console.log(chalk.green(' BMAD-METHOD updated successfully!'));
1102
+ }
1103
+ }
1027
1104
  }
1028
1105
  }
1029
1106
  }
package/lib/agents.js CHANGED
@@ -74,22 +74,14 @@ const agents = [
74
74
  version: '1.0.0',
75
75
  category: 'ide',
76
76
  description: 'GitHub Copilot Agent Mode',
77
- // F2b — routing fix. bmad-method 6.3.0's PluginResolver writes the
78
- // `github-copilot` platform's skills into `.github/skills/` (per its
79
- // bundled `tools/installer/ide/platform-codes.yaml`). The previous
80
- // ma-agents path of `.github/copilot/skills/` produced TWO competing
81
- // skill directories: BMAD wrote 99 plugin skills (including the five
82
- // `ma-agent-*` personas) to `.github/skills/` while the ma-agents
83
- // installer loop dumped 44 legacy ma-agents-only skills into
84
- // `.github/copilot/skills/`. The smoke verifier (and end users) only
85
- // saw the latter, so personas appeared "missing" for copilot. Aligning
86
- // the ma-agents target_dir with BMAD's puts both writers in the same
87
- // tree, identical to the four working tools (Claude Code, Cline,
88
- // Roo Code, Kilocode). The instruction file path is intentionally
89
- // unchanged — `.github/copilot/copilot.md` is still where Copilot
90
- // reads its custom-instructions; only the skills target is moving.
91
- skillsDir: '.github/skills',
92
- getProjectPath: () => path.join(process.cwd(), '.github', 'skills'),
77
+ // bmad-method 6.5.0 moved `github-copilot`, `roo`, and `kilo` platforms
78
+ // from their tool-specific directories to the shared `.agents/skills/`
79
+ // tree (see platform-codes.yaml). Aligning here keeps the smoke verifier
80
+ // and all downstream consumers in sync with BMAD's actual write target.
81
+ // The instruction file path is unchanged `.github/copilot/copilot.md`
82
+ // is still where Copilot reads custom-instructions.
83
+ skillsDir: '.agents/skills',
84
+ getProjectPath: () => path.join(process.cwd(), '.agents', 'skills'),
93
85
  getGlobalPath: () => {
94
86
  const platform = os.platform();
95
87
  if (platform === 'win32') {
@@ -112,8 +104,8 @@ const agents = [
112
104
  version: '1.0.0',
113
105
  category: 'ide',
114
106
  description: 'Kilocode AI Assistant',
115
- skillsDir: '.kilocode/skills',
116
- getProjectPath: () => path.join(process.cwd(), '.kilocode', 'skills'),
107
+ skillsDir: '.agents/skills',
108
+ getProjectPath: () => path.join(process.cwd(), '.agents', 'skills'),
117
109
  getGlobalPath: () => {
118
110
  const platform = os.platform();
119
111
  if (platform === 'win32') {
@@ -164,8 +156,8 @@ const agents = [
164
156
  version: '1.0.0',
165
157
  category: 'ide',
166
158
  description: 'Roo Code AI Assistant (Enhanced Cline fork)',
167
- skillsDir: '.roo/skills',
168
- getProjectPath: () => path.join(process.cwd(), '.roo', 'skills'),
159
+ skillsDir: '.agents/skills',
160
+ getProjectPath: () => path.join(process.cwd(), '.agents', 'skills'),
169
161
  getGlobalPath: () => {
170
162
  const platform = os.platform();
171
163
  if (platform === 'win32') {
@@ -1,6 +1,6 @@
1
1
  {
2
- "generated": "2026-04-23T17:33:59.621Z",
3
- "bmadMethodVersion": "6.5.0",
2
+ "generated": "2026-05-01T12:48:59.888Z",
3
+ "bmadMethodVersion": "6.6.0",
4
4
  "registrySchema": "v63",
5
5
  "modules": {
6
6
  "bmb": {
@@ -12,20 +12,20 @@
12
12
  "cis": {
13
13
  "url": "https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite",
14
14
  "branch": "main",
15
- "commitSha": "14a63b893c07173b7a6cfe0fb6a9a72ba51d3cf1",
16
- "clonedAt": "2026-04-23T17:33:50.997Z"
15
+ "commitSha": "c2ad6c49b311651b0fa1d243f74d87e85167171f",
16
+ "clonedAt": "2026-05-01T12:48:43.446Z"
17
17
  },
18
18
  "gds": {
19
19
  "url": "https://github.com/bmad-code-org/bmad-module-game-dev-studio.git",
20
20
  "branch": "main",
21
- "commitSha": "07ef779abaafb21fe3a8d80d57cf0b4dc9801d60",
22
- "clonedAt": "2026-04-23T17:33:52.532Z"
21
+ "commitSha": "943bd180af9ad7204b9b11f582fbd31225aa8534",
22
+ "clonedAt": "2026-05-01T12:48:47.339Z"
23
23
  },
24
24
  "tea": {
25
25
  "url": "https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise",
26
26
  "branch": "main",
27
- "commitSha": "3016dd0390208ef4c9b68841252f6db07fb8805e",
28
- "clonedAt": "2026-04-23T17:33:59.620Z"
27
+ "commitSha": "b0ee2a5128d0f0b9f32c30a0017722a846518349",
28
+ "clonedAt": "2026-05-01T12:48:59.888Z"
29
29
  },
30
30
  "wds": {
31
31
  "url": "https://github.com/bmad-code-org/bmad-method-wds-expansion",
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 35f47c3b61be13fd307ca5448d65fc02ad5f6875 Alon Mayaffit <alon.mayafit@gmail.com> 1775683162 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
1
+ 0000000000000000000000000000000000000000 c2ad6c49b311651b0fa1d243f74d87e85167171f Alon Mayaffit <alon.mayafit@gmail.com> 1777639723 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 35f47c3b61be13fd307ca5448d65fc02ad5f6875 Alon Mayaffit <alon.mayafit@gmail.com> 1775683162 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
1
+ 0000000000000000000000000000000000000000 c2ad6c49b311651b0fa1d243f74d87e85167171f Alon Mayaffit <alon.mayafit@gmail.com> 1777639723 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 35f47c3b61be13fd307ca5448d65fc02ad5f6875 Alon Mayaffit <alon.mayafit@gmail.com> 1775683162 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
1
+ 0000000000000000000000000000000000000000 c2ad6c49b311651b0fa1d243f74d87e85167171f Alon Mayaffit <alon.mayafit@gmail.com> 1777639723 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
@@ -1,2 +1,2 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- 14a63b893c07173b7a6cfe0fb6a9a72ba51d3cf1 refs/remotes/origin/main
2
+ c2ad6c49b311651b0fa1d243f74d87e85167171f refs/remotes/origin/main
@@ -1 +1 @@
1
- 14a63b893c07173b7a6cfe0fb6a9a72ba51d3cf1
1
+ c2ad6c49b311651b0fa1d243f74d87e85167171f
@@ -1 +1 @@
1
- 14a63b893c07173b7a6cfe0fb6a9a72ba51d3cf1
1
+ c2ad6c49b311651b0fa1d243f74d87e85167171f
@@ -1,7 +1,7 @@
1
1
  module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
2
2
  Creative Intelligence Suite,_meta,,,,,,,,,false,https://cis-docs.bmad-method.org/llms.txt,
3
- Creative Intelligence Suite,bmad-cis-innovation-strategy,Innovation Strategy,IS,Identify disruption opportunities and architect business model innovation.,,anytime,,,false,output_folder,innovation strategy
4
- Creative Intelligence Suite,bmad-cis-problem-solving,Problem Solving,PS,Apply systematic problem-solving methodologies to crack complex challenges.,,anytime,,,false,output_folder,problem solution
5
- Creative Intelligence Suite,bmad-cis-design-thinking,Design Thinking,DT,Guide human-centered design processes using empathy-driven methodologies.,,anytime,,,false,output_folder,design thinking
6
- Creative Intelligence Suite,bmad-brainstorming,Brainstorming,BS,Facilitate brainstorming sessions using one or more techniques.,,anytime,,,false,output_folder,brainstorming session results
7
- Creative Intelligence Suite,bmad-cis-storytelling,Storytelling,ST,Craft compelling narratives using proven story frameworks and techniques.,,anytime,,,false,output_folder,narrative/story
3
+ Creative Intelligence Suite,bmad-cis-innovation-strategy,Innovation Strategy,IS,Identify disruption opportunities and architect business model innovation.,,,anytime,,,false,output_folder,innovation strategy
4
+ Creative Intelligence Suite,bmad-cis-problem-solving,Problem Solving,PS,Apply systematic problem-solving methodologies to crack complex challenges.,,,anytime,,,false,output_folder,problem solution
5
+ Creative Intelligence Suite,bmad-cis-design-thinking,Design Thinking,DT,Guide human-centered design processes using empathy-driven methodologies.,,,anytime,,,false,output_folder,design thinking
6
+ Creative Intelligence Suite,bmad-brainstorming,Brainstorming,BS,Facilitate brainstorming sessions using one or more techniques.,,,anytime,,,false,output_folder,brainstorming session results
7
+ Creative Intelligence Suite,bmad-cis-storytelling,Storytelling,ST,Craft compelling narratives using proven story frameworks and techniques.,,,anytime,,,false,output_folder,narrative/story
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 eeb15564723a10b0b5800abb6b8ec07c30e7be23 Alon Mayaffit <alon.mayafit@gmail.com> 1775683167 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
1
+ 0000000000000000000000000000000000000000 943bd180af9ad7204b9b11f582fbd31225aa8534 Alon Mayaffit <alon.mayafit@gmail.com> 1777639726 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 eeb15564723a10b0b5800abb6b8ec07c30e7be23 Alon Mayaffit <alon.mayafit@gmail.com> 1775683167 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
1
+ 0000000000000000000000000000000000000000 943bd180af9ad7204b9b11f582fbd31225aa8534 Alon Mayaffit <alon.mayafit@gmail.com> 1777639726 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 eeb15564723a10b0b5800abb6b8ec07c30e7be23 Alon Mayaffit <alon.mayafit@gmail.com> 1775683167 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
1
+ 0000000000000000000000000000000000000000 943bd180af9ad7204b9b11f582fbd31225aa8534 Alon Mayaffit <alon.mayafit@gmail.com> 1777639726 +0300 clone: from https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
@@ -1,2 +1,2 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- 07ef779abaafb21fe3a8d80d57cf0b4dc9801d60 refs/remotes/origin/main
2
+ 943bd180af9ad7204b9b11f582fbd31225aa8534 refs/remotes/origin/main
@@ -1 +1 @@
1
- 07ef779abaafb21fe3a8d80d57cf0b4dc9801d60
1
+ 943bd180af9ad7204b9b11f582fbd31225aa8534
@@ -1 +1 @@
1
- 07ef779abaafb21fe3a8d80d57cf0b4dc9801d60
1
+ 943bd180af9ad7204b9b11f582fbd31225aa8534
@@ -1,36 +1,36 @@
1
1
  module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
2
2
  Game Dev Studio,_meta,,,,,,,,,false,https://game-dev-studio-docs.bmad-method.org/llms.txt,
3
- Game Dev Studio,gds-document-project,Document Project,DP,Analyze an existing game project to produce useful documentation.,,anytime,,,false,project_knowledge,project documentation
4
- Game Dev Studio,gds-quick-prototype,Quick Prototype,QP,Rapid game prototyping to test mechanics and ideas quickly.,,anytime,,,false,,
5
- Game Dev Studio,gds-quick-dev,Quick Dev,QD,Clarify plan implement review and present any user intent or change request in a single workflow.,,anytime,,,false,implementation_artifacts,spec
6
- Game Dev Studio,gds-correct-course,Correct Course,CC,Navigate significant changes during game dev sprint when implementation is off-track.,,anytime,,,false,planning_artifacts,change proposal
7
- Game Dev Studio,gds-brainstorm-game,Brainstorm Game,BG,Facilitate game brainstorming sessions with game-specific context and techniques.,,1-preproduction,,,false,output_folder,brainstorming session
8
- Game Dev Studio,gds-market-research,Market Research,MR,Game market analysis competitive landscape player needs and trends.,,1-preproduction,,,false,planning_artifacts,research documents
9
- Game Dev Studio,gds-domain-research,Domain Research,DR,Game industry domain deep dive subject matter expertise and terminology.,,1-preproduction,,,false,planning_artifacts,research documents
10
- Game Dev Studio,gds-technical-research,Technical Research,TR,Technical feasibility game engine options and implementation approaches.,,1-preproduction,,,false,planning_artifacts,research documents
11
- Game Dev Studio,gds-create-game-brief,Game Brief,GB,Interactive game brief creation that guides users through defining their game vision.,,1-preproduction,,,false,output_folder,game brief
12
- Game Dev Studio,gds-create-gdd,Game Design Document,GDD,Create a GDD with mechanics systems progression and implementation guidance.,,2-design,,,false,planning_artifacts,gdd
13
- Game Dev Studio,gds-validate-gdd,Validate GDD,VG,Validate an existing GDD against standards. Delegates to gds-validate-prd until GDD-specific checks are authored.,,2-design,gds-create-gdd,,false,planning_artifacts,gdd validation report
14
- Game Dev Studio,gds-edit-gdd,Edit GDD,EG,Improve and enhance an existing GDD. Delegates to gds-edit-prd until GDD-specific edit flow is authored.,,2-design,gds-validate-gdd,,false,planning_artifacts,updated gdd
15
- Game Dev Studio,gds-create-narrative,Narrative Design,ND,"Create comprehensive narrative documentation including story structure character arcs and world-building. Use for story-driven games.",,2-design,gds-create-gdd,,false,planning_artifacts,narrative design
16
- Game Dev Studio,gds-create-ux-design,Create UX Design,CU,"Guidance through realizing the plan for your game UX/UI, strongly recommended if UI is a primary piece of the proposed game.",,2-design,gds-create-gdd,,false,planning_artifacts,ux design
17
- Game Dev Studio,gds-create-prd,Create PRD,CP,Create a PRD from GDD or from scratch for use with external tools like bmad-assist.,,2-design,gds-create-gdd,,false,planning_artifacts,prd
18
- Game Dev Studio,gds-validate-prd,Validate PRD,VP,Validate PRD against standards for external tool compatibility.,,2-design,gds-create-prd,,false,planning_artifacts,prd validation report
19
- Game Dev Studio,gds-edit-prd,Edit PRD,EP,Improve and enhance an existing PRD.,,2-design,gds-validate-prd,,false,planning_artifacts,updated prd
20
- Game Dev Studio,gds-generate-project-context,Project Context,PC,Create optimized project-context.md for chosen agentic tool consistency.,,3-technical,,,false,,
21
- Game Dev Studio,gds-game-architecture,Game Architecture,GA,Produce a scale-adaptive game architecture with engine systems networking and technical design.,,3-technical,,,true,planning_artifacts,game architecture
22
- Game Dev Studio,gds-create-epics-and-stories,Create Epics and Stories,CE,Create the Epics and Stories listing from GDD requirements. These are the specs that drive development.,,3-technical,gds-game-architecture,,true,planning_artifacts,epics and stories
23
- Game Dev Studio,gds-check-implementation-readiness,Check Implementation Readiness,IR,Ensure GDD UX Architecture and Epics Stories are aligned before production begins.,,3-technical,gds-create-epics-and-stories,,true,planning_artifacts,readiness report
24
- Game Dev Studio,gds-test-framework,Test Framework,TF,Initialize game test framework architecture for Unity Unreal Engine or Godot projects.,,3-technical,,,false,,
25
- Game Dev Studio,gds-test-design,Test Design,TD,Create comprehensive game test scenarios covering gameplay progression and quality requirements.,,3-technical,gds-test-framework,,false,planning_artifacts,test design
26
- Game Dev Studio,gds-sprint-planning,Sprint Planning,SP,Generate or update sprint-status.yaml from epic files.,,4-production,,,true,implementation_artifacts,sprint status
27
- Game Dev Studio,gds-sprint-status,Sprint Status,SS,View sprint progress surface risks and get next action recommendation.,,4-production,gds-sprint-planning,,false,,
28
- Game Dev Studio,gds-create-story,Create Story,CS,Create Story with comprehensive context for developer agent implementation.,,4-production,gds-sprint-planning,,true,implementation_artifacts,story
29
- Game Dev Studio,gds-dev-story,Dev Story,DS,Execute Dev Story workflow implementing tasks and tests.,,4-production,gds-create-story,,true,,
30
- Game Dev Studio,gds-code-review,Code Review,CR,Perform thorough clean context QA code review on stories flagged Ready for Review.,,4-production,gds-dev-story,,false,,
31
- Game Dev Studio,gds-retrospective,Retrospective,ER,Facilitate team retrospective after a game development epic is completed.,,4-production,gds-code-review,,false,implementation_artifacts,retrospective
32
- Game Dev Studio,gds-test-automate,Test Automate,TA,Generate automated game tests.,,gametest,,,false,,
33
- Game Dev Studio,gds-e2e-scaffold,E2E Scaffold,ES,Scaffold E2E testing infrastructure.,,gametest,gds-test-automate,,false,,
34
- Game Dev Studio,gds-playtest-plan,Playtest Plan,PP,Create structured playtesting plan.,,gametest,gds-e2e-scaffold,,false,planning_artifacts,playtest plan
35
- Game Dev Studio,gds-performance-test,Performance Test,PT,Design performance testing strategy.,,gametest,gds-playtest-plan,,false,planning_artifacts,performance strategy
36
- Game Dev Studio,gds-test-review,Test Review,TR,Review test quality and coverage.,,gametest,gds-performance-test,,false,,
3
+ Game Dev Studio,gds-document-project,Document Project,DP,Analyze an existing game project to produce useful documentation.,,,anytime,,,false,project_knowledge,project documentation
4
+ Game Dev Studio,gds-quick-prototype,Quick Prototype,QP,Rapid game prototyping to test mechanics and ideas quickly.,,,anytime,,,false,,
5
+ Game Dev Studio,gds-quick-dev,Quick Dev,QD,Clarify plan implement review and present any user intent or change request in a single workflow.,,,anytime,,,false,implementation_artifacts,spec
6
+ Game Dev Studio,gds-correct-course,Correct Course,CC,Navigate significant changes during game dev sprint when implementation is off-track.,,,anytime,,,false,planning_artifacts,change proposal
7
+ Game Dev Studio,gds-brainstorm-game,Brainstorm Game,BG,Facilitate game brainstorming sessions with game-specific context and techniques.,,,1-preproduction,,,false,output_folder,brainstorming session
8
+ Game Dev Studio,gds-market-research,Market Research,MR,Game market analysis competitive landscape player needs and trends.,,,1-preproduction,,,false,planning_artifacts,research documents
9
+ Game Dev Studio,gds-domain-research,Domain Research,DR,Game industry domain deep dive subject matter expertise and terminology.,,,1-preproduction,,,false,planning_artifacts,research documents
10
+ Game Dev Studio,gds-technical-research,Technical Research,TR,Technical feasibility game engine options and implementation approaches.,,,1-preproduction,,,false,planning_artifacts,research documents
11
+ Game Dev Studio,gds-create-game-brief,Game Brief,GB,Interactive game brief creation that guides users through defining their game vision.,,,1-preproduction,,,false,output_folder,game brief
12
+ Game Dev Studio,gds-create-gdd,Game Design Document,GDD,Create a GDD with mechanics systems progression and implementation guidance.,,,2-design,,,false,planning_artifacts,gdd
13
+ Game Dev Studio,gds-validate-gdd,Validate GDD,VG,Validate an existing GDD against standards. Delegates to gds-validate-prd until GDD-specific checks are authored.,,,2-design,gds-create-gdd,,false,planning_artifacts,gdd validation report
14
+ Game Dev Studio,gds-edit-gdd,Edit GDD,EG,Improve and enhance an existing GDD. Delegates to gds-edit-prd until GDD-specific edit flow is authored.,,,2-design,gds-validate-gdd,,false,planning_artifacts,updated gdd
15
+ Game Dev Studio,gds-create-narrative,Narrative Design,ND,Create comprehensive narrative documentation including story structure character arcs and world-building. Use for story-driven games.,,,2-design,gds-create-gdd,,false,planning_artifacts,narrative design
16
+ Game Dev Studio,gds-create-ux-design,Create UX Design,CU,"Guidance through realizing the plan for your game UX/UI, strongly recommended if UI is a primary piece of the proposed game.",,,2-design,gds-create-gdd,,false,planning_artifacts,ux design
17
+ Game Dev Studio,gds-create-prd,Create PRD,CP,Create a PRD from GDD or from scratch for use with external tools like bmad-assist.,,,2-design,gds-create-gdd,,false,planning_artifacts,prd
18
+ Game Dev Studio,gds-validate-prd,Validate PRD,VP,Validate PRD against standards for external tool compatibility.,,,2-design,gds-create-prd,,false,planning_artifacts,prd validation report
19
+ Game Dev Studio,gds-edit-prd,Edit PRD,EP,Improve and enhance an existing PRD.,,,2-design,gds-validate-prd,,false,planning_artifacts,updated prd
20
+ Game Dev Studio,gds-generate-project-context,Project Context,PC,Create optimized project-context.md for chosen agentic tool consistency.,,,3-technical,,,false,,
21
+ Game Dev Studio,gds-game-architecture,Game Architecture,GA,Produce a scale-adaptive game architecture with engine systems networking and technical design.,,,3-technical,,,true,planning_artifacts,game architecture
22
+ Game Dev Studio,gds-create-epics-and-stories,Create Epics and Stories,CE,Create the Epics and Stories listing from GDD requirements. These are the specs that drive development.,,,3-technical,gds-game-architecture,,true,planning_artifacts,epics and stories
23
+ Game Dev Studio,gds-check-implementation-readiness,Check Implementation Readiness,IR,Ensure GDD UX Architecture and Epics Stories are aligned before production begins.,,,3-technical,gds-create-epics-and-stories,,true,planning_artifacts,readiness report
24
+ Game Dev Studio,gds-test-framework,Test Framework,TF,Initialize game test framework architecture for Unity Unreal Engine or Godot projects.,,,3-technical,,,false,,
25
+ Game Dev Studio,gds-test-design,Test Design,TD,Create comprehensive game test scenarios covering gameplay progression and quality requirements.,,,3-technical,gds-test-framework,,false,planning_artifacts,test design
26
+ Game Dev Studio,gds-sprint-planning,Sprint Planning,SP,Generate or update sprint-status.yaml from epic files.,,,4-production,,,true,implementation_artifacts,sprint status
27
+ Game Dev Studio,gds-sprint-status,Sprint Status,SS,View sprint progress surface risks and get next action recommendation.,,,4-production,gds-sprint-planning,,false,,
28
+ Game Dev Studio,gds-create-story,Create Story,CS,Create Story with comprehensive context for developer agent implementation.,,,4-production,gds-sprint-planning,,true,implementation_artifacts,story
29
+ Game Dev Studio,gds-dev-story,Dev Story,DS,Execute Dev Story workflow implementing tasks and tests.,,,4-production,gds-create-story,,true,,
30
+ Game Dev Studio,gds-code-review,Code Review,CR,Perform thorough clean context QA code review on stories flagged Ready for Review.,,,4-production,gds-dev-story,,false,,
31
+ Game Dev Studio,gds-retrospective,Retrospective,ER,Facilitate team retrospective after a game development epic is completed.,,,4-production,gds-code-review,,false,implementation_artifacts,retrospective
32
+ Game Dev Studio,gds-test-automate,Test Automate,TA,Generate automated game tests.,,,gametest,,,false,,
33
+ Game Dev Studio,gds-e2e-scaffold,E2E Scaffold,ES,Scaffold E2E testing infrastructure.,,,gametest,gds-test-automate,,false,,
34
+ Game Dev Studio,gds-playtest-plan,Playtest Plan,PP,Create structured playtesting plan.,,,gametest,gds-e2e-scaffold,,false,planning_artifacts,playtest plan
35
+ Game Dev Studio,gds-performance-test,Performance Test,PT,Design performance testing strategy.,,,gametest,gds-playtest-plan,,false,planning_artifacts,performance strategy
36
+ Game Dev Studio,gds-test-review,Test Review,TR,Review test quality and coverage.,,,gametest,gds-performance-test,,false,,
@@ -12,7 +12,7 @@
12
12
  "name": "bmad-method-test-architecture-enterprise",
13
13
  "source": "./",
14
14
  "description": "Master Test Architect module for quality strategy, test automation, CI/CD quality gates, and structured testing education. Part of the BMad Method ecosystem.",
15
- "version": "1.13.1",
15
+ "version": "1.15.1",
16
16
  "author": {
17
17
  "name": "Murat K Ozcan (TEA Creator) & Brian (BMad) Madison"
18
18
  },