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.
- package/README.md +13 -5
- package/bin/cli.js +140 -63
- package/lib/agents.js +12 -20
- package/lib/bmad-cache/cache-manifest.json +8 -8
- package/lib/bmad-cache/cis/_git_preserved/index +0 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.pack → pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.pack} +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.rev +0 -0
- package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/cis/src/module-help.csv +5 -5
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.pack → pack-9427a146a90c00bb542cba038874bf9671ba4dc0.pack} +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/gds/src/module-help.csv +34 -34
- package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
- package/lib/bmad-cache/tea/.github/workflows/publish.yaml +168 -0
- package/lib/bmad-cache/tea/README.md +67 -57
- package/lib/bmad-cache/tea/_git_preserved/index +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.pack → pack-f0df537f2649464ff6c5aee241165eb9c8664227.pack} +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/tea/package-lock.json +2 -2
- package/lib/bmad-cache/tea/package.json +5 -6
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/contract-testing.md +2 -3
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-consumer-framework-setup.md +42 -95
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +5 -6
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-provider-verifier.md +1 -1
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/module-help.csv +9 -9
- package/lib/bmad-extension/.claude-plugin/marketplace.json.template +2 -2
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +39 -0
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +39 -0
- package/lib/bmad-extension/skills/bmad-dev-story/workflow.md +39 -0
- package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +41 -0
- package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +39 -0
- package/lib/bmad-extension/skills/cleanup-done/SKILL.md +39 -0
- package/lib/bmad-extension/skills/close-sprint/SKILL.md +39 -0
- package/lib/bmad-extension/skills/generate-backlog/SKILL.md +41 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +39 -0
- package/lib/bmad-extension/skills/module.yaml +1 -1
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +39 -0
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +39 -0
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +39 -0
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -0
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +39 -0
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +39 -0
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +39 -0
- package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +2 -2
- package/lib/bmad-extension-plugin/skills/add-sprint/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/add-to-sprint/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/bmad-dev-story/workflow.md +39 -0
- package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/workflow.md +41 -0
- package/lib/bmad-extension-plugin/skills/bmad-sprint-status/workflow.md +39 -0
- package/lib/bmad-extension-plugin/skills/cleanup-done/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/close-sprint/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/generate-backlog/SKILL.md +41 -0
- package/lib/bmad-extension-plugin/skills/modify-sprint/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/module.yaml +1 -1
- package/lib/bmad-extension-plugin/skills/prioritize-backlog/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/remove-from-sprint/SKILL.md +39 -0
- package/lib/bmad-extension-plugin/skills/sprint-status-view/SKILL.md +39 -0
- package/lib/bmad.js +76 -8
- package/lib/installer.js +6 -1
- package/package.json +4 -4
- package/skills/add-sprint/SKILL.md +39 -0
- package/skills/add-to-sprint/SKILL.md +39 -0
- package/skills/bmad-sprint-planning/SKILL.md +41 -0
- package/skills/bmad-sprint-status/SKILL.md +39 -0
- package/skills/cleanup-done/SKILL.md +39 -0
- package/skills/close-sprint/SKILL.md +39 -0
- package/skills/generate-backlog/SKILL.md +41 -0
- package/skills/modify-sprint/SKILL.md +39 -0
- package/skills/prioritize-backlog/SKILL.md +39 -0
- package/skills/remove-from-sprint/SKILL.md +39 -0
- package/skills/sprint-status-view/SKILL.md +39 -0
- package/skills/story-status-lookup/SKILL.md +38 -21
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.rev +0 -0
- package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +0 -216
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.idx +0 -0
- 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.
|
|
5
|
+
## What's New in v3.11.0
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
432
|
-
|
|
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
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
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
|
-
|
|
494
|
-
|
|
495
|
-
content += `
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
content += `
|
|
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
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
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
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
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
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
84
|
-
|
|
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: '.
|
|
116
|
-
getProjectPath: () => path.join(process.cwd(), '.
|
|
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: '.
|
|
168
|
-
getProjectPath: () => path.join(process.cwd(), '.
|
|
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-
|
|
3
|
-
"bmadMethodVersion": "6.
|
|
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": "
|
|
16
|
-
"clonedAt": "2026-
|
|
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": "
|
|
22
|
-
"clonedAt": "2026-
|
|
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": "
|
|
28
|
-
"clonedAt": "2026-
|
|
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",
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
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
|
|
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
|
|
1
|
+
0000000000000000000000000000000000000000 c2ad6c49b311651b0fa1d243f74d87e85167171f Alon Mayaffit <alon.mayafit@gmail.com> 1777639723 +0300 clone: from https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
|
2
|
-
|
|
2
|
+
c2ad6c49b311651b0fa1d243f74d87e85167171f refs/remotes/origin/main
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c2ad6c49b311651b0fa1d243f74d87e85167171f
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
|
4
|
-
Creative Intelligence Suite,bmad-cis-problem-solving,Problem Solving,PS,Apply systematic problem-solving methodologies to crack complex challenges
|
|
5
|
-
Creative Intelligence Suite,bmad-cis-design-thinking,Design Thinking,DT,Guide human-centered design processes using empathy-driven methodologies
|
|
6
|
-
Creative Intelligence Suite,bmad-brainstorming,Brainstorming,BS,Facilitate brainstorming sessions using one or more techniques
|
|
7
|
-
Creative Intelligence Suite,bmad-cis-storytelling,Storytelling,ST,Craft compelling narratives using proven story frameworks and techniques
|
|
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
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
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
|
|
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
|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
|
2
|
-
|
|
2
|
+
943bd180af9ad7204b9b11f582fbd31225aa8534 refs/remotes/origin/main
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
943bd180af9ad7204b9b11f582fbd31225aa8534
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
|
4
|
-
Game Dev Studio,gds-quick-prototype,Quick Prototype,QP,Rapid game prototyping to test mechanics and ideas quickly
|
|
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
|
|
6
|
-
Game Dev Studio,gds-correct-course,Correct Course,CC,Navigate significant changes during game dev sprint when implementation is off-track
|
|
7
|
-
Game Dev Studio,gds-brainstorm-game,Brainstorm Game,BG,Facilitate game brainstorming sessions with game-specific context and techniques
|
|
8
|
-
Game Dev Studio,gds-market-research,Market Research,MR,Game market analysis competitive landscape player needs and trends
|
|
9
|
-
Game Dev Studio,gds-domain-research,Domain Research,DR,Game industry domain deep dive subject matter expertise and terminology
|
|
10
|
-
Game Dev Studio,gds-technical-research,Technical Research,TR,Technical feasibility game engine options and implementation approaches
|
|
11
|
-
Game Dev Studio,gds-create-game-brief,Game Brief,GB,Interactive game brief creation that guides users through defining their game vision
|
|
12
|
-
Game Dev Studio,gds-create-gdd,Game Design Document,GDD,Create a GDD with mechanics systems progression and implementation guidance
|
|
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
|
|
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
|
|
15
|
-
Game Dev Studio,gds-create-narrative,Narrative Design,ND,
|
|
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."
|
|
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
|
|
18
|
-
Game Dev Studio,gds-validate-prd,Validate PRD,VP,Validate PRD against standards for external tool compatibility
|
|
19
|
-
Game Dev Studio,gds-edit-prd,Edit PRD,EP,Improve and enhance an existing PRD
|
|
20
|
-
Game Dev Studio,gds-generate-project-context,Project Context,PC,Create optimized project-context.md for chosen agentic tool consistency
|
|
21
|
-
Game Dev Studio,gds-game-architecture,Game Architecture,GA,Produce a scale-adaptive game architecture with engine systems networking and technical design
|
|
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
|
|
23
|
-
Game Dev Studio,gds-check-implementation-readiness,Check Implementation Readiness,IR,Ensure GDD UX Architecture and Epics Stories are aligned before production begins
|
|
24
|
-
Game Dev Studio,gds-test-framework,Test Framework,TF,Initialize game test framework architecture for Unity Unreal Engine or Godot projects
|
|
25
|
-
Game Dev Studio,gds-test-design,Test Design,TD,Create comprehensive game test scenarios covering gameplay progression and quality requirements
|
|
26
|
-
Game Dev Studio,gds-sprint-planning,Sprint Planning,SP,Generate or update sprint-status.yaml from epic files
|
|
27
|
-
Game Dev Studio,gds-sprint-status,Sprint Status,SS,View sprint progress surface risks and get next action recommendation
|
|
28
|
-
Game Dev Studio,gds-create-story,Create Story,CS,Create Story with comprehensive context for developer agent implementation
|
|
29
|
-
Game Dev Studio,gds-dev-story,Dev Story,DS,Execute Dev Story workflow implementing tasks and tests
|
|
30
|
-
Game Dev Studio,gds-code-review,Code Review,CR,Perform thorough clean context QA code review on stories flagged Ready for Review
|
|
31
|
-
Game Dev Studio,gds-retrospective,Retrospective,ER,Facilitate team retrospective after a game development epic is completed
|
|
32
|
-
Game Dev Studio,gds-test-automate,Test Automate,TA,Generate automated game tests
|
|
33
|
-
Game Dev Studio,gds-e2e-scaffold,E2E Scaffold,ES,Scaffold E2E testing infrastructure
|
|
34
|
-
Game Dev Studio,gds-playtest-plan,Playtest Plan,PP,Create structured playtesting plan
|
|
35
|
-
Game Dev Studio,gds-performance-test,Performance Test,PT,Design performance testing strategy
|
|
36
|
-
Game Dev Studio,gds-test-review,Test Review,TR,Review test quality and coverage
|
|
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.
|
|
15
|
+
"version": "1.15.1",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Murat K Ozcan (TEA Creator) & Brian (BMad) Madison"
|
|
18
18
|
},
|