bmad-method 5.1.2 → 6.0.0-alpha.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/.github/FUNDING.yaml +2 -2
- package/.github/ISSUE_TEMPLATE/config.yaml +1 -0
- package/.github/ISSUE_TEMPLATE/idea_submission.md +109 -0
- package/.github/workflows/discord.yaml +1 -10
- package/.github/workflows/format-check.yaml +3 -2
- package/.github/workflows/manual-release.yaml +2 -2
- package/.nvmrc +1 -0
- package/.vscode/settings.json +34 -9
- package/CHANGELOG.md +211 -577
- package/CONTRIBUTING.md +130 -60
- package/LICENSE +6 -1
- package/docs/codebase-flattener.md +19 -0
- package/docs/ide-info/auggie.md +31 -0
- package/docs/ide-info/claude-code.md +25 -0
- package/docs/ide-info/cline.md +31 -0
- package/docs/ide-info/codex.md +32 -0
- package/docs/ide-info/crush.md +30 -0
- package/docs/ide-info/cursor.md +25 -0
- package/docs/ide-info/gemini.md +25 -0
- package/docs/ide-info/github-copilot.md +26 -0
- package/docs/ide-info/iflow.md +33 -0
- package/docs/ide-info/kilo.md +24 -0
- package/docs/ide-info/qwen.md +25 -0
- package/docs/ide-info/roo.md +27 -0
- package/docs/ide-info/trae.md +25 -0
- package/docs/ide-info/windsurf.md +22 -0
- package/docs/installers-bundlers/ide-injections.md +196 -0
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +355 -0
- package/docs/installers-bundlers/web-bundler-usage.md +54 -0
- package/eslint.config.mjs +17 -7
- package/package.json +26 -35
- package/prettier.config.mjs +1 -1
- package/readme.md +216 -0
- package/src/core/_module-installer/install-menu-config.yaml +24 -0
- package/src/core/_module-installer/installer.js +68 -0
- package/src/core/agents/bmad-master.md +27 -0
- package/src/core/agents/bmad-web-orchestrator.md +71 -0
- package/src/core/tasks/adv-elicit-methods.csv +39 -0
- package/src/core/tasks/adv-elicit.md +109 -0
- package/src/core/tasks/index-docs.md +69 -0
- package/src/core/tasks/shard-doc.md +57 -0
- package/src/core/tasks/validate-workflow.md +92 -0
- package/src/core/tasks/workflow.md +141 -0
- package/src/core/workflows/bmad-init/instructions.md +79 -0
- package/src/core/workflows/bmad-init/workflow.yaml +24 -0
- package/src/core/workflows/party-mode/instructions.md +181 -0
- package/src/core/workflows/party-mode/workflow.yaml +24 -0
- package/src/modules/bmb/_module-installer/install-menu-config.yaml +16 -0
- package/src/modules/bmb/agents/bmad-builder.md +30 -0
- package/src/modules/bmb/workflows/convert-legacy/README.md +262 -0
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +204 -0
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +328 -0
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +35 -0
- package/src/modules/bmb/workflows/create-agent/README.md +268 -0
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +412 -0
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +757 -0
- package/src/modules/bmb/workflows/create-agent/agent-types.md +177 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +174 -0
- package/src/modules/bmb/workflows/create-agent/checklist.md +134 -0
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +240 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +340 -0
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +39 -0
- package/src/modules/bmb/workflows/create-module/README.md +218 -0
- package/src/modules/bmb/workflows/create-module/brainstorm-context.md +137 -0
- package/src/modules/bmb/workflows/create-module/checklist.md +245 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/install-module-config.yaml +132 -0
- package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +231 -0
- package/src/modules/bmb/workflows/create-module/instructions.md +509 -0
- package/src/modules/bmb/workflows/create-module/module-structure.md +310 -0
- package/src/modules/bmb/workflows/create-module/workflow.yaml +47 -0
- package/src/modules/bmb/workflows/create-workflow/README.md +216 -0
- package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
- package/src/modules/bmb/workflows/create-workflow/checklist.md +72 -0
- package/src/modules/bmb/workflows/create-workflow/instructions.md +267 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +456 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +12 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +35 -0
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +42 -0
- package/src/modules/bmb/workflows/edit-workflow/README.md +63 -0
- package/src/modules/bmb/workflows/edit-workflow/checklist.md +70 -0
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +170 -0
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +34 -0
- package/src/modules/bmb/workflows/module-brief/README.md +264 -0
- package/src/modules/bmb/workflows/module-brief/checklist.md +116 -0
- package/src/modules/bmb/workflows/module-brief/instructions.md +265 -0
- package/src/modules/bmb/workflows/module-brief/template.md +275 -0
- package/src/modules/bmb/workflows/module-brief/workflow.yaml +30 -0
- package/src/modules/bmb/workflows/redoc/README.md +87 -0
- package/src/modules/bmb/workflows/redoc/checklist.md +99 -0
- package/src/modules/bmb/workflows/redoc/instructions.md +255 -0
- package/src/modules/bmb/workflows/redoc/workflow.yaml +33 -0
- package/src/modules/bmm/_module-installer/assets/bmm-kb.md +1 -0
- package/src/modules/bmm/_module-installer/assets/technical-decisions-template.md +30 -0
- package/src/modules/bmm/_module-installer/install-menu-config.yaml +49 -0
- package/src/modules/bmm/_module-installer/installer.js +131 -0
- package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
- package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
- package/src/modules/bmm/agents/analyst.md +26 -0
- package/src/modules/bmm/agents/architect.md +29 -0
- package/src/modules/bmm/agents/dev.md +61 -0
- package/src/modules/bmm/agents/game-architect.md +26 -0
- package/src/modules/bmm/agents/game-designer.md +27 -0
- package/src/modules/bmm/agents/game-dev.md +28 -0
- package/src/modules/bmm/agents/pm.md +26 -0
- package/src/modules/bmm/agents/po.md +25 -0
- package/src/modules/bmm/agents/sm.md +29 -0
- package/src/modules/bmm/agents/tea.md +32 -0
- package/src/modules/bmm/agents/ux-expert.md +24 -0
- package/src/modules/bmm/sub-modules/claude-code/config.yaml +5 -0
- package/src/modules/bmm/sub-modules/claude-code/injections.yaml +242 -0
- package/src/modules/bmm/sub-modules/claude-code/readme.md +87 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/api-documenter.md +85 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/codebase-analyzer.md +64 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/data-analyst.md +84 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/dependency-mapper.md +67 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/document-reviewer.md +85 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/epic-optimizer.md +66 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/market-researcher.md +34 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/pattern-detector.md +67 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/requirements-analyst.md +61 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/tech-debt-auditor.md +89 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-decisions-curator.md +146 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-evaluator.md +51 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/test-coverage-analyzer.md +91 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/trend-spotter.md +99 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-journey-mapper.md +101 -0
- package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-researcher.md +56 -0
- package/src/modules/bmm/tasks/daily-standup.md +91 -0
- package/src/modules/bmm/tasks/retrospective.md +110 -0
- package/src/modules/bmm/teams/team-all.yaml +7 -0
- package/src/modules/bmm/teams/team-dev.yaml +14 -0
- package/src/modules/bmm/teams/team-gamedev.yaml +9 -0
- package/src/modules/bmm/testarch/atdd.md +40 -0
- package/src/modules/bmm/testarch/automate.md +38 -0
- package/src/modules/bmm/testarch/ci.md +39 -0
- package/src/modules/bmm/testarch/framework.md +41 -0
- package/src/modules/bmm/testarch/nfr-assess.md +38 -0
- package/src/modules/bmm/testarch/risk-profile.md +38 -0
- package/src/modules/bmm/testarch/tea-commands.csv +11 -0
- package/src/modules/bmm/testarch/tea-gate.md +38 -0
- package/src/modules/bmm/testarch/tea-knowledge.md +275 -0
- package/src/modules/bmm/testarch/test-design.md +39 -0
- package/{bmad-core/data → src/modules/bmm/testarch}/test-levels-framework.md +2 -0
- package/{bmad-core/data → src/modules/bmm/testarch}/test-priorities-matrix.md +2 -0
- package/src/modules/bmm/testarch/trace-requirements.md +38 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-brain-methods.csv +26 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +115 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +47 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +22 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +38 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +21 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +221 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +128 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +517 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +205 -0
- package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +34 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +180 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +353 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +165 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +33 -0
- package/src/modules/bmm/workflows/1-analysis/research/README.md +454 -0
- package/src/modules/bmm/workflows/1-analysis/research/checklist.md +202 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +259 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +190 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +337 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +107 -0
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +329 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +370 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +553 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +91 -0
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +442 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +311 -0
- package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +210 -0
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +149 -0
- package/src/modules/bmm/workflows/2-plan/README.md +203 -0
- package/src/modules/bmm/workflows/2-plan/checklist.md +369 -0
- package/src/modules/bmm/workflows/2-plan/gdd/README.md +222 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/action-platformer.md +45 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/adventure.md +84 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/card-game.md +76 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/fighting.md +89 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/horror.md +86 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/idle-incremental.md +78 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/metroidvania.md +87 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/moba.md +74 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/party-game.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/puzzle.md +58 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/racing.md +88 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/rhythm.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/roguelike.md +69 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/rpg.md +70 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/sandbox.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/shooter.md +62 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/simulation.md +73 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/sports.md +75 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/strategy.md +71 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/survival.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/text-based.md +91 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/tower-defense.md +79 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/turn-based-tactics.md +88 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types/visual-novel.md +89 -0
- package/src/modules/bmm/workflows/2-plan/gdd/game-types.csv +25 -0
- package/src/modules/bmm/workflows/2-plan/gdd/gdd-template.md +159 -0
- package/src/modules/bmm/workflows/2-plan/gdd/instructions-gdd.md +480 -0
- package/src/modules/bmm/workflows/2-plan/instructions-router.md +222 -0
- package/src/modules/bmm/workflows/2-plan/narrative/instructions-narrative.md +517 -0
- package/src/modules/bmm/workflows/2-plan/narrative/narrative-template.md +195 -0
- package/src/modules/bmm/workflows/2-plan/prd/analysis-template.md +53 -0
- package/src/modules/bmm/workflows/2-plan/prd/epics-template.md +18 -0
- package/src/modules/bmm/workflows/2-plan/prd/instructions-lg.md +267 -0
- package/src/modules/bmm/workflows/2-plan/prd/instructions-med.md +251 -0
- package/src/modules/bmm/workflows/2-plan/prd/prd-template.md +73 -0
- package/src/modules/bmm/workflows/2-plan/tech-spec/instructions-sm.md +137 -0
- package/src/modules/bmm/workflows/2-plan/tech-spec/tech-spec-template.md +59 -0
- package/src/modules/bmm/workflows/2-plan/ux/instructions-ux.md +360 -0
- package/src/modules/bmm/workflows/2-plan/ux/ux-spec-template.md +162 -0
- package/src/modules/bmm/workflows/2-plan/workflow.yaml +60 -0
- package/src/modules/bmm/workflows/3-solutioning/ADR-template.md +74 -0
- package/src/modules/bmm/workflows/3-solutioning/README.md +565 -0
- package/src/modules/bmm/workflows/3-solutioning/checklist.md +170 -0
- package/src/modules/bmm/workflows/3-solutioning/instructions.md +661 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/backend-questions.md +490 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/cli-questions.md +337 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/data-questions.md +472 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/desktop-questions.md +299 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/embedded-questions.md +118 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/extension-questions.md +374 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/game-questions.md +133 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/infra-questions.md +484 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/library-questions.md +146 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/mobile-questions.md +110 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/project-types.csv +12 -0
- package/src/modules/bmm/workflows/3-solutioning/project-types/web-questions.md +136 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/README.md +195 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/checklist.md +17 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/instructions.md +73 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/template.md +76 -0
- package/src/modules/bmm/workflows/3-solutioning/tech-spec/workflow.yaml +51 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/backend-service-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/cli-tool-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/data-pipeline-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/desktop-app-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/embedded-firmware-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-architecture.md +244 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-godot-guide.md +428 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-unity-guide.md +333 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-web-guide.md +528 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/infrastructure-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/library-package-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/mobile-app-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/registry.csv +172 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/web-api-architecture.md +66 -0
- package/src/modules/bmm/workflows/3-solutioning/templates/web-fullstack-architecture.md +277 -0
- package/src/modules/bmm/workflows/3-solutioning/workflow.yaml +65 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +190 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +35 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/README.md +42 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +39 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +81 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +57 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +72 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +84 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +87 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +53 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +391 -0
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +41 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/README.md +72 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/backlog_template.md +12 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/checklist.md +22 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +176 -0
- package/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +99 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/README.md +234 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +76 -0
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +56 -0
- package/src/modules/cis/_module-installer/install-menu-config.yaml +14 -0
- package/src/modules/cis/_module-installer/installer.js +92 -0
- package/src/modules/cis/agents/README.md +104 -0
- package/src/modules/cis/agents/brainstorming-coach.md +24 -0
- package/src/modules/cis/agents/creative-problem-solver.md +24 -0
- package/src/modules/cis/agents/design-thinking-coach.md +24 -0
- package/src/modules/cis/agents/innovation-strategist.md +24 -0
- package/src/modules/cis/agents/storyteller.md +24 -0
- package/src/modules/cis/readme.md +86 -0
- package/src/modules/cis/teams/creative-squad.yaml +6 -0
- package/src/modules/cis/workflows/README.md +67 -0
- package/src/modules/cis/workflows/brainstorming/README.md +271 -0
- package/src/modules/cis/workflows/brainstorming/brain-methods.csv +36 -0
- package/src/modules/cis/workflows/brainstorming/instructions.md +310 -0
- package/src/modules/cis/workflows/brainstorming/template.md +102 -0
- package/src/modules/cis/workflows/brainstorming/workflow.yaml +30 -0
- package/src/modules/cis/workflows/design-thinking/README.md +56 -0
- package/src/modules/cis/workflows/design-thinking/design-methods.csv +31 -0
- package/src/modules/cis/workflows/design-thinking/instructions.md +200 -0
- package/src/modules/cis/workflows/design-thinking/template.md +111 -0
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +29 -0
- package/src/modules/cis/workflows/innovation-strategy/README.md +56 -0
- package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +274 -0
- package/src/modules/cis/workflows/innovation-strategy/template.md +189 -0
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +29 -0
- package/src/modules/cis/workflows/problem-solving/README.md +56 -0
- package/src/modules/cis/workflows/problem-solving/instructions.md +250 -0
- package/src/modules/cis/workflows/problem-solving/solving-methods.csv +31 -0
- package/src/modules/cis/workflows/problem-solving/template.md +165 -0
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +29 -0
- package/src/modules/cis/workflows/storytelling/README.md +58 -0
- package/src/modules/cis/workflows/storytelling/instructions.md +275 -0
- package/src/modules/cis/workflows/storytelling/story-types.csv +26 -0
- package/src/modules/cis/workflows/storytelling/template.md +113 -0
- package/src/modules/cis/workflows/storytelling/workflow.yaml +29 -0
- package/src/utility/models/agent-activation-ide.xml +51 -0
- package/src/utility/models/agent-config-template.md +23 -0
- package/tools/cli/bmad-cli.js +42 -0
- package/tools/cli/bundlers/bundle-web.js +157 -0
- package/tools/cli/bundlers/test-analyst.js +28 -0
- package/tools/cli/bundlers/test-bundler.js +118 -0
- package/tools/cli/bundlers/web-bundler.js +880 -0
- package/tools/cli/commands/install.js +41 -0
- package/tools/cli/commands/list.js +28 -0
- package/tools/cli/commands/status.js +47 -0
- package/tools/cli/commands/uninstall.js +44 -0
- package/tools/cli/commands/update.js +28 -0
- package/tools/cli/installers/lib/core/config-collector.js +383 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +721 -0
- package/tools/cli/installers/lib/core/detector.js +208 -0
- package/tools/cli/installers/lib/core/installer.js +1070 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +385 -0
- package/tools/cli/installers/lib/core/manifest.js +484 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +281 -0
- package/tools/cli/installers/lib/ide/auggie.js +271 -0
- package/tools/cli/installers/lib/ide/claude-code.js +625 -0
- package/tools/cli/installers/lib/ide/cline.js +301 -0
- package/tools/cli/installers/lib/ide/codex.js +267 -0
- package/tools/cli/installers/lib/ide/crush.js +204 -0
- package/tools/cli/installers/lib/ide/cursor.js +224 -0
- package/tools/cli/installers/lib/ide/gemini.js +160 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +289 -0
- package/tools/cli/installers/lib/ide/iflow.js +142 -0
- package/tools/cli/installers/lib/ide/kilo.js +171 -0
- package/tools/cli/installers/lib/ide/manager.js +203 -0
- package/tools/cli/installers/lib/ide/qwen.js +188 -0
- package/tools/cli/installers/lib/ide/roo.js +288 -0
- package/tools/cli/installers/lib/ide/trae.js +182 -0
- package/tools/cli/installers/lib/ide/windsurf.js +149 -0
- package/tools/cli/installers/lib/ide/workflow-command-generator.js +162 -0
- package/tools/cli/installers/lib/ide/workflow-command-template.md +11 -0
- package/tools/cli/installers/lib/modules/manager.js +452 -0
- package/tools/cli/lib/agent-party-generator.js +206 -0
- package/tools/cli/lib/cli-utils.js +208 -0
- package/tools/cli/lib/config.js +210 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +71 -0
- package/tools/cli/lib/replace-project-root.js +239 -0
- package/tools/cli/lib/ui.js +516 -0
- package/tools/cli/lib/xml-handler.js +183 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/{yaml-format.js → cli/lib/yaml-format.js} +3 -10
- package/tools/cli/regenerate-manifests.js +28 -0
- package/tools/flattener/ignoreRules.js +2 -6
- package/tools/flattener/main.js +31 -121
- package/tools/flattener/projectRoot.js +3 -8
- package/tools/flattener/stats.helpers.js +8 -35
- package/tools/flattener/stats.js +1 -6
- package/tools/flattener/test-matrix.js +1 -5
- package/tools/platform-codes.yaml +127 -0
- package/tools/test-agents/captain-kirk-commander.md +110 -0
- package/tools/test-agents/data-operations-android.md +123 -0
- package/tools/test-agents/geordi-chief-engineer.md +135 -0
- package/tools/test-agents/isabella-martinez-ethicist.md +109 -0
- package/tools/test-agents/marcus-thompson-security.md +109 -0
- package/tools/test-agents/maya-patel-pragmatist.md +82 -0
- package/tools/test-agents/picard-diplomat-captain.md +134 -0
- package/tools/test-agents/spock-science-officer.md +124 -0
- package/tools/test-agents/william-smithers-technocrat.md +71 -0
- package/tools/test-agents/zara-chen-designer.md +94 -0
- package/tools/validate-bundles.js +87 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
- package/README.md +0 -221
- package/bmad-core/agent-teams/team-all.yaml +0 -14
- package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
- package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
- package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
- package/bmad-core/agents/analyst.md +0 -81
- package/bmad-core/agents/architect.md +0 -83
- package/bmad-core/agents/bmad-master.md +0 -107
- package/bmad-core/agents/bmad-orchestrator.md +0 -149
- package/bmad-core/agents/dev.md +0 -75
- package/bmad-core/agents/pm.md +0 -81
- package/bmad-core/agents/po.md +0 -76
- package/bmad-core/agents/qa.md +0 -88
- package/bmad-core/agents/sm.md +0 -62
- package/bmad-core/agents/ux-expert.md +0 -66
- package/bmad-core/checklists/architect-checklist.md +0 -438
- package/bmad-core/checklists/change-checklist.md +0 -182
- package/bmad-core/checklists/pm-checklist.md +0 -370
- package/bmad-core/checklists/po-master-checklist.md +0 -432
- package/bmad-core/checklists/story-dod-checklist.md +0 -94
- package/bmad-core/checklists/story-draft-checklist.md +0 -153
- package/bmad-core/core-config.yaml +0 -20
- package/bmad-core/data/bmad-kb.md +0 -806
- package/bmad-core/data/brainstorming-techniques.md +0 -36
- package/bmad-core/data/elicitation-methods.md +0 -154
- package/bmad-core/data/technical-preferences.md +0 -3
- package/bmad-core/tasks/advanced-elicitation.md +0 -117
- package/bmad-core/tasks/brownfield-create-epic.md +0 -160
- package/bmad-core/tasks/brownfield-create-story.md +0 -147
- package/bmad-core/tasks/correct-course.md +0 -70
- package/bmad-core/tasks/create-brownfield-story.md +0 -312
- package/bmad-core/tasks/create-deep-research-prompt.md +0 -278
- package/bmad-core/tasks/create-next-story.md +0 -112
- package/bmad-core/tasks/document-project.md +0 -343
- package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
- package/bmad-core/tasks/index-docs.md +0 -173
- package/bmad-core/tasks/kb-mode-interaction.md +0 -75
- package/bmad-core/tasks/nfr-assess.md +0 -343
- package/bmad-core/tasks/qa-gate.md +0 -159
- package/bmad-core/tasks/review-story.md +0 -314
- package/bmad-core/tasks/risk-profile.md +0 -353
- package/bmad-core/tasks/shard-doc.md +0 -185
- package/bmad-core/tasks/test-design.md +0 -174
- package/bmad-core/tasks/trace-requirements.md +0 -264
- package/bmad-core/tasks/validate-next-story.md +0 -134
- package/bmad-core/templates/architecture-tmpl.yaml +0 -650
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -306
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -218
- package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -823
- package/bmad-core/templates/market-research-tmpl.yaml +0 -252
- package/bmad-core/templates/prd-tmpl.yaml +0 -202
- package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
- package/bmad-core/templates/qa-gate-tmpl.yaml +0 -102
- package/bmad-core/templates/story-tmpl.yaml +0 -137
- package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
- package/bmad-core/workflows/brownfield-service.yaml +0 -187
- package/bmad-core/workflows/brownfield-ui.yaml +0 -197
- package/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
- package/bmad-core/workflows/greenfield-service.yaml +0 -206
- package/bmad-core/workflows/greenfield-ui.yaml +0 -235
- package/common/tasks/create-doc.md +0 -101
- package/common/tasks/execute-checklist.md +0 -86
- package/common/utils/bmad-doc-template.md +0 -325
- package/common/utils/workflow-management.md +0 -69
- package/dist/agents/analyst.txt +0 -2889
- package/dist/agents/architect.txt +0 -3552
- package/dist/agents/bmad-master.txt +0 -8769
- package/dist/agents/bmad-orchestrator.txt +0 -1513
- package/dist/agents/dev.txt +0 -414
- package/dist/agents/pm.txt +0 -2204
- package/dist/agents/po.txt +0 -1346
- package/dist/agents/qa.txt +0 -1987
- package/dist/agents/sm.txt +0 -658
- package/dist/agents/ux-expert.txt +0 -694
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2371
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1620
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -815
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10952
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4012
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3698
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -450
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -973
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15376
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2075
- package/dist/teams/team-all.txt +0 -12682
- package/dist/teams/team-fullstack.txt +0 -10421
- package/dist/teams/team-ide-minimal.txt +0 -5103
- package/dist/teams/team-no-ui.txt +0 -8980
- package/docs/GUIDING-PRINCIPLES.md +0 -91
- package/docs/core-architecture.md +0 -219
- package/docs/enhanced-ide-development-workflow.md +0 -248
- package/docs/expansion-packs.md +0 -280
- package/docs/how-to-contribute-with-pull-requests.md +0 -158
- package/docs/user-guide.md +0 -504
- package/docs/versioning-and-releases.md +0 -147
- package/docs/versions.md +0 -48
- package/docs/working-in-the-brownfield.md +0 -597
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
- package/expansion-packs/README.md +0 -3
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -250
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -647
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -110
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -290
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
- package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -391
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -124
- package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -769
- package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -586
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -110
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -141
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -290
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
- package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
- package/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
- package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
- package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -305
- package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -159
- package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -153
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
- package/release_notes.md +0 -32
- package/tools/bmad-npx-wrapper.js +0 -39
- package/tools/builders/web-builder.js +0 -675
- package/tools/bump-all-versions.js +0 -115
- package/tools/bump-expansion-version.js +0 -90
- package/tools/cli.js +0 -152
- package/tools/installer/README.md +0 -8
- package/tools/installer/bin/bmad.js +0 -585
- package/tools/installer/config/ide-agent-config.yaml +0 -58
- package/tools/installer/config/install.config.yaml +0 -123
- package/tools/installer/lib/config-loader.js +0 -257
- package/tools/installer/lib/file-manager.js +0 -389
- package/tools/installer/lib/ide-base-setup.js +0 -228
- package/tools/installer/lib/ide-setup.js +0 -1441
- package/tools/installer/lib/installer.js +0 -1995
- package/tools/installer/lib/memory-profiler.js +0 -225
- package/tools/installer/lib/module-manager.js +0 -114
- package/tools/installer/lib/resource-locator.js +0 -308
- package/tools/installer/package.json +0 -44
- package/tools/lib/dependency-resolver.js +0 -175
- package/tools/lib/yaml-utils.js +0 -29
- package/tools/md-assets/web-agent-startup-instructions.md +0 -39
- package/tools/preview-release-notes.js +0 -66
- package/tools/shared/bannerArt.js +0 -105
- package/tools/sync-installer-version.js +0 -32
- package/tools/update-expansion-version.js +0 -53
- package/tools/upgraders/v3-to-v4-upgrader.js +0 -672
- package/tools/version-bump.js +0 -94
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Senior Developer Review - Workflow Instructions
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.md</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This workflow performs a Senior Developer Review on a story flagged Ready for Review, appends structured review notes, and can update the story status based on the outcome.</critical>
|
|
7
|
+
<critical>Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery of the target story fails, HALT with a clear message to provide 'story_path' or 'story_dir'.</critical>
|
|
8
|
+
<critical>Only modify the story file in these areas: Status (optional per settings), Dev Agent Record (Completion Notes), File List (if corrections are needed), Change Log, and the appended "Senior Developer Review (AI)" section at the end of the document.</critical>
|
|
9
|
+
<critical>Execute ALL steps in exact order; do NOT skip steps</critical>
|
|
10
|
+
|
|
11
|
+
<workflow>
|
|
12
|
+
|
|
13
|
+
<step n="1" goal="Locate story and verify review status">
|
|
14
|
+
<action>If {{story_path}} was provided → use it. Else auto-discover from {{story_dir}} by listing files matching pattern: "story-*.md" (recursive), sort by last modified (newest first), present top {{story_selection_limit}}.</action>
|
|
15
|
+
<ask optional="true" if="{{non_interactive}} == false">Select a story (1-{{story_selection_limit}}) or enter a path:</ask>
|
|
16
|
+
<action>Resolve {{story_path}} and read the COMPLETE file.</action>
|
|
17
|
+
<action>Extract {{epic_num}} and {{story_num}} from filename (e.g., story-2.3.*.md) and story metadata if available.</action>
|
|
18
|
+
<action>Parse sections: Status, Story, Acceptance Criteria, Tasks/Subtasks (and completion states), Dev Notes, Dev Agent Record (Context Reference, Completion Notes, File List), Change Log.</action>
|
|
19
|
+
<check>If Status is not one of {{allow_status_values}} → HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</check>
|
|
20
|
+
<check>If story cannot be read → HALT.</check>
|
|
21
|
+
</step>
|
|
22
|
+
|
|
23
|
+
<step n="2" goal="Resolve context and specification inputs">
|
|
24
|
+
<action>Locate Story Context: Under Dev Agent Record → Context Reference, read referenced path(s). If missing and {{auto_discover_context}}: search {{output_folder}} for files named "story-context-{{epic_num}}.{{story_num}}*.xml"; pick the most recent.</action>
|
|
25
|
+
<check>If no context found → Continue but record a WARNING in review notes: "No Story Context found".</check>
|
|
26
|
+
<action>Locate Epic Tech Spec: If {{auto_discover_tech_spec}}, search {{tech_spec_search_dir}} with glob {{tech_spec_glob_template}} (resolve {{epic_num}}); else use provided input.</action>
|
|
27
|
+
<check>If no tech spec found → Continue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</check>
|
|
28
|
+
<action>Load architecture/standards docs: For each file name in {{arch_docs_file_names}} within {{arch_docs_search_dirs}}, read if exists. Collect any testing, coding standards, security, and architectural patterns.</action>
|
|
29
|
+
</step>
|
|
30
|
+
|
|
31
|
+
<step n="3" goal="Detect tech stack and establish best-practice reference set">
|
|
32
|
+
<action>Detect primary ecosystem(s) by scanning for manifests (e.g., package.json, pyproject.toml, go.mod, Dockerfile). Record key frameworks (e.g., Node/Express, React/Vue, Python/FastAPI, etc.).</action>
|
|
33
|
+
<action>If {{enable_mcp_doc_search}} and MCP servers are available → Use them to search for up-to-date best practices, security advisories, and framework-specific guidance relevant to the detected stack and the story's domain.</action>
|
|
34
|
+
<action>If MCP is unavailable or insufficient and {{enable_web_fallback}} → Perform targeted web searches and fetch authoritative references (framework docs, OWASP, language style guides). Prefer official documentation and widely-recognized standards.</action>
|
|
35
|
+
<action>Synthesize a concise "Best-Practices and References" note capturing any updates or considerations that should influence the review (cite links and versions if available).</action>
|
|
36
|
+
</step>
|
|
37
|
+
|
|
38
|
+
<step n="4" goal="Assess implementation against acceptance criteria and specs">
|
|
39
|
+
<action>From the story, read Acceptance Criteria and Tasks/Subtasks with their completion state.</action>
|
|
40
|
+
<action>From Dev Agent Record → File List, compile list of changed/added files. If File List is missing or clearly incomplete, search repo for recent changes relevant to the story scope (heuristics: filenames matching components/services/routes/tests inferred from ACs/tasks).</action>
|
|
41
|
+
<action>Cross-check epic tech-spec requirements and architecture constraints against the implementation intent in files.</action>
|
|
42
|
+
<action>For each acceptance criterion, verify there is evidence of implementation and corresponding tests (unit/integration/E2E as applicable). Note any gaps explicitly.</action>
|
|
43
|
+
<check>If critical architecture constraints are violated (e.g., layering, dependency rules) → flag as High severity finding.</check>
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
<step n="5" goal="Perform code quality and risk review">
|
|
47
|
+
<action>For each changed file, skim for common issues appropriate to the stack: error handling, input validation, logging, dependency injection, thread-safety/async correctness, resource cleanup, performance anti-patterns.</action>
|
|
48
|
+
<action>Perform security review: injection risks, authZ/authN handling, secret management, unsafe defaults, unvalidated redirects, CORS misconfig, dependency vulnerabilities (based on manifests).</action>
|
|
49
|
+
<action>Check tests quality: assertions are meaningful, edge cases covered, deterministic behavior, proper fixtures, no flakiness patterns.</action>
|
|
50
|
+
<action>Capture concrete, actionable suggestions with severity (High/Med/Low) and rationale. When possible, suggest specific code-level changes (filenames + line ranges) without rewriting large sections.</action>
|
|
51
|
+
</step>
|
|
52
|
+
|
|
53
|
+
<step n="6" goal="Decide review outcome and prepare notes">
|
|
54
|
+
<action>Determine outcome: Approve, Changes Requested, or Blocked.</action>
|
|
55
|
+
<action>Prepare a structured review report with sections: Summary, Outcome, Key Findings (by severity), Acceptance Criteria Coverage, Test Coverage and Gaps, Architectural Alignment, Security Notes, Best-Practices and References, Action Items.</action>
|
|
56
|
+
<action>For Action Items, use imperative phrasing and map each to related ACs or files. Include suggested owners if clear.</action>
|
|
57
|
+
</step>
|
|
58
|
+
|
|
59
|
+
<step n="7" goal="Append review to story and update metadata">
|
|
60
|
+
<action>Open {{story_path}} and append a new section at the end titled exactly: "Senior Developer Review (AI)".</action>
|
|
61
|
+
<action>Insert subsections:
|
|
62
|
+
- Reviewer: {{user_name}}
|
|
63
|
+
- Date: {{date}}
|
|
64
|
+
- Outcome: (Approve | Changes Requested | Blocked)
|
|
65
|
+
- Summary
|
|
66
|
+
- Key Findings
|
|
67
|
+
- Acceptance Criteria Coverage
|
|
68
|
+
- Test Coverage and Gaps
|
|
69
|
+
- Architectural Alignment
|
|
70
|
+
- Security Notes
|
|
71
|
+
- Best-Practices and References (with links)
|
|
72
|
+
- Action Items
|
|
73
|
+
</action>
|
|
74
|
+
<action>Add a Change Log entry with date, version bump if applicable, and description: "Senior Developer Review notes appended".</action>
|
|
75
|
+
<action>If {{update_status_on_result}} is true: update Status to {{status_on_approve}} when approved; to {{status_on_changes_requested}} when changes requested; otherwise leave unchanged.</action>
|
|
76
|
+
<action>Save the story file.</action>
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step n="8" goal="Persist action items to tasks/backlog/epic">
|
|
80
|
+
<action>Normalize Action Items into a structured list: description, severity (High/Med/Low), type (Bug/TechDebt/Enhancement), suggested owner (if known), related AC/file references.</action>
|
|
81
|
+
<action if="{{persist_action_items}} == true and 'story_tasks' in {{persist_targets}}">
|
|
82
|
+
Append under the story's "Tasks / Subtasks" a new subsection titled "Review Follow-ups (AI)", adding each item as an unchecked checkbox in imperative form, prefixed with "[AI-Review]" and severity. Example: "- [ ] [AI-Review][High] Add input validation on server route /api/x (AC #2)".
|
|
83
|
+
</action>
|
|
84
|
+
<ask optional="true" if="{{non_interactive}} == false">Confirm adding follow-ups into story Tasks/Subtasks. Proceed?</ask>
|
|
85
|
+
<action if="{{persist_action_items}} == true and 'backlog_file' in {{persist_targets}}">
|
|
86
|
+
If {{backlog_file}} does not exist, copy {installed_path}/backlog_template.md to {{backlog_file}} location.
|
|
87
|
+
Append a row per action item with Date={{date}}, Story={{epic_num}}.{{story_num}}, Epic={{epic_num}}, Type, Severity, Owner (or "TBD"), Status="Open", Notes with short context and file refs.
|
|
88
|
+
</action>
|
|
89
|
+
<action if="{{persist_action_items}} == true and ('epic_followups' in {{persist_targets}} or {{update_epic_followups}} == true)">
|
|
90
|
+
If an epic Tech Spec was found: open it and create (if missing) a section titled "{{epic_followups_section_title}}". Append a bullet list of action items scoped to this epic with references back to Story {{epic_num}}.{{story_num}}.
|
|
91
|
+
</action>
|
|
92
|
+
<action>Save modified files.</action>
|
|
93
|
+
<action>Optionally invoke tests or linters to verify quick fixes if any were applied as part of review (requires user approval for any dependency changes).</action>
|
|
94
|
+
</step>
|
|
95
|
+
|
|
96
|
+
<step n="9" goal="Validation and completion">
|
|
97
|
+
<invoke-task>Run validation checklist at {installed_path}/checklist.md using {project-root}/bmad/core/tasks/validate-workflow.md</invoke-task>
|
|
98
|
+
<action>Report workflow completion.</action>
|
|
99
|
+
</step> <step n="1" goal="Locate story and verify review status">
|
|
100
|
+
<action>If {{story_path}} was provided → use it. Else auto-discover from {{story_dir}} by listing files matching pattern: "story-*.md" (recursive), sort by last modified (newest first), present top {{story_selection_limit}}.</action>
|
|
101
|
+
<ask optional="true" if="{{non_interactive}} == false">Select a story (1-{{story_selection_limit}}) or enter a path:</ask>
|
|
102
|
+
<action>Resolve {{story_path}} and read the COMPLETE file.</action>
|
|
103
|
+
<action>Extract {{epic_num}} and {{story_num}} from filename (e.g., story-2.3.*.md) and story metadata if available.</action>
|
|
104
|
+
<action>Parse sections: Status, Story, Acceptance Criteria, Tasks/Subtasks (and completion states), Dev Notes, Dev Agent Record (Context Reference, Completion Notes, File List), Change Log.</action>
|
|
105
|
+
<check>If Status is not one of {{allow_status_values}} → HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</check>
|
|
106
|
+
<check>If story cannot be read → HALT.</check>
|
|
107
|
+
</step>
|
|
108
|
+
|
|
109
|
+
<step n="2" goal="Resolve context and specification inputs">
|
|
110
|
+
<action>Locate Story Context: Under Dev Agent Record → Context Reference, read referenced path(s). If missing and {{auto_discover_context}}: search {{output_folder}} for files named "story-context-{{epic_num}}.{{story_num}}*.xml"; pick the most recent.</action>
|
|
111
|
+
<check>If no context found → Continue but record a WARNING in review notes: "No Story Context found".</check>
|
|
112
|
+
<action>Locate Epic Tech Spec: If {{auto_discover_tech_spec}}, search {{tech_spec_search_dir}} with glob {{tech_spec_glob_template}} (resolve {{epic_num}}); else use provided input.</action>
|
|
113
|
+
<check>If no tech spec found → Continue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</check>
|
|
114
|
+
<action>Load architecture/standards docs: For each file name in {{arch_docs_file_names}} within {{arch_docs_search_dirs}}, read if exists. Collect any testing, coding standards, security, and architectural patterns.</action>
|
|
115
|
+
</step>
|
|
116
|
+
|
|
117
|
+
<step n="3" goal="Detect tech stack and establish best-practice reference set">
|
|
118
|
+
<action>Detect primary ecosystem(s) by scanning for manifests (e.g., package.json, pyproject.toml, go.mod, Dockerfile). Record key frameworks (e.g., Node/Express, React/Vue, Python/FastAPI, etc.).</action>
|
|
119
|
+
<action>If {{enable_mcp_doc_search}} and MCP servers are available → Use them to search for up-to-date best practices, security advisories, and framework-specific guidance relevant to the detected stack and the story's domain.</action>
|
|
120
|
+
<action>If MCP is unavailable or insufficient and {{enable_web_fallback}} → Perform targeted web searches and fetch authoritative references (framework docs, OWASP, language style guides). Prefer official documentation and widely-recognized standards.</action>
|
|
121
|
+
<action>Synthesize a concise "Best-Practices and References" note capturing any updates or considerations that should influence the review (cite links and versions if available).</action>
|
|
122
|
+
</step>
|
|
123
|
+
|
|
124
|
+
<step n="4" goal="Assess implementation against acceptance criteria and specs">
|
|
125
|
+
<action>From the story, read Acceptance Criteria and Tasks/Subtasks with their completion state.</action>
|
|
126
|
+
<action>From Dev Agent Record → File List, compile list of changed/added files. If File List is missing or clearly incomplete, search repo for recent changes relevant to the story scope (heuristics: filenames matching components/services/routes/tests inferred from ACs/tasks).</action>
|
|
127
|
+
<action>Cross-check epic tech-spec requirements and architecture constraints against the implementation intent in files.</action>
|
|
128
|
+
<action>For each acceptance criterion, verify there is evidence of implementation and corresponding tests (unit/integration/E2E as applicable). Note any gaps explicitly.</action>
|
|
129
|
+
<check>If critical architecture constraints are violated (e.g., layering, dependency rules) → flag as High severity finding.</check>
|
|
130
|
+
</step>
|
|
131
|
+
|
|
132
|
+
<step n="5" goal="Perform code quality and risk review">
|
|
133
|
+
<action>For each changed file, skim for common issues appropriate to the stack: error handling, input validation, logging, dependency injection, thread-safety/async correctness, resource cleanup, performance anti-patterns.</action>
|
|
134
|
+
<action>Perform security review: injection risks, authZ/authN handling, secret management, unsafe defaults, unvalidated redirects, CORS misconfig, dependency vulnerabilities (based on manifests).</action>
|
|
135
|
+
<action>Check tests quality: assertions are meaningful, edge cases covered, deterministic behavior, proper fixtures, no flakiness patterns.</action>
|
|
136
|
+
<action>Capture concrete, actionable suggestions with severity (High/Med/Low) and rationale. When possible, suggest specific code-level changes (filenames + line ranges) without rewriting large sections.</action>
|
|
137
|
+
</step>
|
|
138
|
+
|
|
139
|
+
<step n="6" goal="Decide review outcome and prepare notes">
|
|
140
|
+
<action>Determine outcome: Approve, Changes Requested, or Blocked.</action>
|
|
141
|
+
<action>Prepare a structured review report with sections: Summary, Outcome, Key Findings (by severity), Acceptance Criteria Coverage, Test Coverage and Gaps, Architectural Alignment, Security Notes, Best-Practices and References, Action Items.</action>
|
|
142
|
+
<action>For Action Items, use imperative phrasing and map each to related ACs or files. Include suggested owners if clear.</action>
|
|
143
|
+
</step>
|
|
144
|
+
|
|
145
|
+
<step n="7" goal="Append review to story and update metadata">
|
|
146
|
+
<action>Open {{story_path}} and append a new section at the end titled exactly: "Senior Developer Review (AI)".</action>
|
|
147
|
+
<action>Insert subsections:
|
|
148
|
+
- Reviewer: {{user_name}}
|
|
149
|
+
- Date: {{date}}
|
|
150
|
+
- Outcome: (Approve | Changes Requested | Blocked)
|
|
151
|
+
- Summary
|
|
152
|
+
- Key Findings
|
|
153
|
+
- Acceptance Criteria Coverage
|
|
154
|
+
- Test Coverage and Gaps
|
|
155
|
+
- Architectural Alignment
|
|
156
|
+
- Security Notes
|
|
157
|
+
- Best-Practices and References (with links)
|
|
158
|
+
- Action Items
|
|
159
|
+
</action>
|
|
160
|
+
<action>Add a Change Log entry with date, version bump if applicable, and description: "Senior Developer Review notes appended".</action>
|
|
161
|
+
<action>If {{update_status_on_result}} is true: update Status to {{status_on_approve}} when approved; to {{status_on_changes_requested}} when changes requested; otherwise leave unchanged.</action>
|
|
162
|
+
<action>Save the story file.</action>
|
|
163
|
+
</step>
|
|
164
|
+
|
|
165
|
+
<step n="8" goal="Follow-up options" optional="true">
|
|
166
|
+
<action>If action items are straightforward and within safety bounds, ASK whether to create corresponding unchecked items under "Tasks / Subtasks" so the `dev-story` workflow can implement them next. If approved, append them under an Action Items subsection.</action>
|
|
167
|
+
<action>Optionally invoke tests or linters to verify quick fixes if any were applied as part of review (requires user approval for any dependency changes).</action>
|
|
168
|
+
</step>
|
|
169
|
+
|
|
170
|
+
<step n="9" goal="Validation and completion">
|
|
171
|
+
<invoke-task>Run validation checklist at {installed_path}/checklist.md using {project-root}/bmad/core/tasks/validate-workflow.md</invoke-task>
|
|
172
|
+
<action>Report workflow completion.</action>
|
|
173
|
+
</step>
|
|
174
|
+
|
|
175
|
+
</workflow>
|
|
176
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Review Story Workflow
|
|
2
|
+
name: review-story
|
|
3
|
+
description: "Perform a Senior Developer Review on a completed story flagged Ready for Review, leveraging story-context, epic tech-spec, repo docs, MCP servers for latest best-practices, and web search as fallback. Appends structured review notes to the story."
|
|
4
|
+
author: "BMad"
|
|
5
|
+
|
|
6
|
+
# Critical variables from config
|
|
7
|
+
config_source: "{project-root}/bmad/bmm/config.yaml"
|
|
8
|
+
output_folder: "{config_source}:output_folder"
|
|
9
|
+
user_name: "{config_source}:user_name"
|
|
10
|
+
communication_language: "{config_source}:communication_language"
|
|
11
|
+
date: system-generated
|
|
12
|
+
|
|
13
|
+
# Workflow components
|
|
14
|
+
installed_path: "{project-root}/bmad/bmm/workflows/review-story"
|
|
15
|
+
instructions: "{installed_path}/instructions.md"
|
|
16
|
+
validation: "{installed_path}/checklist.md"
|
|
17
|
+
|
|
18
|
+
# This is an action workflow (no output template document)
|
|
19
|
+
template: false
|
|
20
|
+
|
|
21
|
+
# Variables (can be provided by caller)
|
|
22
|
+
variables:
|
|
23
|
+
story_path: "" # Explicit path to a story markdown file
|
|
24
|
+
story_dir: "{config_source}:dev_story_location" # Directory containing story markdown files
|
|
25
|
+
story_selection_limit: 10
|
|
26
|
+
allow_status_values: |
|
|
27
|
+
- Ready for Review
|
|
28
|
+
- Review
|
|
29
|
+
auto_discover_context: true
|
|
30
|
+
auto_discover_tech_spec: true
|
|
31
|
+
tech_spec_search_dir: "{project-root}/docs"
|
|
32
|
+
tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md"
|
|
33
|
+
arch_docs_search_dirs: |
|
|
34
|
+
- "{project-root}/docs"
|
|
35
|
+
- "{output_folder}"
|
|
36
|
+
arch_docs_file_names: |
|
|
37
|
+
- prd.md
|
|
38
|
+
- epics.md
|
|
39
|
+
- high-level-architecture.md
|
|
40
|
+
- tech-stack.md
|
|
41
|
+
- unified-project-structure.md
|
|
42
|
+
- coding-standards.md
|
|
43
|
+
- testing-strategy.md
|
|
44
|
+
- security-guidelines.md
|
|
45
|
+
- backend-architecture.md
|
|
46
|
+
- frontend-architecture.md
|
|
47
|
+
- data-models.md
|
|
48
|
+
- database-schema.md
|
|
49
|
+
- rest-api-spec.md
|
|
50
|
+
- external-apis.md
|
|
51
|
+
enable_mcp_doc_search: true # Prefer enabled MCP servers for doc/best-practice lookup
|
|
52
|
+
enable_web_fallback: true # Fallback to web search/read-url if MCP not available
|
|
53
|
+
update_status_on_result: false # If true, update story Status based on review outcome
|
|
54
|
+
status_on_approve: "Done"
|
|
55
|
+
status_on_changes_requested: "InProgress"
|
|
56
|
+
# Persistence controls for review action items and notes
|
|
57
|
+
persist_action_items: true
|
|
58
|
+
# Valid targets: story_tasks, story_review_section, backlog_file, epic_followups
|
|
59
|
+
persist_targets: |
|
|
60
|
+
- story_review_section
|
|
61
|
+
- story_tasks
|
|
62
|
+
- backlog_file
|
|
63
|
+
- epic_followups
|
|
64
|
+
backlog_file: "{project-root}/docs/backlog.md"
|
|
65
|
+
update_epic_followups: true
|
|
66
|
+
epic_followups_section_title: "Post-Review Follow-ups"
|
|
67
|
+
create_github_issues: false
|
|
68
|
+
non_interactive: true
|
|
69
|
+
|
|
70
|
+
# Recommended inputs
|
|
71
|
+
recommended_inputs:
|
|
72
|
+
- story_markdown: "Path to the story markdown file flagged Ready for Review"
|
|
73
|
+
- tech_spec: "Epic technical specification document (auto-discovered if omitted)"
|
|
74
|
+
- story_context: "Story Context XML/JSON path (auto-discovered if omitted)"
|
|
75
|
+
|
|
76
|
+
# Required tools (conceptual; executor should provide equivalents)
|
|
77
|
+
required_tools:
|
|
78
|
+
- list_files
|
|
79
|
+
- file_info
|
|
80
|
+
- read_file
|
|
81
|
+
- write_file
|
|
82
|
+
- search_repo
|
|
83
|
+
- parse_markdown
|
|
84
|
+
- glob
|
|
85
|
+
- mcp_doc_search # Use available MCP servers to search docs/best-practices
|
|
86
|
+
- web_search # Fallback research
|
|
87
|
+
- read_url # Fetch references
|
|
88
|
+
|
|
89
|
+
tags:
|
|
90
|
+
- review
|
|
91
|
+
- code-review
|
|
92
|
+
- quality
|
|
93
|
+
- testing
|
|
94
|
+
- bmad-v6
|
|
95
|
+
|
|
96
|
+
execution_hints:
|
|
97
|
+
interactive: false # Minimize prompts; intended to run deterministically
|
|
98
|
+
autonomous: true # Proceed without user input unless blocked
|
|
99
|
+
iterative: true
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# Story Context Assembly Workflow
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Assembles a dynamic Story Context XML by pulling latest documentation and existing code/library artifacts relevant to a drafted story. Creates comprehensive development context for AI agents and developers working on specific stories.
|
|
6
|
+
|
|
7
|
+
## Key Features
|
|
8
|
+
|
|
9
|
+
- **Automated Context Discovery** - Scans documentation and codebase for relevant artifacts
|
|
10
|
+
- **XML Output Format** - Structured context optimized for LLM consumption
|
|
11
|
+
- **Dependency Detection** - Identifies frameworks, packages, and technical dependencies
|
|
12
|
+
- **Interface Mapping** - Locates existing APIs and interfaces to reuse
|
|
13
|
+
- **Testing Integration** - Includes testing standards and generates test ideas
|
|
14
|
+
- **Status Tracking** - Updates story status and maintains context references
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### Basic Invocation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
workflow story-context
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### With Specific Story
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Process specific story file
|
|
28
|
+
workflow story-context --input /path/to/story.md
|
|
29
|
+
|
|
30
|
+
# Using story path variable
|
|
31
|
+
workflow story-context --story_path "docs/stories/1.2.feature-name.md"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Configuration
|
|
35
|
+
|
|
36
|
+
- **story_path**: Path to target story markdown file (defaults to latest.md)
|
|
37
|
+
- **auto_update_status**: Whether to automatically update story status (default: false)
|
|
38
|
+
|
|
39
|
+
## Workflow Structure
|
|
40
|
+
|
|
41
|
+
### Files Included
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
story-context/
|
|
45
|
+
├── workflow.yaml # Configuration and metadata
|
|
46
|
+
├── instructions.md # Step-by-step execution guide
|
|
47
|
+
├── context-template.xml # XML structure template
|
|
48
|
+
├── checklist.md # Validation criteria
|
|
49
|
+
└── README.md # This file
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Workflow Process
|
|
53
|
+
|
|
54
|
+
### Phase 1: Story Analysis (Steps 1-2)
|
|
55
|
+
|
|
56
|
+
- **Story Location**: Finds and loads target story markdown file
|
|
57
|
+
- **Content Parsing**: Extracts epic ID, story ID, title, acceptance criteria, and tasks
|
|
58
|
+
- **Template Initialization**: Creates initial XML context structure
|
|
59
|
+
- **User Story Extraction**: Parses "As a... I want... So that..." components
|
|
60
|
+
|
|
61
|
+
### Phase 2: Documentation Discovery (Step 3)
|
|
62
|
+
|
|
63
|
+
- **Keyword Analysis**: Identifies relevant terms from story content
|
|
64
|
+
- **Document Scanning**: Searches docs and module documentation
|
|
65
|
+
- **Authority Prioritization**: Prefers PRDs, architecture docs, and specs
|
|
66
|
+
- **Context Extraction**: Captures relevant sections with snippets
|
|
67
|
+
|
|
68
|
+
### Phase 3: Code Analysis (Step 4)
|
|
69
|
+
|
|
70
|
+
- **Symbol Search**: Finds relevant modules, functions, and components
|
|
71
|
+
- **Interface Identification**: Locates existing APIs and interfaces
|
|
72
|
+
- **Constraint Extraction**: Identifies development patterns and requirements
|
|
73
|
+
- **Reuse Opportunities**: Highlights existing code to leverage
|
|
74
|
+
|
|
75
|
+
### Phase 4: Dependency Analysis (Step 5)
|
|
76
|
+
|
|
77
|
+
- **Manifest Detection**: Scans for package.json, requirements.txt, go.mod, etc.
|
|
78
|
+
- **Framework Identification**: Identifies Unity, Node.js, Python, Go ecosystems
|
|
79
|
+
- **Version Tracking**: Captures dependency versions where available
|
|
80
|
+
- **Configuration Discovery**: Finds relevant project configurations
|
|
81
|
+
|
|
82
|
+
### Phase 5: Testing Context (Step 6)
|
|
83
|
+
|
|
84
|
+
- **Standards Extraction**: Identifies testing frameworks and patterns
|
|
85
|
+
- **Location Mapping**: Documents where tests should be placed
|
|
86
|
+
- **Test Ideas**: Generates initial test concepts for acceptance criteria
|
|
87
|
+
- **Framework Integration**: Links to existing test infrastructure
|
|
88
|
+
|
|
89
|
+
### Phase 6: Validation and Updates (Steps 7-8)
|
|
90
|
+
|
|
91
|
+
- **XML Validation**: Ensures proper structure and completeness
|
|
92
|
+
- **Status Updates**: Changes story status from Draft to ContextReadyDraft
|
|
93
|
+
- **Reference Tracking**: Adds context file reference to story document
|
|
94
|
+
- **Quality Assurance**: Validates against workflow checklist
|
|
95
|
+
|
|
96
|
+
## Output
|
|
97
|
+
|
|
98
|
+
### Generated Files
|
|
99
|
+
|
|
100
|
+
- **Primary output**: story-context-{epic_id}.{story_id}-{date}.xml
|
|
101
|
+
- **Story updates**: Modified original story file with context references
|
|
102
|
+
|
|
103
|
+
### Output Structure
|
|
104
|
+
|
|
105
|
+
```xml
|
|
106
|
+
<storyContext>
|
|
107
|
+
<story>
|
|
108
|
+
<basicInfo>
|
|
109
|
+
<epicId>...</epicId>
|
|
110
|
+
<storyId>...</storyId>
|
|
111
|
+
<title>...</title>
|
|
112
|
+
<status>...</status>
|
|
113
|
+
</basicInfo>
|
|
114
|
+
<userStory>
|
|
115
|
+
<asA>...</asA>
|
|
116
|
+
<iWant>...</iWant>
|
|
117
|
+
<soThat>...</soThat>
|
|
118
|
+
</userStory>
|
|
119
|
+
<acceptanceCriteria>
|
|
120
|
+
<criterion id="1">...</criterion>
|
|
121
|
+
</acceptanceCriteria>
|
|
122
|
+
<tasks>
|
|
123
|
+
<task>...</task>
|
|
124
|
+
</tasks>
|
|
125
|
+
</story>
|
|
126
|
+
|
|
127
|
+
<artifacts>
|
|
128
|
+
<docs>
|
|
129
|
+
<doc path="..." title="..." section="..." snippet="..."/>
|
|
130
|
+
</docs>
|
|
131
|
+
<code>
|
|
132
|
+
<file path="..." kind="..." symbol="..." lines="..." reason="..."/>
|
|
133
|
+
</code>
|
|
134
|
+
<dependencies>
|
|
135
|
+
<node>
|
|
136
|
+
<package name="..." version="..."/>
|
|
137
|
+
</node>
|
|
138
|
+
</dependencies>
|
|
139
|
+
</artifacts>
|
|
140
|
+
|
|
141
|
+
<interfaces>
|
|
142
|
+
<interface name="..." kind="..." signature="..." path="..."/>
|
|
143
|
+
</interfaces>
|
|
144
|
+
|
|
145
|
+
<constraints>
|
|
146
|
+
<constraint>...</constraint>
|
|
147
|
+
</constraints>
|
|
148
|
+
|
|
149
|
+
<tests>
|
|
150
|
+
<standards>...</standards>
|
|
151
|
+
<locations>
|
|
152
|
+
<location>...</location>
|
|
153
|
+
</locations>
|
|
154
|
+
<ideas>
|
|
155
|
+
<idea ac="1">...</idea>
|
|
156
|
+
</ideas>
|
|
157
|
+
</tests>
|
|
158
|
+
</storyContext>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Requirements
|
|
162
|
+
|
|
163
|
+
- **Story File**: Valid story markdown with proper structure (epic.story.title.md format)
|
|
164
|
+
- **Repository Access**: Ability to scan documentation and source code
|
|
165
|
+
- **Documentation**: Project documentation in standard locations (docs/, src/, etc.)
|
|
166
|
+
|
|
167
|
+
## Best Practices
|
|
168
|
+
|
|
169
|
+
### Before Starting
|
|
170
|
+
|
|
171
|
+
1. **Ensure Story Quality**: Verify story has clear acceptance criteria and tasks
|
|
172
|
+
2. **Update Documentation**: Ensure relevant docs are current and discoverable
|
|
173
|
+
3. **Clean Repository**: Remove obsolete code that might confuse context assembly
|
|
174
|
+
|
|
175
|
+
### During Execution
|
|
176
|
+
|
|
177
|
+
1. **Review Extracted Context**: Verify that discovered artifacts are actually relevant
|
|
178
|
+
2. **Check Interface Accuracy**: Ensure identified APIs and interfaces are current
|
|
179
|
+
3. **Validate Dependencies**: Confirm dependency information matches project state
|
|
180
|
+
|
|
181
|
+
### After Completion
|
|
182
|
+
|
|
183
|
+
1. **Review XML Output**: Validate the generated context makes sense
|
|
184
|
+
2. **Test with Developer**: Have a developer review context usefulness
|
|
185
|
+
3. **Update Story Status**: Verify story status was properly updated
|
|
186
|
+
|
|
187
|
+
## Troubleshooting
|
|
188
|
+
|
|
189
|
+
### Common Issues
|
|
190
|
+
|
|
191
|
+
**Issue**: Context contains irrelevant or outdated information
|
|
192
|
+
|
|
193
|
+
- **Solution**: Review keyword extraction and document filtering logic
|
|
194
|
+
- **Check**: Ensure story title and acceptance criteria are specific and clear
|
|
195
|
+
|
|
196
|
+
**Issue**: Missing relevant code or interfaces
|
|
197
|
+
|
|
198
|
+
- **Solution**: Verify code search patterns and symbol extraction
|
|
199
|
+
- **Check**: Ensure relevant code follows project naming conventions
|
|
200
|
+
|
|
201
|
+
**Issue**: Dependency information is incomplete or wrong
|
|
202
|
+
|
|
203
|
+
- **Solution**: Check for multiple package manifests or unusual project structure
|
|
204
|
+
- **Check**: Verify dependency files are in expected locations and formats
|
|
205
|
+
|
|
206
|
+
## Customization
|
|
207
|
+
|
|
208
|
+
To customize this workflow:
|
|
209
|
+
|
|
210
|
+
1. **Modify Search Patterns**: Update instructions.md to adjust code and doc discovery
|
|
211
|
+
2. **Extend XML Schema**: Customize context-template.xml for additional context types
|
|
212
|
+
3. **Add Validation**: Extend checklist.md with project-specific quality criteria
|
|
213
|
+
4. **Configure Dependencies**: Adjust dependency detection for specific tech stacks
|
|
214
|
+
|
|
215
|
+
## Version History
|
|
216
|
+
|
|
217
|
+
- **v6.0.0** - XML-based context assembly with comprehensive artifact discovery
|
|
218
|
+
- Multi-ecosystem dependency detection
|
|
219
|
+
- Interface and constraint extraction
|
|
220
|
+
- Testing context integration
|
|
221
|
+
- Story status management
|
|
222
|
+
|
|
223
|
+
## Support
|
|
224
|
+
|
|
225
|
+
For issues or questions:
|
|
226
|
+
|
|
227
|
+
- Review the workflow creation guide at `/bmad/bmb/workflows/build-workflow/workflow-creation-guide.md`
|
|
228
|
+
- Validate output using `checklist.md`
|
|
229
|
+
- Ensure story files follow expected markdown structure
|
|
230
|
+
- Check that repository structure supports automated discovery
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
_Part of the BMad Method v6 - BMM (Method) Module_
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Story Context Assembly Checklist
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<checklist id="bmad/bmm/workflows/4-implementation/story-context/checklist">
|
|
5
|
+
<item>Story fields (asA/iWant/soThat) captured</item>
|
|
6
|
+
<item>Acceptance criteria list matches story draft exactly (no invention)</item>
|
|
7
|
+
<item>Tasks/subtasks captured as task list</item>
|
|
8
|
+
<item>Relevant docs (5-15) included with path and snippets</item>
|
|
9
|
+
<item>Relevant code references included with reason and line hints</item>
|
|
10
|
+
<item>Interfaces/API contracts extracted if applicable</item>
|
|
11
|
+
<item>Constraints include applicable dev rules and patterns</item>
|
|
12
|
+
<item>Dependencies detected from manifests and frameworks</item>
|
|
13
|
+
<item>Testing standards and locations populated</item>
|
|
14
|
+
<item>XML structure follows story-context template format</item>
|
|
15
|
+
</checklist>
|
|
16
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<story-context id="bmad/bmm/workflows/4-implementation/story-context/template" v="1.0">
|
|
2
|
+
<metadata>
|
|
3
|
+
<epicId>{{epic_id}}</epicId>
|
|
4
|
+
<storyId>{{story_id}}</storyId>
|
|
5
|
+
<title>{{story_title}}</title>
|
|
6
|
+
<status>{{story_status}}</status>
|
|
7
|
+
<generatedAt>{{date}}</generatedAt>
|
|
8
|
+
<generator>BMAD Story Context Workflow</generator>
|
|
9
|
+
<sourceStoryPath>{{story_path}}</sourceStoryPath>
|
|
10
|
+
</metadata>
|
|
11
|
+
|
|
12
|
+
<story>
|
|
13
|
+
<asA>{{as_a}}</asA>
|
|
14
|
+
<iWant>{{i_want}}</iWant>
|
|
15
|
+
<soThat>{{so_that}}</soThat>
|
|
16
|
+
<tasks>{{story_tasks}}</tasks>
|
|
17
|
+
</story>
|
|
18
|
+
|
|
19
|
+
<acceptanceCriteria>{{acceptance_criteria}}</acceptanceCriteria>
|
|
20
|
+
|
|
21
|
+
<artifacts>
|
|
22
|
+
<docs>{{docs_artifacts}}</docs>
|
|
23
|
+
<code>{{code_artifacts}}</code>
|
|
24
|
+
<dependencies>{{dependencies_artifacts}}</dependencies>
|
|
25
|
+
</artifacts>
|
|
26
|
+
|
|
27
|
+
<constraints>{{constraints}}</constraints>
|
|
28
|
+
<interfaces>{{interfaces}}</interfaces>
|
|
29
|
+
<tests>
|
|
30
|
+
<standards>{{test_standards}}</standards>
|
|
31
|
+
<locations>{{test_locations}}</locations>
|
|
32
|
+
<ideas>{{test_ideas}}</ideas>
|
|
33
|
+
</tests>
|
|
34
|
+
</story-context>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<!-- BMAD BMM Story Context Assembly Instructions (v6) -->
|
|
2
|
+
|
|
3
|
+
```xml
|
|
4
|
+
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.md</critical>
|
|
5
|
+
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
|
6
|
+
<critical>This workflow assembles a Story Context XML for a single user story by extracting ACs, tasks, relevant docs/code, interfaces, constraints, and testing guidance to support implementation.</critical>
|
|
7
|
+
<critical>Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery fails, HALT and request 'story_path' or 'story_dir'.</critical>
|
|
8
|
+
|
|
9
|
+
<workflow>
|
|
10
|
+
<step n="1" goal="Locate story and initialize output">
|
|
11
|
+
<action>If {{story_path}} provided and valid → use it; else auto-discover from {{story_dir}}.</action>
|
|
12
|
+
<action>Auto-discovery: read {{story_dir}} (dev_story_location). If invalid/missing or contains no .md files, ASK for a story file path or directory to scan.</action>
|
|
13
|
+
<action>If a directory is provided, list markdown files named "story-*.md" recursively; sort by last modified time; display top {{story_selection_limit}} with index, filename, path, modified time.</action>
|
|
14
|
+
<ask optional="true" if="{{non_interactive}} == false">"Select a story (1-{{story_selection_limit}}) or enter a path:"</ask>
|
|
15
|
+
<action>If {{non_interactive}} == true: choose the most recently modified story automatically. If none found, HALT with a clear message to provide 'story_path' or 'story_dir'. Else resolve selection into {{story_path}} and READ COMPLETE file.</action>
|
|
16
|
+
<action>Extract {{epic_id}}, {{story_id}}, {{story_title}}, {{story_status}} from filename/content; parse sections: Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes.</action>
|
|
17
|
+
<action>Extract user story fields (asA, iWant, soThat).</action>
|
|
18
|
+
<action>Initialize output by writing template to {default_output_file}.</action>
|
|
19
|
+
<template-output file="{default_output_file}">as_a</template-output>
|
|
20
|
+
<template-output file="{default_output_file}">i_want</template-output>
|
|
21
|
+
<template-output file="{default_output_file}">so_that</template-output>
|
|
22
|
+
</step>
|
|
23
|
+
|
|
24
|
+
<step n="2" goal="Collect relevant documentation">
|
|
25
|
+
<action>Scan docs and src module docs for items relevant to this story's domain: search keywords from story title, ACs, and tasks<</action>
|
|
26
|
+
<action>Prefer authoritative sources: PRD, Architecture, Front-end Spec, Testing standards, module-specific docs.</action>
|
|
27
|
+
<template-output file="{default_output_file}">
|
|
28
|
+
Add artifacts.docs entries with {path, title, section, snippet} (NO invention)
|
|
29
|
+
</template-output>
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step n="3" goal="Analyze existing code, interfaces, and constraints">
|
|
33
|
+
<action>Search source tree for modules, files, and symbols matching story intent and AC keywords (controllers, services, components, tests).</action>
|
|
34
|
+
<action>Identify existing interfaces/APIs the story should reuse rather than recreate.</action>
|
|
35
|
+
<action>Extract development constraints from Dev Notes and architecture (patterns, layers, testing requirements).</action>
|
|
36
|
+
<template-output file="{default_output_file}">
|
|
37
|
+
Add artifacts.code entries with {path, kind, symbol, lines, reason}; include a brief reason explaining relevance to the story
|
|
38
|
+
Populate interfaces with any API/interface signatures that the developer must call (name, kind, signature, path)
|
|
39
|
+
Populate constraints with development rules extracted from Dev Notes and architecture (e.g., patterns, layers, testing requirements)
|
|
40
|
+
</template-output>
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step n="4" goal="Gather dependencies and frameworks">
|
|
44
|
+
<action>Detect dependency manifests and frameworks in the repo:
|
|
45
|
+
- Node: package.json (dependencies/devDependencies)
|
|
46
|
+
- Python: pyproject.toml/requirements.txt
|
|
47
|
+
- Go: go.mod
|
|
48
|
+
- Unity: Packages/manifest.json, Assets/, ProjectSettings/
|
|
49
|
+
- Other: list notable frameworks/configs found</action>
|
|
50
|
+
<template-output file="{default_output_file}">
|
|
51
|
+
Populate artifacts.dependencies with keys for detected ecosystems and their packages with version ranges where present
|
|
52
|
+
</template-output>
|
|
53
|
+
</step>
|
|
54
|
+
|
|
55
|
+
<step n="5" goal="Testing standards and ideas">
|
|
56
|
+
<action>From Dev Notes, architecture docs, testing docs, and existing tests, extract testing standards (frameworks, patterns, locations).</action>
|
|
57
|
+
<template-output file="{default_output_file}">
|
|
58
|
+
Populate tests.standards with a concise paragraph
|
|
59
|
+
Populate tests.locations with directories or glob patterns where tests live
|
|
60
|
+
Populate tests.ideas with initial test ideas mapped to acceptance criteria IDs
|
|
61
|
+
</template-output>
|
|
62
|
+
</step>
|
|
63
|
+
|
|
64
|
+
<step n="6" goal="Validate and save">
|
|
65
|
+
<action>Validate output XML structure and content.</action>
|
|
66
|
+
<invoke-task>Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.md</invoke-task>
|
|
67
|
+
</step>
|
|
68
|
+
|
|
69
|
+
<step n="7" goal="Update story status and context reference">
|
|
70
|
+
<action>Open {{story_path}}; if Status == 'Draft' then set to 'ContextReadyDraft'; otherwise leave unchanged.</action>
|
|
71
|
+
<action>Under 'Dev Agent Record' → 'Context Reference' (create if missing), add or update a list item for {default_output_file}.</action>
|
|
72
|
+
<action>Save the story file.</action>
|
|
73
|
+
</step>
|
|
74
|
+
|
|
75
|
+
</workflow>
|
|
76
|
+
```
|