bmad-method 6.0.0-alpha.16 → 6.0.0-alpha.18
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/.coderabbit.yaml +7 -3
- package/.github/scripts/discord-helpers.sh +21 -2
- package/.github/workflows/discord.yaml +31 -7
- package/.github/workflows/manual-release.yaml +12 -42
- package/.markdownlint-cli2.yaml +2 -2
- package/.prettierignore +2 -2
- package/.vscode/settings.json +1 -1
- package/CHANGELOG.md +193 -2
- package/LICENSE +1 -1
- package/README.md +29 -2
- package/docs/agent-customization-guide.md +10 -10
- package/docs/custom-content-installation.md +100 -196
- package/docs/custom-content.md +122 -0
- package/docs/ide-info/crush.md +1 -1
- package/docs/ide-info/cursor.md +7 -7
- package/docs/ide-info/iflow.md +3 -3
- package/docs/ide-info/opencode.md +1 -1
- package/docs/ide-info/rovo-dev.md +1 -1
- package/docs/index.md +2 -2
- package/docs/installers-bundlers/ide-injections.md +2 -2
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +13 -13
- package/docs/sample-custom-modules/README.md +11 -0
- package/docs/sample-custom-modules/sample-unitary-module/README.md +8 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +129 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml +109 -0
- package/docs/sample-custom-modules/sample-unitary-module/module.yaml +8 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +168 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md +155 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md +89 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md +150 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template +1 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +54 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md +26 -0
- package/docs/sample-custom-modules/sample-wellness-module/README.md +6 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml +136 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md +3 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md +1 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml +120 -0
- package/docs/sample-custom-modules/sample-wellness-module/module.yaml +17 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md +32 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md +45 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md +31 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md +45 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md +31 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md +45 -0
- package/docs/v4-to-v6-upgrade.md +27 -27
- package/docs/web-bundles-gemini-gpt-guide.md +6 -458
- package/eslint.config.mjs +2 -2
- package/package.json +1 -1
- package/src/core/agents/bmad-master.agent.yaml +6 -11
- package/src/core/module.yaml +11 -18
- package/src/core/resources/excalidraw/README.md +6 -6
- package/src/core/tasks/advanced-elicitation.xml +3 -3
- package/src/core/tasks/index-docs.xml +1 -1
- package/src/core/tasks/validate-workflow.xml +1 -1
- package/src/core/tasks/workflow.xml +4 -4
- package/src/core/tools/shard-doc.xml +12 -12
- package/src/core/workflows/brainstorming/workflow.md +3 -3
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +2 -2
- package/src/core/workflows/party-mode/workflow.md +4 -4
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +15 -15
- package/src/modules/bmb/{README.md → docs/README.md} +15 -27
- package/src/modules/bmb/docs/agents/agent-compilation.md +3 -3
- package/src/modules/bmb/docs/agents/agent-menu-patterns.md +23 -24
- package/src/modules/bmb/docs/agents/expert-agent-architecture.md +20 -21
- package/src/modules/bmb/docs/agents/simple-agent-architecture.md +17 -52
- package/src/modules/bmb/docs/agents/understanding-agent-types.md +6 -6
- package/src/modules/bmb/docs/workflows/architecture.md +1 -1
- package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +3 -3
- package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +1 -1
- package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +1 -1
- package/src/modules/bmb/docs/workflows/templates/step-file.md +3 -3
- package/src/modules/bmb/docs/workflows/templates/step-template.md +3 -3
- package/src/modules/bmb/docs/workflows/templates/workflow-template.md +2 -2
- package/src/modules/bmb/docs/workflows/templates/workflow.md +1 -1
- package/src/modules/bmb/module.yaml +6 -15
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +7 -7
- package/src/modules/bmb/reference/agents/module-examples/README.md +3 -4
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +5 -5
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
- package/src/modules/bmb/reference/agents/simple-examples/README.md +1 -1
- package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +1 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +6 -6
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
- package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +3 -3
- package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +4 -4
- package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +6 -10
- package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +6 -6
- package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +9 -9
- package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +6 -5
- package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +19 -57
- package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +5 -5
- package/src/modules/bmb/workflows/create-agent/steps/{step-11-celebrate.md → step-08-celebrate.md} +2 -6
- package/src/modules/bmb/workflows/create-agent/templates/agent-plan.template.md +3 -0
- package/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md +364 -0
- package/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md +257 -0
- package/src/modules/bmb/workflows/create-agent/workflow.md +2 -35
- package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +2 -2
- package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +6 -6
- package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +5 -5
- package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +8 -8
- package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +5 -5
- package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +8 -8
- package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +7 -7
- package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +7 -7
- package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +6 -6
- package/src/modules/bmb/workflows/create-module/templates/agent.template.md +15 -19
- package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +1 -1
- package/src/modules/bmb/workflows/create-module/workflow.md +3 -3
- package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +6 -6
- package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +5 -5
- package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +11 -11
- package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +14 -14
- package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +2 -2
- package/src/modules/bmb/workflows/create-workflow/workflow.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +12 -12
- package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +4 -4
- package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +4 -4
- package/src/modules/bmb/workflows/edit-agent/workflow.md +1 -1
- package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +4 -4
- package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +6 -6
- package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/workflow.md +1 -1
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +3 -3
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +5 -5
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +6 -6
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +3 -3
- package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +1 -1
- package/src/modules/bmb/workflows-legacy/edit-module/README.md +1 -17
- package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +3 -4
- package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +4 -5
- package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +10 -10
- package/src/modules/bmb/workflows-legacy/module-brief/README.md +2 -2
- package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +2 -2
- package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +4 -4
- package/src/modules/bmgd/README.md +1 -1
- package/src/modules/bmgd/_module-installer/installer.js +160 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/claude-code.js +23 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/windsurf.js +18 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +26 -11
- package/src/modules/bmgd/agents/game-designer.agent.yaml +41 -21
- package/src/modules/bmgd/agents/game-dev.agent.yaml +34 -18
- package/src/modules/bmgd/agents/game-qa.agent.yaml +64 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +32 -44
- package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +56 -0
- package/src/modules/bmgd/docs/README.md +180 -0
- package/src/modules/bmgd/docs/agents-guide.md +407 -0
- package/src/modules/bmgd/docs/game-types-guide.md +503 -0
- package/src/modules/bmgd/docs/glossary.md +294 -0
- package/src/modules/bmgd/docs/quick-flow-guide.md +288 -0
- package/src/modules/bmgd/docs/quick-start.md +250 -0
- package/src/modules/bmgd/docs/troubleshooting.md +259 -0
- package/src/modules/bmgd/docs/workflow-overview.jpg +0 -0
- package/src/modules/bmgd/docs/workflows-guide.md +463 -0
- package/src/modules/bmgd/gametest/knowledge/balance-testing.md +220 -0
- package/src/modules/bmgd/gametest/knowledge/certification-testing.md +319 -0
- package/src/modules/bmgd/gametest/knowledge/compatibility-testing.md +228 -0
- package/src/modules/bmgd/gametest/knowledge/godot-testing.md +376 -0
- package/src/modules/bmgd/gametest/knowledge/input-testing.md +315 -0
- package/src/modules/bmgd/gametest/knowledge/localization-testing.md +304 -0
- package/src/modules/bmgd/gametest/knowledge/multiplayer-testing.md +322 -0
- package/src/modules/bmgd/gametest/knowledge/performance-testing.md +204 -0
- package/src/modules/bmgd/gametest/knowledge/playtesting.md +384 -0
- package/src/modules/bmgd/gametest/knowledge/qa-automation.md +190 -0
- package/src/modules/bmgd/gametest/knowledge/regression-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/save-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/smoke-testing.md +404 -0
- package/src/modules/bmgd/gametest/knowledge/test-priorities.md +271 -0
- package/src/modules/bmgd/gametest/knowledge/unity-testing.md +383 -0
- package/src/modules/bmgd/gametest/knowledge/unreal-testing.md +388 -0
- package/src/modules/bmgd/gametest/qa-index.csv +17 -0
- package/src/modules/bmgd/module.yaml +27 -16
- package/src/modules/bmgd/teams/default-party.csv +2 -0
- package/src/modules/bmgd/teams/team-gamedev.yaml +12 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +164 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +210 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +289 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +275 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +49 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +35 -14
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +151 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +231 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +242 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +224 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +282 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +296 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +62 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +43 -12
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +248 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +173 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +332 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +245 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +229 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +258 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +249 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +266 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +272 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +264 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +255 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +275 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +284 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +250 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +335 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.md +61 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +54 -34
- package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +228 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +163 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +238 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +297 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +250 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +244 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +264 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +254 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +331 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +57 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +55 -10
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +1 -1
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +153 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +262 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +290 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +300 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +319 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +304 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +349 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +293 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +302 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +55 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +51 -22
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +23 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +225 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +19 -16
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +332 -214
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.xml +298 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +3 -5
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +13 -8
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +65 -23
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.xml +409 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +14 -4
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +5 -5
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +14 -9
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +33 -42
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +13 -13
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +7 -2
- package/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +229 -0
- package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +35 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +140 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +27 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/checklist.md +37 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/instructions.md +220 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +45 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/checklist.md +26 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/instructions.md +156 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +36 -0
- package/src/modules/bmgd/workflows/gametest/automate/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/automate/instructions.md +317 -0
- package/src/modules/bmgd/workflows/gametest/automate/workflow.yaml +50 -0
- package/src/modules/bmgd/workflows/gametest/performance/checklist.md +96 -0
- package/src/modules/bmgd/workflows/gametest/performance/instructions.md +323 -0
- package/src/modules/bmgd/workflows/gametest/performance/performance-template.md +256 -0
- package/src/modules/bmgd/workflows/gametest/performance/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/instructions.md +297 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/playtest-template.md +208 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/workflow.yaml +59 -0
- package/src/modules/bmgd/workflows/gametest/test-design/checklist.md +98 -0
- package/src/modules/bmgd/workflows/gametest/test-design/instructions.md +280 -0
- package/src/modules/bmgd/workflows/gametest/test-design/test-design-template.md +205 -0
- package/src/modules/bmgd/workflows/gametest/test-design/workflow.yaml +47 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/checklist.md +103 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/instructions.md +348 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/test-review/checklist.md +87 -0
- package/src/modules/bmgd/workflows/gametest/test-review/instructions.md +272 -0
- package/src/modules/bmgd/workflows/gametest/test-review/test-review-template.md +203 -0
- package/src/modules/bmgd/workflows/gametest/test-review/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/workflow-status/init/instructions.md +299 -0
- package/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/instructions.md +395 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-brownfield.yaml +65 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-greenfield.yaml +71 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-greenfield.yaml +39 -0
- package/src/modules/bmgd/workflows/workflow-status/project-levels.yaml +63 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow.yaml +30 -0
- package/src/modules/bmm/README.md +1 -1
- package/src/modules/bmm/agents/analyst.agent.yaml +9 -9
- package/src/modules/bmm/agents/architect.agent.yaml +8 -8
- package/src/modules/bmm/agents/dev.agent.yaml +5 -5
- package/src/modules/bmm/agents/pm.agent.yaml +8 -8
- package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +5 -5
- package/src/modules/bmm/agents/sm.agent.yaml +11 -11
- package/src/modules/bmm/agents/tea.agent.yaml +13 -13
- package/src/modules/bmm/agents/tech-writer.agent.yaml +9 -9
- package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -6
- package/src/modules/bmm/docs/agents-guide.md +16 -14
- package/src/modules/bmm/docs/brownfield-guide.md +6 -6
- package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
- package/src/modules/bmm/docs/faq.md +5 -18
- package/src/modules/bmm/docs/glossary.md +3 -4
- package/src/modules/bmm/docs/images/README.md +1 -1
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +8 -8
- package/src/modules/bmm/docs/party-mode.md +3 -3
- package/src/modules/bmm/docs/quick-flow-solo-dev.md +5 -5
- package/src/modules/bmm/docs/quick-spec-flow.md +2 -16
- package/src/modules/bmm/docs/quick-start.md +3 -3
- package/src/modules/bmm/docs/test-architecture.md +15 -23
- package/src/modules/bmm/docs/troubleshooting.md +6 -25
- package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
- package/src/modules/bmm/docs/workflows-implementation.md +3 -4
- package/src/modules/bmm/module.yaml +25 -23
- package/src/modules/bmm/testarch/knowledge/overview.md +0 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-01b-continue.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-02-vision.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-03-users.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-04-metrics.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-05-scope.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/steps/step-06-complete.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/workflow.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/research/workflow.md +2 -2
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +2 -2
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +3 -3
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +7 -7
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +8 -8
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +12 -12
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +12 -12
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +10 -10
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +7 -7
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +9 -9
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +9 -9
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-01-document-discovery.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-02-prd-analysis.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-04-ux-alignment.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-05-epic-quality-review.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/steps/step-06-final-assessment.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/workflow.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-02-context.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-03-starter.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-04-decisions.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-05-patterns.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-06-structure.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-07-validation.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-08-complete.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/workflow.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +4 -3
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +5 -5
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +3 -5
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +11 -8
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +3 -3
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +15 -22
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +4 -5
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +90 -35
- package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +5 -5
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +7 -7
- package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
- package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-dataflow/instructions.md +1 -1
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-dataflow/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-diagram/instructions.md +2 -2
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-diagram/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-flowchart/instructions.md +2 -2
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-flowchart/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-wireframe/instructions.md +1 -1
- package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-wireframe/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +2 -2
- package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +3 -3
- package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +2 -2
- package/src/modules/bmm/workflows/generate-project-context/workflow.md +5 -5
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +3 -3
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +3 -3
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +10 -4
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +6 -6
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +1 -1
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/workflow-status/instructions.md +3 -3
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +2 -2
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +4 -4
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +4 -4
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +4 -4
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +4 -4
- package/src/modules/cis/agents/presentation-master.agent.yaml +3 -3
- package/src/modules/cis/agents/storyteller/storyteller-sidecar/stories-told.md +7 -0
- package/src/modules/cis/agents/storyteller/storyteller-sidecar/story-preferences.md +7 -0
- package/src/modules/cis/agents/{storyteller.agent.yaml → storyteller/storyteller.agent.yaml} +9 -4
- package/src/modules/cis/module.yaml +3 -7
- package/src/modules/cis/{README.md → readme.md} +1 -1
- package/src/modules/cis/workflows/README.md +1 -1
- package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -7
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -7
- package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -7
- package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
- package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -7
- package/src/utility/agent-components/activation-rules.txt +7 -0
- package/src/utility/agent-components/activation-steps.txt +13 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/{templates → agent-components}/agent.customize.template.yaml +0 -1
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-exec.txt +6 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/test/README.md +1 -1
- package/test/test-agent-schema.js +2 -2
- package/tools/cli/README.md +1 -607
- package/tools/cli/commands/build.js +7 -7
- package/tools/cli/commands/install.js +16 -18
- package/tools/cli/commands/list.js +13 -1
- package/tools/cli/installers/lib/core/config-collector.js +224 -59
- package/tools/cli/installers/lib/core/custom-module-cache.js +18 -10
- package/tools/cli/installers/lib/core/dependency-resolver.js +2 -2
- package/tools/cli/installers/lib/core/detector.js +16 -16
- package/tools/cli/installers/lib/core/ide-config-manager.js +9 -7
- package/tools/cli/installers/lib/core/installer.js +634 -1040
- package/tools/cli/installers/lib/core/installer.js.bak +3204 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +43 -40
- package/tools/cli/installers/lib/core/manifest.js +23 -20
- package/tools/cli/installers/lib/custom/handler.js +16 -46
- package/tools/cli/installers/lib/ide/_base-ide.js +26 -33
- package/tools/cli/installers/lib/ide/antigravity.js +3 -3
- package/tools/cli/installers/lib/ide/claude-code.js +3 -3
- package/tools/cli/installers/lib/ide/codex.js +2 -2
- package/tools/cli/installers/lib/ide/gemini.js +6 -6
- package/tools/cli/installers/lib/ide/kiro-cli.js +2 -2
- package/tools/cli/installers/lib/ide/opencode.js +2 -2
- package/tools/cli/installers/lib/ide/roo.js +15 -5
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +2 -2
- package/tools/cli/installers/lib/ide/shared/module-injections.js +2 -2
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +2 -2
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +4 -4
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +3 -3
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +3 -3
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +1 -1
- package/tools/cli/installers/lib/modules/manager.js +315 -312
- package/tools/cli/lib/activation-builder.js +8 -13
- package/tools/cli/lib/agent/compiler.js +166 -167
- package/tools/cli/lib/agent/installer.js +8 -128
- package/tools/cli/lib/agent-analyzer.js +2 -2
- package/tools/cli/lib/agent-party-generator.js +5 -17
- package/tools/cli/lib/config.js +2 -2
- package/tools/cli/lib/platform-codes.js +2 -2
- package/tools/cli/lib/ui.js +678 -564
- package/tools/cli/lib/xml-handler.js +3 -55
- package/tools/cli/lib/yaml-format.js +4 -6
- package/tools/cli/lib/yaml-xml-builder.js +14 -26
- package/tools/flattener/ignoreRules.js +1 -1
- package/tools/flattener/xml.js +1 -7
- package/tools/lib/xml-utils.js +13 -0
- package/tools/migrate-custom-module-paths.js +2 -2
- package/tools/validate-agent-schema.js +2 -2
- package/docs/v6-open-items.md +0 -17
- package/src/core/agents/bmad-web-orchestrator.agent.xml +0 -113
- package/src/modules/bmb/_module-installer/installer.js +0 -76
- package/src/modules/bmb/docs/agents/module-agent-architecture.md +0 -366
- package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +0 -179
- package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +0 -197
- package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +0 -180
- package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +0 -21
- package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +0 -25
- package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +0 -23
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
- package/src/modules/bmm/tasks/daily-standup.xml +0 -85
- package/src/modules/cis/agents/README.md +0 -104
- package/src/utility/models/action-command-header.md +0 -0
- package/src/utility/models/agent-activation-ide.xml +0 -51
- package/src/utility/models/agent-activation-web.xml +0 -50
- package/src/utility/models/agent-command-header.md +0 -1
- package/src/utility/models/agent-config-template.md +0 -23
- package/src/utility/models/agent-in-team-activation.xml +0 -3
- package/src/utility/models/fragments/activation-rules.xml +0 -7
- package/src/utility/models/fragments/activation-steps.xml +0 -16
- package/src/utility/models/fragments/handler-action.xml +0 -4
- package/src/utility/models/fragments/handler-exec.xml +0 -6
- package/src/utility/models/fragments/handler-multi.xml +0 -14
- package/src/utility/models/fragments/handler-tmpl.xml +0 -5
- package/src/utility/models/fragments/handler-validate-workflow.xml +0 -7
- package/src/utility/models/fragments/handler-workflow.xml +0 -9
- package/src/utility/models/fragments/menu-handlers.xml +0 -6
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +0 -32
- package/tools/cli/bundlers/bundle-web.js +0 -179
- package/tools/cli/bundlers/test-analyst.js +0 -28
- package/tools/cli/bundlers/test-bundler.js +0 -118
- package/tools/cli/bundlers/web-bundler.js +0 -1754
- package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +0 -79
- package/tools/cli/lib/replace-project-root.js +0 -239
- package/tools/cli/regenerate-manifests.js +0 -27
- package/tools/cli/test-yaml-builder.js +0 -43
- /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
- /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
- /package/src/modules/bmgd/workflows/4-production/code-review/{backlog_template.md → backlog-template.md} +0 -0
- /package/src/modules/bmm/workflows/1-analysis/{product-brief → create-product-brief}/product-brief.template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness → check-implementation-readiness}/templates/readiness-report-template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/architecture-decision-template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/data/domain-complexity.csv +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/data/project-types.csv +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture → create-architecture}/steps/step-01b-continue.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/_shared/excalidraw-library.json +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/_shared/excalidraw-templates.yaml +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-dataflow/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-diagram/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-flowchart/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams → excalidraw-diagrams}/create-wireframe/checklist.md +0 -0
- /package/src/utility/{models/fragments/handler-data.xml → agent-components/handler-data.txt} +0 -0
|
@@ -44,18 +44,7 @@ class XmlHandler {
|
|
|
44
44
|
* @returns {Object} Parsed activation block
|
|
45
45
|
*/
|
|
46
46
|
async loadActivationTemplate() {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
const xmlContent = await fs.readFile(templatePath, 'utf8');
|
|
51
|
-
|
|
52
|
-
// Parse the XML directly (file is now pure XML)
|
|
53
|
-
const parsed = await this.parser.parseStringPromise(xmlContent);
|
|
54
|
-
return parsed.activation;
|
|
55
|
-
} catch (error) {
|
|
56
|
-
console.error('Failed to load activation template:', error);
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
47
|
+
console.error('Failed to load activation template:', error);
|
|
59
48
|
}
|
|
60
49
|
|
|
61
50
|
/**
|
|
@@ -136,51 +125,10 @@ class XmlHandler {
|
|
|
136
125
|
}
|
|
137
126
|
|
|
138
127
|
/**
|
|
139
|
-
*
|
|
140
|
-
* This preserves formatting better than XML parsing
|
|
128
|
+
* TODO: DELETE THIS METHOD
|
|
141
129
|
*/
|
|
142
130
|
injectActivationSimple(agentContent, metadata = {}) {
|
|
143
|
-
|
|
144
|
-
if (agentContent.includes('<activation')) {
|
|
145
|
-
return agentContent;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// Load template file
|
|
149
|
-
const templatePath = getSourcePath('utility', 'models', 'agent-activation-ide.xml');
|
|
150
|
-
|
|
151
|
-
try {
|
|
152
|
-
const templateContent = fs.readFileSync(templatePath, 'utf8');
|
|
153
|
-
|
|
154
|
-
// The file is now pure XML, use it directly with proper indentation
|
|
155
|
-
// Add 2 spaces of indentation for insertion into agent
|
|
156
|
-
let activationBlock = templateContent
|
|
157
|
-
.split('\n')
|
|
158
|
-
.map((line) => (line ? ' ' + line : ''))
|
|
159
|
-
.join('\n');
|
|
160
|
-
|
|
161
|
-
// Replace {agent-filename} with actual filename if metadata provided
|
|
162
|
-
if (metadata.module && metadata.name) {
|
|
163
|
-
const agentFilename = `${metadata.module}-${metadata.name}.md`;
|
|
164
|
-
activationBlock = activationBlock.replace('{agent-filename}', agentFilename);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// Find where to insert (after <agent> tag)
|
|
168
|
-
const agentMatch = agentContent.match(/(<agent[^>]*>)/);
|
|
169
|
-
if (!agentMatch) {
|
|
170
|
-
return agentContent;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
const insertPos = agentMatch.index + agentMatch[0].length;
|
|
174
|
-
|
|
175
|
-
// Insert the activation block
|
|
176
|
-
const before = agentContent.slice(0, insertPos);
|
|
177
|
-
const after = agentContent.slice(insertPos);
|
|
178
|
-
|
|
179
|
-
return before + '\n' + activationBlock + after;
|
|
180
|
-
} catch (error) {
|
|
181
|
-
console.error('Error in simple injection:', error);
|
|
182
|
-
return agentContent;
|
|
183
|
-
}
|
|
131
|
+
console.error('Error in simple injection:', error);
|
|
184
132
|
}
|
|
185
133
|
|
|
186
134
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const fs = require('node:fs');
|
|
2
2
|
const path = require('node:path');
|
|
3
|
-
const yaml = require('
|
|
3
|
+
const yaml = require('yaml');
|
|
4
4
|
const { execSync } = require('node:child_process');
|
|
5
5
|
|
|
6
6
|
// Dynamic import for ES module
|
|
@@ -57,11 +57,10 @@ async function formatYamlContent(content, filename) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// Parse and re-dump YAML to format it
|
|
60
|
-
const parsed = yaml.
|
|
61
|
-
const formatted = yaml.
|
|
60
|
+
const parsed = yaml.parse(fixedContent);
|
|
61
|
+
const formatted = yaml.stringify(parsed, {
|
|
62
62
|
indent: 2,
|
|
63
|
-
lineWidth:
|
|
64
|
-
noRefs: true,
|
|
63
|
+
lineWidth: 0, // Disable line wrapping
|
|
65
64
|
sortKeys: false, // Preserve key order
|
|
66
65
|
});
|
|
67
66
|
// Ensure POSIX-compliant final newline
|
|
@@ -96,7 +95,6 @@ async function processMarkdownFile(filePath) {
|
|
|
96
95
|
const [fullMatch, yamlContent] = match;
|
|
97
96
|
const formatted = await formatYamlContent(yamlContent, filePath);
|
|
98
97
|
if (formatted !== null) {
|
|
99
|
-
// Remove trailing newline that js-yaml adds
|
|
100
98
|
const trimmedFormatted = formatted.replace(/\n$/, '');
|
|
101
99
|
|
|
102
100
|
if (trimmedFormatted !== yamlContent) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
const yaml = require('
|
|
1
|
+
const yaml = require('yaml');
|
|
2
2
|
const fs = require('fs-extra');
|
|
3
3
|
const path = require('node:path');
|
|
4
4
|
const crypto = require('node:crypto');
|
|
5
5
|
const { AgentAnalyzer } = require('./agent-analyzer');
|
|
6
6
|
const { ActivationBuilder } = require('./activation-builder');
|
|
7
|
+
const { escapeXml } = require('../../lib/xml-utils');
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Converts agent YAML files to XML format with smart activation injection
|
|
@@ -63,13 +64,13 @@ class YamlXmlBuilder {
|
|
|
63
64
|
async loadAndMergeAgent(agentYamlPath, customizeYamlPath = null) {
|
|
64
65
|
// Load base agent
|
|
65
66
|
const agentContent = await fs.readFile(agentYamlPath, 'utf8');
|
|
66
|
-
const agentYaml = yaml.
|
|
67
|
+
const agentYaml = yaml.parse(agentContent);
|
|
67
68
|
|
|
68
69
|
// Load customization if exists
|
|
69
70
|
let merged = agentYaml;
|
|
70
71
|
if (customizeYamlPath && (await fs.pathExists(customizeYamlPath))) {
|
|
71
72
|
const customizeContent = await fs.readFile(customizeYamlPath, 'utf8');
|
|
72
|
-
const customizeYaml = yaml.
|
|
73
|
+
const customizeYaml = yaml.parse(customizeContent);
|
|
73
74
|
|
|
74
75
|
if (customizeYaml) {
|
|
75
76
|
// Special handling: persona fields are merged, but only non-empty values override
|
|
@@ -241,15 +242,15 @@ class YamlXmlBuilder {
|
|
|
241
242
|
let xml = ' <persona>\n';
|
|
242
243
|
|
|
243
244
|
if (persona.role) {
|
|
244
|
-
xml += ` <role>${
|
|
245
|
+
xml += ` <role>${escapeXml(persona.role)}</role>\n`;
|
|
245
246
|
}
|
|
246
247
|
|
|
247
248
|
if (persona.identity) {
|
|
248
|
-
xml += ` <identity>${
|
|
249
|
+
xml += ` <identity>${escapeXml(persona.identity)}</identity>\n`;
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
if (persona.communication_style) {
|
|
252
|
-
xml += ` <communication_style>${
|
|
253
|
+
xml += ` <communication_style>${escapeXml(persona.communication_style)}</communication_style>\n`;
|
|
253
254
|
}
|
|
254
255
|
|
|
255
256
|
if (persona.principles) {
|
|
@@ -260,7 +261,7 @@ class YamlXmlBuilder {
|
|
|
260
261
|
} else {
|
|
261
262
|
principlesText = persona.principles;
|
|
262
263
|
}
|
|
263
|
-
xml += ` <principles>${
|
|
264
|
+
xml += ` <principles>${escapeXml(principlesText)}</principles>\n`;
|
|
264
265
|
}
|
|
265
266
|
|
|
266
267
|
xml += ' </persona>\n';
|
|
@@ -277,7 +278,7 @@ class YamlXmlBuilder {
|
|
|
277
278
|
let xml = ' <memories>\n';
|
|
278
279
|
|
|
279
280
|
for (const memory of memories) {
|
|
280
|
-
xml += ` <memory>${
|
|
281
|
+
xml += ` <memory>${escapeXml(memory)}</memory>\n`;
|
|
281
282
|
}
|
|
282
283
|
|
|
283
284
|
xml += ' </memories>\n';
|
|
@@ -314,7 +315,7 @@ class YamlXmlBuilder {
|
|
|
314
315
|
for (const prompt of promptsArray) {
|
|
315
316
|
xml += ` <prompt id="${prompt.id || ''}">\n`;
|
|
316
317
|
xml += ` <content>\n`;
|
|
317
|
-
xml += `${
|
|
318
|
+
xml += `${escapeXml(prompt.content || '')}\n`;
|
|
318
319
|
xml += ` </content>\n`;
|
|
319
320
|
xml += ` </prompt>\n`;
|
|
320
321
|
}
|
|
@@ -351,7 +352,7 @@ class YamlXmlBuilder {
|
|
|
351
352
|
|
|
352
353
|
// Handle multi format menu items with nested handlers
|
|
353
354
|
if (item.multi && item.triggers && Array.isArray(item.triggers)) {
|
|
354
|
-
xml += ` <item type="multi">${
|
|
355
|
+
xml += ` <item type="multi">${escapeXml(item.multi)}\n`;
|
|
355
356
|
xml += this.buildNestedHandlers(item.triggers);
|
|
356
357
|
xml += ` </item>\n`;
|
|
357
358
|
}
|
|
@@ -381,7 +382,7 @@ class YamlXmlBuilder {
|
|
|
381
382
|
if (item.data) attrs.push(`data="${item.data}"`);
|
|
382
383
|
if (item.action) attrs.push(`action="${item.action}"`);
|
|
383
384
|
|
|
384
|
-
xml += ` <item ${attrs.join(' ')}>${
|
|
385
|
+
xml += ` <item ${attrs.join(' ')}>${escapeXml(item.description || '')}</item>\n`;
|
|
385
386
|
}
|
|
386
387
|
}
|
|
387
388
|
}
|
|
@@ -412,7 +413,7 @@ class YamlXmlBuilder {
|
|
|
412
413
|
|
|
413
414
|
// For nested handlers in multi items, we don't need cmd attribute
|
|
414
415
|
// The match attribute will handle fuzzy matching
|
|
415
|
-
const attrs = [`match="${
|
|
416
|
+
const attrs = [`match="${escapeXml(execData.description || '')}"`];
|
|
416
417
|
|
|
417
418
|
// Add handler attributes based on exec data
|
|
418
419
|
if (execData.route) attrs.push(`exec="${execData.route}"`);
|
|
@@ -482,19 +483,6 @@ class YamlXmlBuilder {
|
|
|
482
483
|
return result;
|
|
483
484
|
}
|
|
484
485
|
|
|
485
|
-
/**
|
|
486
|
-
* Escape XML special characters
|
|
487
|
-
*/
|
|
488
|
-
escapeXml(text) {
|
|
489
|
-
if (!text) return '';
|
|
490
|
-
return text
|
|
491
|
-
.replaceAll('&', '&')
|
|
492
|
-
.replaceAll('<', '<')
|
|
493
|
-
.replaceAll('>', '>')
|
|
494
|
-
.replaceAll('"', '"')
|
|
495
|
-
.replaceAll("'", ''');
|
|
496
|
-
}
|
|
497
|
-
|
|
498
486
|
/**
|
|
499
487
|
* Calculate file hash for build tracking
|
|
500
488
|
*/
|
|
@@ -537,7 +525,7 @@ class YamlXmlBuilder {
|
|
|
537
525
|
} else if (bmadIndex !== -1 && pathParts[bmadIndex + 1]) {
|
|
538
526
|
// Path contains /bmad/{module}/
|
|
539
527
|
const potentialModule = pathParts[bmadIndex + 1];
|
|
540
|
-
// Check if it's a known module, not 'agents' or '
|
|
528
|
+
// Check if it's a known module, not 'agents' or '_config'
|
|
541
529
|
if (['bmm', 'bmb', 'cis', 'core'].includes(potentialModule)) {
|
|
542
530
|
module = potentialModule;
|
|
543
531
|
}
|
package/tools/flattener/xml.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
const fs = require('fs-extra');
|
|
2
|
-
|
|
3
|
-
function escapeXml(string_) {
|
|
4
|
-
if (typeof string_ !== 'string') {
|
|
5
|
-
return String(string_);
|
|
6
|
-
}
|
|
7
|
-
return string_.replaceAll('&', '&').replaceAll('<', '<').replaceAll("'", ''');
|
|
8
|
-
}
|
|
2
|
+
const { escapeXml } = require('../lib/xml-utils');
|
|
9
3
|
|
|
10
4
|
function indentFileContent(content) {
|
|
11
5
|
if (typeof content !== 'string') {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escape XML special characters in a string
|
|
3
|
+
* @param {string} text - The text to escape
|
|
4
|
+
* @returns {string} The escaped text
|
|
5
|
+
*/
|
|
6
|
+
function escapeXml(text) {
|
|
7
|
+
if (!text) return '';
|
|
8
|
+
return text.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('"', '"').replaceAll("'", ''');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
escapeXml,
|
|
13
|
+
};
|
|
@@ -12,7 +12,7 @@ const chalk = require('chalk');
|
|
|
12
12
|
* Find BMAD directory in project
|
|
13
13
|
*/
|
|
14
14
|
function findBmadDir(projectDir = process.cwd()) {
|
|
15
|
-
const possibleNames = ['
|
|
15
|
+
const possibleNames = ['_bmad'];
|
|
16
16
|
|
|
17
17
|
for (const name of possibleNames) {
|
|
18
18
|
const bmadDir = path.join(projectDir, name);
|
|
@@ -95,7 +95,7 @@ async function migrate(directory) {
|
|
|
95
95
|
console.log(chalk.dim(`Project: ${projectRoot}`));
|
|
96
96
|
console.log(chalk.dim(`BMAD Directory: ${bmadDir}`));
|
|
97
97
|
|
|
98
|
-
const manifestPath = path.join(bmadDir, '
|
|
98
|
+
const manifestPath = path.join(bmadDir, '_config', 'manifest.yaml');
|
|
99
99
|
|
|
100
100
|
if (!fs.existsSync(manifestPath)) {
|
|
101
101
|
console.error(chalk.red('✗ No manifest.yaml found'));
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
const { glob } = require('glob');
|
|
15
|
-
const yaml = require('
|
|
15
|
+
const yaml = require('yaml');
|
|
16
16
|
const fs = require('node:fs');
|
|
17
17
|
const path = require('node:path');
|
|
18
18
|
const { validateAgentFile } = require('./schema/agent.js');
|
|
@@ -49,7 +49,7 @@ async function main(customProjectRoot) {
|
|
|
49
49
|
|
|
50
50
|
try {
|
|
51
51
|
const fileContent = fs.readFileSync(filePath, 'utf8');
|
|
52
|
-
const agentData = yaml.
|
|
52
|
+
const agentData = yaml.parse(fileContent);
|
|
53
53
|
|
|
54
54
|
// Convert absolute path to relative src/ path for module detection
|
|
55
55
|
const srcRelativePath = relativePath.startsWith('src/') ? relativePath : path.relative(project_root, filePath).replaceAll('\\', '/');
|
package/docs/v6-open-items.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# v6 Pending Items
|
|
2
|
-
|
|
3
|
-
Before calling this beta
|
|
4
|
-
|
|
5
|
-
- finalize web bundler
|
|
6
|
-
- some subagents working again
|
|
7
|
-
- knowledge base for bmad
|
|
8
|
-
|
|
9
|
-
## Needed Beta → v0 release
|
|
10
|
-
|
|
11
|
-
Aside from stability and bug fixes found during the alpha period - the main focus will be on the following:
|
|
12
|
-
|
|
13
|
-
- knowledge base for BMM
|
|
14
|
-
- Module repository and submission process defined
|
|
15
|
-
- MCP Injections based on installation selection
|
|
16
|
-
- sub agent for open-code and claude code optimization
|
|
17
|
-
- TDD Workflow Integration
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
<agent id=".bmad/core/agents/bmad-orchestrator.md" name="BMad Orchestrator" title="BMad Web Orchestrator" icon="🎭" localskip="true">
|
|
2
|
-
<activation critical="MANDATORY">
|
|
3
|
-
<step n="1">Load this complete web bundle XML - you are the BMad Orchestrator, first agent in this bundle</step>
|
|
4
|
-
<step n="2">CRITICAL: This bundle contains ALL agents as XML nodes with id=".bmad/..." and ALL workflows/tasks as nodes findable
|
|
5
|
-
by type
|
|
6
|
-
and id</step>
|
|
7
|
-
<step n="3">Greet user as BMad Orchestrator and display numbered list of ALL menu items from menu section below</step>
|
|
8
|
-
<step n="4">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
|
|
9
|
-
<step n="5">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to
|
|
10
|
-
clarify | No match → show "Not recognized"</step>
|
|
11
|
-
<step n="6">When executing a menu item: Check menu-handlers section below for UNIVERSAL handler instructions that apply to ALL agents</step>
|
|
12
|
-
|
|
13
|
-
<menu-handlers critical="UNIVERSAL_FOR_ALL_AGENTS">
|
|
14
|
-
<extract>workflow, exec, tmpl, data, action, validate-workflow</extract>
|
|
15
|
-
<handlers>
|
|
16
|
-
<handler type="workflow">
|
|
17
|
-
When menu item has: workflow="workflow-id"
|
|
18
|
-
1. Find workflow node by id in this bundle (e.g., <workflow id="workflow-id">)
|
|
19
|
-
2. CRITICAL: Always LOAD .bmad/core/tasks/workflow.xml if referenced
|
|
20
|
-
3. Execute the workflow content precisely following all steps
|
|
21
|
-
4. Save outputs after completing EACH workflow step (never batch)
|
|
22
|
-
5. If workflow id is "todo", inform user it hasn't been implemented yet
|
|
23
|
-
</handler>
|
|
24
|
-
|
|
25
|
-
<handler type="exec">
|
|
26
|
-
When menu item has: exec="node-id" or exec="inline-instruction"
|
|
27
|
-
1. If value looks like a path/id → Find and execute node with that id
|
|
28
|
-
2. If value is text → Execute as direct instruction
|
|
29
|
-
3. Follow ALL instructions within loaded content EXACTLY
|
|
30
|
-
</handler>
|
|
31
|
-
|
|
32
|
-
<handler type="tmpl">
|
|
33
|
-
When menu item has: tmpl="template-id"
|
|
34
|
-
1. Find template node by id in this bundle and pass it to the exec, task, action, or workflow being executed
|
|
35
|
-
</handler>
|
|
36
|
-
|
|
37
|
-
<handler type="data">
|
|
38
|
-
When menu item has: data="data-id"
|
|
39
|
-
1. Find data node by id in this bundle
|
|
40
|
-
2. Parse according to node type (json/yaml/xml/csv)
|
|
41
|
-
3. Make available as {data} variable for subsequent operations
|
|
42
|
-
</handler>
|
|
43
|
-
|
|
44
|
-
<handler type="action">
|
|
45
|
-
When menu item has: action="#prompt-id" or action="inline-text"
|
|
46
|
-
1. If starts with # → Find prompt with matching id in current agent
|
|
47
|
-
2. Otherwise → Execute the text directly as instruction
|
|
48
|
-
</handler>
|
|
49
|
-
|
|
50
|
-
<handler type="validate-workflow">
|
|
51
|
-
When menu item has: validate-workflow="workflow-id"
|
|
52
|
-
1. MUST LOAD .bmad/core/tasks/validate-workflow.xml
|
|
53
|
-
2. Execute all validation instructions from that file
|
|
54
|
-
3. Check workflow's validation property for schema
|
|
55
|
-
4. Identify file to validate or ask user to specify
|
|
56
|
-
</handler>
|
|
57
|
-
</handlers>
|
|
58
|
-
</menu-handlers>
|
|
59
|
-
|
|
60
|
-
<orchestrator-specific>
|
|
61
|
-
<agent-transformation critical="true">
|
|
62
|
-
When user selects *agents [agent-name]:
|
|
63
|
-
1. Find agent XML node with matching name/id in this bundle
|
|
64
|
-
2. Announce transformation: "Transforming into [agent name]... 🎭"
|
|
65
|
-
3. BECOME that agent completely:
|
|
66
|
-
- Load and embody their persona/role/communication_style
|
|
67
|
-
- Display THEIR menu items (not orchestrator menu)
|
|
68
|
-
- Execute THEIR commands using universal handlers above
|
|
69
|
-
4. Stay as that agent until user types *exit
|
|
70
|
-
5. On *exit: Confirm, then return to BMad Orchestrator persona
|
|
71
|
-
</agent-transformation>
|
|
72
|
-
|
|
73
|
-
<list-agents critical="true">
|
|
74
|
-
When user selects *list-agents:
|
|
75
|
-
1. Scan all agent nodes in this bundle
|
|
76
|
-
2. Display formatted list with:
|
|
77
|
-
- Number, emoji, name, title
|
|
78
|
-
- Brief description of capabilities
|
|
79
|
-
- Main menu items they offer
|
|
80
|
-
3. Suggest which agent might help with common tasks
|
|
81
|
-
</list-agents>
|
|
82
|
-
</orchestrator-specific>
|
|
83
|
-
|
|
84
|
-
<rules>
|
|
85
|
-
Web bundle environment - NO file system access, all content in XML nodes
|
|
86
|
-
Find resources by XML node id/type within THIS bundle only
|
|
87
|
-
Use canvas for document drafting when available
|
|
88
|
-
Menu triggers use asterisk (*) - display exactly as shown
|
|
89
|
-
Number all lists, use letters for sub-options
|
|
90
|
-
Stay in character (current agent) until *exit command
|
|
91
|
-
Options presented as numbered lists with descriptions
|
|
92
|
-
elicit="true" attributes require user confirmation before proceeding
|
|
93
|
-
</rules>
|
|
94
|
-
</activation>
|
|
95
|
-
|
|
96
|
-
<persona>
|
|
97
|
-
<role>Master Orchestrator and BMad Scholar</role>
|
|
98
|
-
<identity>Master orchestrator with deep expertise across all loaded agents and workflows. Technical brilliance balanced with
|
|
99
|
-
approachable communication.</identity>
|
|
100
|
-
<communication_style>Knowledgeable, guiding, approachable, very explanatory when in BMad Orchestrator mode</communication_style>
|
|
101
|
-
<core_principles>When I transform into another agent, I AM that agent until *exit command received. When I am NOT transformed into
|
|
102
|
-
another agent, I will give you guidance or suggestions on a workflow based on your needs.</core_principles>
|
|
103
|
-
</persona>
|
|
104
|
-
<menu>
|
|
105
|
-
<item cmd="*help">Show numbered command list</item>
|
|
106
|
-
<item cmd="*list-agents">List all available agents with their capabilities</item>
|
|
107
|
-
<item cmd="*agents [agent-name]">Transform into a specific agent</item>
|
|
108
|
-
<item cmd="*party-mode" exec=".bmad/core/workflows/party-mode/workflow.md">Enter group chat with all agents
|
|
109
|
-
simultaneously</item>
|
|
110
|
-
<item cmd="*advanced-elicitation" task=".bmad/core/tasks/advanced-elicitation.xml">Push agent to perform advanced elicitation</item>
|
|
111
|
-
<item cmd="*exit">Exit current session</item>
|
|
112
|
-
</menu>
|
|
113
|
-
</agent>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
const fs = require('fs-extra');
|
|
2
|
-
const path = require('node:path');
|
|
3
|
-
const chalk = require('chalk');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* BMB Module Installer
|
|
7
|
-
* Sets up custom agent and workflow locations for the BMad Builder module
|
|
8
|
-
*
|
|
9
|
-
* @param {Object} options - Installation options
|
|
10
|
-
* @param {string} options.projectRoot - The root directory of the target project
|
|
11
|
-
* @param {Object} options.config - Module configuration from module.yaml
|
|
12
|
-
* @param {Object} options.coreConfig - Core configuration containing user_name
|
|
13
|
-
* @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
|
|
14
|
-
* @param {Object} options.logger - Logger instance for output
|
|
15
|
-
* @returns {Promise<boolean>} - Success status
|
|
16
|
-
*/
|
|
17
|
-
async function install(options) {
|
|
18
|
-
const { projectRoot, config, coreConfig, installedIDEs, logger } = options;
|
|
19
|
-
|
|
20
|
-
try {
|
|
21
|
-
logger.log(chalk.blue('🔧 Setting up BMB Module...'));
|
|
22
|
-
|
|
23
|
-
// Generate custom.yaml in custom_stand_alone_location
|
|
24
|
-
if (config['custom_stand_alone_location']) {
|
|
25
|
-
// The config value contains {project-root} which needs to be resolved
|
|
26
|
-
const rawLocation = config['custom_stand_alone_location'];
|
|
27
|
-
const customLocation = rawLocation.replace('{project-root}', projectRoot);
|
|
28
|
-
const customDestPath = path.join(customLocation, 'custom.yaml');
|
|
29
|
-
|
|
30
|
-
logger.log(chalk.cyan(` Setting up custom agents at: ${customLocation}`));
|
|
31
|
-
|
|
32
|
-
// Ensure the directory exists
|
|
33
|
-
await fs.ensureDir(customLocation);
|
|
34
|
-
|
|
35
|
-
// Generate the custom.yaml content
|
|
36
|
-
const userName = (coreConfig && coreConfig.user_name) || 'my';
|
|
37
|
-
const customContent = `code: my-custom-bmad
|
|
38
|
-
name: "${userName}-Custom-BMad: Sample Stand Alone Custom Agents and Workflows"
|
|
39
|
-
default_selected: true
|
|
40
|
-
`;
|
|
41
|
-
|
|
42
|
-
// Write the custom.yaml file (only if it doesn't exist to preserve user changes)
|
|
43
|
-
if (await fs.pathExists(customDestPath)) {
|
|
44
|
-
logger.log(chalk.yellow(` ✓ custom.yaml already exists at ${customDestPath}`));
|
|
45
|
-
} else {
|
|
46
|
-
await fs.writeFile(customDestPath, customContent, 'utf8');
|
|
47
|
-
logger.log(chalk.green(` ✓ Created custom.yaml at ${customDestPath}`));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Set up custom module location if configured
|
|
52
|
-
if (config['custom_module_location']) {
|
|
53
|
-
const rawModuleLocation = config['custom_module_location'];
|
|
54
|
-
const moduleLocation = rawModuleLocation.replace('{project-root}', projectRoot);
|
|
55
|
-
|
|
56
|
-
logger.log(chalk.cyan(` Setting up custom modules at: ${moduleLocation}`));
|
|
57
|
-
|
|
58
|
-
// Ensure the directory exists
|
|
59
|
-
await fs.ensureDir(moduleLocation);
|
|
60
|
-
logger.log(chalk.green(` ✓ Created modules directory at ${moduleLocation}`));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Handle IDE-specific configurations if needed
|
|
64
|
-
if (installedIDEs && installedIDEs.length > 0) {
|
|
65
|
-
logger.log(chalk.cyan(` Configuring BMB for IDEs: ${installedIDEs.join(', ')}`));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
logger.log(chalk.green('✓ BMB Module setup complete'));
|
|
69
|
-
return true;
|
|
70
|
-
} catch (error) {
|
|
71
|
-
logger.error(chalk.red(`Error setting up BMB module: ${error.message}`));
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
module.exports = { install };
|