From 7eb52520fa001b98a6827b7f022eb61ee198209a Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Sun, 9 Nov 2025 17:39:05 -0600 Subject: [PATCH] Major Enhancements: - Installation path is now fully configurable, allowing users to specify custom installation directories during setup - Default installation location changed to .bmad (hidden directory) for cleaner project root organization Web Bundle Improvements: - All web bundles (single agent and team) now include party mode support for multi-agent collaboration! - Advanced elicitation capabilities integrated into standalone agents - All bundles enhanced with party mode agent manifests - Added default-party.csv files to bmm, bmgd, and cis module teams - The default party file is what will be used with single agent bundles. teams can customize for different party configurations before web bundling through a setting in the team yaml file - New web bundle outputs for all agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer, game-*, creative-squad) Phase 4 Workflow Updates (In Progress): - Initiated shift to separate phase 4 implementation artifacts from documentation - Phase 4 implementation artifacts (stories, code review, sprint plan, context files) will move to dedicated location outside docs folder - Installer questions and configuration added for artifact path selection - Updated workflow.yaml files for code-review, sprint-planning, story-context, epic-tech-context, and retrospective workflows to support this, but still might require some udpates Additional Changes: - New agent and action command header models for standardization - Enhanced web-bundle-activation-steps fragment - Updated web-bundler.js to support new structure - VS Code settings updated for new .bmad directory - Party mode instructions and workflow enhanced for better orchestration IDE Installer Updates: - Show version number of installer in cli - improved Installer UX - Gemini TOML Improved to have clear loading instructions with @ commands - All tools agent launcher mds improved to use a central file template critical indication isntead of hardcoding in 2 different locations. --- .bmad/_cfg/agent-manifest.csv | 11 + .../agents/bmb-bmad-builder.customize.yaml | 42 + .bmad/_cfg/agents/bmm-analyst.customize.yaml | 42 + .../_cfg/agents/bmm-architect.customize.yaml | 42 + .bmad/_cfg/agents/bmm-dev.customize.yaml | 42 + .bmad/_cfg/agents/bmm-pm.customize.yaml | 42 + .bmad/_cfg/agents/bmm-sm.customize.yaml | 42 + .bmad/_cfg/agents/bmm-tea.customize.yaml | 42 + .../agents/bmm-tech-writer.customize.yaml | 42 + .../agents/bmm-ux-designer.customize.yaml | 42 + .../agents/core-bmad-master.customize.yaml | 42 + .bmad/_cfg/files-manifest.csv | 289 + .bmad/_cfg/ides/claude-code.yaml | 7 + .bmad/_cfg/manifest.yaml | 10 + .bmad/_cfg/task-manifest.csv | 6 + .bmad/_cfg/tool-manifest.csv | 2 + .bmad/_cfg/workflow-manifest.csv | 44 + .bmad/bmb/README.md | 194 + .bmad/bmb/agents/bmad-builder.md | 70 + .bmad/bmb/config.yaml | 16 + .../bmb/workflows/audit-workflow/checklist.md | 143 + .../workflows/audit-workflow/instructions.md | 341 + .../bmb/workflows/audit-workflow/template.md | 118 + .../workflows/audit-workflow/workflow.yaml | 23 + .bmad/bmb/workflows/convert-legacy/README.md | 262 + .../bmb/workflows/convert-legacy/checklist.md | 205 + .../workflows/convert-legacy/instructions.md | 377 + .../workflows/convert-legacy/workflow.yaml | 32 + .bmad/bmb/workflows/create-agent/README.md | 203 + .../create-agent/agent-architecture.md | 419 + .../create-agent/agent-command-patterns.md | 759 + .../bmb/workflows/create-agent/agent-types.md | 292 + .../create-agent/brainstorm-context.md | 174 + .bmad/bmb/workflows/create-agent/checklist.md | 62 + .../create-agent/communication-styles.md | 202 + .../workflows/create-agent/instructions.md | 459 + .../bmb/workflows/create-agent/workflow.yaml | 37 + .bmad/bmb/workflows/create-module/README.md | 229 + .../create-module/brainstorm-context.md | 137 + .../bmb/workflows/create-module/checklist.md | 244 + .../installer-templates/install-config.yaml | 92 + .../installer-templates/installer.js | 231 + .../workflows/create-module/instructions.md | 581 + .../create-module/module-structure.md | 400 + .../bmb/workflows/create-module/workflow.yaml | 42 + .bmad/bmb/workflows/create-workflow/README.md | 277 + .../create-workflow/brainstorm-context.md | 197 + .../workflows/create-workflow/checklist.md | 94 + .../workflows/create-workflow/instructions.md | 724 + .../workflow-creation-guide.md | 1308 ++ .../workflow-template/checklist.md | 24 + .../workflow-template/instructions.md | 13 + .../workflow-template/template.md | 9 + .../workflow-template/workflow.yaml | 39 + .../workflows/create-workflow/workflow.yaml | 40 + .bmad/bmb/workflows/edit-agent/README.md | 112 + .bmad/bmb/workflows/edit-agent/checklist.md | 112 + .../bmb/workflows/edit-agent/instructions.md | 290 + .bmad/bmb/workflows/edit-agent/workflow.yaml | 33 + .bmad/bmb/workflows/edit-module/README.md | 187 + .bmad/bmb/workflows/edit-module/checklist.md | 165 + .../bmb/workflows/edit-module/instructions.md | 339 + .bmad/bmb/workflows/edit-module/workflow.yaml | 34 + .bmad/bmb/workflows/edit-workflow/README.md | 119 + .../bmb/workflows/edit-workflow/checklist.md | 70 + .../workflows/edit-workflow/instructions.md | 342 + .../bmb/workflows/edit-workflow/workflow.yaml | 27 + .bmad/bmb/workflows/module-brief/README.md | 264 + .bmad/bmb/workflows/module-brief/checklist.md | 116 + .../workflows/module-brief/instructions.md | 267 + .bmad/bmb/workflows/module-brief/template.md | 275 + .../bmb/workflows/module-brief/workflow.yaml | 29 + .bmad/bmb/workflows/redoc/README.md | 87 + .bmad/bmb/workflows/redoc/checklist.md | 99 + .bmad/bmb/workflows/redoc/instructions.md | 265 + .bmad/bmb/workflows/redoc/workflow.yaml | 32 + .bmad/bmm/README.md | 128 + .bmad/bmm/agents/analyst.md | 75 + .bmad/bmm/agents/architect.md | 80 + .bmad/bmm/agents/dev.md | 69 + .bmad/bmm/agents/pm.md | 84 + .bmad/bmm/agents/sm.md | 93 + .bmad/bmm/agents/tea.md | 80 + .bmad/bmm/agents/tech-writer.md | 90 + .bmad/bmm/agents/ux-designer.md | 79 + .bmad/bmm/config.yaml | 18 + .bmad/bmm/docs/README.md | 235 + .bmad/bmm/docs/agents-guide.md | 1056 ++ .bmad/bmm/docs/brownfield-guide.md | 754 + .../docs/enterprise-agentic-development.md | 680 + .bmad/bmm/docs/faq.md | 587 + .bmad/bmm/docs/glossary.md | 320 + .bmad/bmm/docs/party-mode.md | 224 + .bmad/bmm/docs/quick-spec-flow.md | 652 + .bmad/bmm/docs/quick-start.md | 366 + .bmad/bmm/docs/scale-adaptive-system.md | 599 + .bmad/bmm/docs/test-architecture.md | 394 + .../docs/workflow-architecture-reference.md | 371 + .../workflow-document-project-reference.md | 487 + .bmad/bmm/docs/workflows-analysis.md | 370 + .bmad/bmm/docs/workflows-implementation.md | 284 + .bmad/bmm/docs/workflows-planning.md | 601 + .bmad/bmm/docs/workflows-solutioning.md | 501 + .bmad/bmm/tasks/daily-standup.xml | 85 + .bmad/bmm/teams/default-party.csv | 19 + .bmad/bmm/teams/team-fullstack.yaml | 12 + .bmad/bmm/testarch/knowledge/ci-burn-in.md | 675 + .bmad/bmm/testarch/knowledge/component-tdd.md | 486 + .../testarch/knowledge/contract-testing.md | 957 ++ .../bmm/testarch/knowledge/data-factories.md | 500 + .bmad/bmm/testarch/knowledge/email-auth.md | 721 + .../bmm/testarch/knowledge/error-handling.md | 725 + .bmad/bmm/testarch/knowledge/feature-flags.md | 750 + .../knowledge/fixture-architecture.md | 401 + .bmad/bmm/testarch/knowledge/network-first.md | 486 + .bmad/bmm/testarch/knowledge/nfr-criteria.md | 670 + .../testarch/knowledge/playwright-config.md | 730 + .../testarch/knowledge/probability-impact.md | 601 + .../bmm/testarch/knowledge/risk-governance.md | 615 + .../testarch/knowledge/selective-testing.md | 732 + .../testarch/knowledge/selector-resilience.md | 527 + .../knowledge/test-healing-patterns.md | 644 + .../knowledge/test-levels-framework.md | 473 + .../knowledge/test-priorities-matrix.md | 373 + .bmad/bmm/testarch/knowledge/test-quality.md | 664 + .../testarch/knowledge/timing-debugging.md | 372 + .../testarch/knowledge/visual-debugging.md | 524 + .bmad/bmm/testarch/tea-index.csv | 22 + .../brainstorm-project/instructions.md | 110 + .../brainstorm-project/project-context.md | 25 + .../brainstorm-project/workflow.yaml | 26 + .../domain-research/instructions.md | 423 + .../1-analysis/domain-research/template.md | 180 + .../1-analysis/domain-research/workflow.yaml | 40 + .../1-analysis/product-brief/checklist.md | 115 + .../1-analysis/product-brief/instructions.md | 524 + .../1-analysis/product-brief/template.md | 181 + .../1-analysis/product-brief/workflow.yaml | 45 + .../research/checklist-deep-prompt.md | 144 + .../research/checklist-technical.md | 249 + .../1-analysis/research/checklist.md | 299 + .../research/claude-code/injections.yaml | 114 + .../research/instructions-deep-prompt.md | 439 + .../research/instructions-market.md | 679 + .../research/instructions-router.md | 133 + .../research/instructions-technical.md | 538 + .../research/template-deep-prompt.md | 94 + .../1-analysis/research/template-market.md | 347 + .../1-analysis/research/template-technical.md | 245 + .../1-analysis/research/workflow.yaml | 44 + .../create-ux-design/checklist.md | 310 + .../create-ux-design/instructions.md | 1301 ++ .../create-ux-design/ux-design-template.md | 145 + .../create-ux-design/workflow.yaml | 60 + .../2-plan-workflows/prd/checklist.md | 350 + .../epics-template.md | 52 + .../create-epics-and-stories/instructions.md | 169 + .../create-epics-and-stories/workflow.yaml | 45 + .../prd/domain-complexity.csv | 13 + .../2-plan-workflows/prd/instructions.md | 408 + .../2-plan-workflows/prd/prd-template.md | 237 + .../2-plan-workflows/prd/project-types.csv | 11 + .../2-plan-workflows/prd/workflow.yaml | 46 + .../2-plan-workflows/tech-spec/checklist.md | 214 + .../tech-spec/epics-template.md | 80 + .../tech-spec/instructions-level0-story.md | 200 + .../tech-spec/instructions-level1-stories.md | 451 + .../tech-spec/instructions.md | 1115 ++ .../tech-spec/tech-spec-template.md | 181 + .../tech-spec/user-story-template.md | 90 + .../2-plan-workflows/tech-spec/workflow.yaml | 60 + .../architecture/architecture-patterns.yaml | 347 + .../architecture/architecture-template.md | 103 + .../3-solutioning/architecture/checklist.md | 244 + .../architecture/decision-catalog.yaml | 222 + .../architecture/instructions.md | 704 + .../architecture/pattern-categories.csv | 13 + .../3-solutioning/architecture/workflow.yaml | 68 + .../solutioning-gate-check/checklist.md | 175 + .../solutioning-gate-check/instructions.md | 305 + .../solutioning-gate-check/template.md | 146 + .../validation-criteria.yaml | 189 + .../solutioning-gate-check/workflow.yaml | 64 + .../code-review/backlog_template.md | 12 + .../4-implementation/code-review/checklist.md | 22 + .../code-review/instructions.md | 420 + .../code-review/workflow.yaml | 65 + .../correct-course/checklist.md | 279 + .../correct-course/instructions.md | 201 + .../correct-course/workflow.yaml | 43 + .../create-story/checklist.md | 240 + .../create-story/instructions.md | 283 + .../4-implementation/create-story/template.md | 51 + .../create-story/workflow.yaml | 74 + .../dev-story/AUDIT-REPORT.md | 367 + .../4-implementation/dev-story/checklist.md | 38 + .../dev-story/instructions.md | 262 + .../4-implementation/dev-story/workflow.yaml | 26 + .../epic-tech-context/checklist.md | 17 + .../epic-tech-context/instructions.md | 189 + .../epic-tech-context/template.md | 76 + .../epic-tech-context/workflow.yaml | 58 + .../retrospective/instructions.md | 1460 ++ .../retrospective/workflow.yaml | 71 + .../sprint-planning/checklist.md | 33 + .../sprint-planning/instructions.md | 238 + .../sprint-status-template.yaml | 55 + .../sprint-planning/workflow.yaml | 47 + .../story-context/checklist.md | 16 + .../story-context/context-template.xml | 34 + .../story-context/instructions.md | 234 + .../story-context/workflow.yaml | 57 + .../story-done/instructions.md | 111 + .../4-implementation/story-done/workflow.yaml | 25 + .../story-ready/instructions.md | 117 + .../story-ready/workflow.yaml | 25 + .../workflows/document-project/checklist.md | 245 + .../documentation-requirements.csv | 12 + .../document-project/instructions.md | 222 + .../templates/deep-dive-template.md | 345 + .../templates/index-template.md | 169 + .../templates/project-overview-template.md | 103 + .../templates/project-scan-report-schema.json | 160 + .../templates/source-tree-template.md | 135 + .../workflows/document-project/workflow.yaml | 34 + .../workflows/deep-dive-instructions.md | 298 + .../document-project/workflows/deep-dive.yaml | 31 + .../workflows/full-scan-instructions.md | 1106 ++ .../document-project/workflows/full-scan.yaml | 31 + .../techdoc/documentation-standards.md | 262 + .../testarch/atdd/atdd-checklist-template.md | 363 + .../bmm/workflows/testarch/atdd/checklist.md | 373 + .../workflows/testarch/atdd/instructions.md | 785 + .../bmm/workflows/testarch/atdd/workflow.yaml | 52 + .../workflows/testarch/automate/checklist.md | 580 + .../testarch/automate/instructions.md | 1303 ++ .../workflows/testarch/automate/workflow.yaml | 61 + .bmad/bmm/workflows/testarch/ci/checklist.md | 246 + .../testarch/ci/github-actions-template.yaml | 165 + .../testarch/ci/gitlab-ci-template.yaml | 128 + .../bmm/workflows/testarch/ci/instructions.md | 517 + .bmad/bmm/workflows/testarch/ci/workflow.yaml | 53 + .../workflows/testarch/framework/checklist.md | 321 + .../testarch/framework/instructions.md | 455 + .../testarch/framework/workflow.yaml | 53 + .../testarch/nfr-assess/checklist.md | 405 + .../testarch/nfr-assess/instructions.md | 722 + .../nfr-assess/nfr-report-template.md | 443 + .../testarch/nfr-assess/workflow.yaml | 56 + .../testarch/test-design/checklist.md | 234 + .../testarch/test-design/instructions.md | 621 + .../test-design/test-design-template.md | 285 + .../testarch/test-design/workflow.yaml | 52 + .../testarch/test-review/checklist.md | 470 + .../testarch/test-review/instructions.md | 608 + .../test-review/test-review-template.md | 388 + .../testarch/test-review/workflow.yaml | 53 + .../bmm/workflows/testarch/trace/checklist.md | 654 + .../workflows/testarch/trace/instructions.md | 1045 ++ .../testarch/trace/trace-template.md | 673 + .../workflows/testarch/trace/workflow.yaml | 66 + .../workflow-status/init/instructions.md | 822 + .../workflow-status/init/workflow.yaml | 27 + .../workflows/workflow-status/instructions.md | 387 + .../paths/enterprise-brownfield.yaml | 127 + .../paths/enterprise-greenfield.yaml | 115 + .../workflow-status/paths/game-design.yaml | 52 + .../paths/method-brownfield.yaml | 97 + .../paths/method-greenfield.yaml | 88 + .../paths/quick-flow-brownfield.yaml | 58 + .../paths/quick-flow-greenfield.yaml | 47 + .../workflow-status/project-levels.yaml | 59 + .../sample-level-3-workflow.yaml | 49 + .../workflow-status-template.yaml | 31 + .../workflows/workflow-status/workflow.yaml | 28 + .bmad/core/agents/bmad-master.md | 71 + .../agents/bmad-web-orchestrator.agent.xml | 113 + .bmad/core/config.yaml | 11 + .bmad/core/tasks/adv-elicit-methods.csv | 39 + .bmad/core/tasks/adv-elicit.xml | 106 + .bmad/core/tasks/index-docs.xml | 65 + .bmad/core/tasks/validate-workflow.xml | 89 + .bmad/core/tasks/workflow.xml | 156 + .bmad/core/tools/shard-doc.xml | 65 + .bmad/core/workflows/brainstorming/README.md | 271 + .../workflows/brainstorming/brain-methods.csv | 36 + .../workflows/brainstorming/instructions.md | 314 + .../core/workflows/brainstorming/template.md | 102 + .../workflows/brainstorming/workflow.yaml | 43 + .../core/workflows/party-mode/instructions.md | 183 + .bmad/core/workflows/party-mode/workflow.yaml | 27 + .bmad/docs/claude-code-instructions.md | 25 + .../commands/bmad/bmb/agents/bmad-builder.md | 70 + .../bmad/bmb/workflows/audit-workflow.md | 15 + .../bmad/bmb/workflows/convert-legacy.md | 15 + .../bmad/bmb/workflows/create-agent.md | 15 + .../bmad/bmb/workflows/create-module.md | 15 + .../bmad/bmb/workflows/create-workflow.md | 15 + .../commands/bmad/bmb/workflows/edit-agent.md | 15 + .../bmad/bmb/workflows/edit-module.md | 15 + .../bmad/bmb/workflows/edit-workflow.md | 15 + .../bmad/bmb/workflows/module-brief.md | 15 + .claude/commands/bmad/bmb/workflows/redoc.md | 15 + .claude/commands/bmad/bmm/agents/analyst.md | 75 + .claude/commands/bmad/bmm/agents/architect.md | 80 + .claude/commands/bmad/bmm/agents/dev.md | 69 + .claude/commands/bmad/bmm/agents/pm.md | 84 + .claude/commands/bmad/bmm/agents/sm.md | 93 + .claude/commands/bmad/bmm/agents/tea.md | 80 + .../commands/bmad/bmm/agents/tech-writer.md | 90 + .../commands/bmad/bmm/agents/ux-designer.md | 79 + .../bmad/bmm/workflows/architecture.md | 15 + .../bmad/bmm/workflows/brainstorm-project.md | 15 + .../bmad/bmm/workflows/code-review.md | 15 + .../bmad/bmm/workflows/correct-course.md | 15 + .../bmm/workflows/create-epics-and-stories.md | 15 + .../bmad/bmm/workflows/create-story.md | 15 + .../bmad/bmm/workflows/create-ux-design.md | 15 + .../commands/bmad/bmm/workflows/dev-story.md | 15 + .../bmad/bmm/workflows/document-project.md | 15 + .../bmad/bmm/workflows/domain-research.md | 15 + .../bmad/bmm/workflows/epic-tech-context.md | 15 + .claude/commands/bmad/bmm/workflows/prd.md | 15 + .../bmad/bmm/workflows/product-brief.md | 15 + .../commands/bmad/bmm/workflows/research.md | 15 + .../bmad/bmm/workflows/retrospective.md | 15 + .../bmm/workflows/solutioning-gate-check.md | 15 + .../bmad/bmm/workflows/sprint-planning.md | 15 + .../bmad/bmm/workflows/story-context.md | 15 + .../commands/bmad/bmm/workflows/story-done.md | 15 + .../bmad/bmm/workflows/story-ready.md | 15 + .../commands/bmad/bmm/workflows/tech-spec.md | 15 + .../bmad/bmm/workflows/workflow-init.md | 15 + .../bmad/bmm/workflows/workflow-status.md | 15 + .../commands/bmad/core/agents/bmad-master.md | 71 + .../commands/bmad/core/tasks/adv-elicit.md | 9 + .../commands/bmad/core/tasks/index-docs.md | 9 + .claude/commands/bmad/core/tools/shard-doc.md | 9 + .../bmad/core/workflows/brainstorming.md | 15 + .../bmad/core/workflows/party-mode.md | 15 + .vscode/settings.json | 3 +- .../_module-installer/install-config.yaml | 6 +- .../agents/bmad-web-orchestrator.agent.xml | 19 +- src/core/tasks/adv-elicit.xml | 8 +- src/core/workflows/party-mode/instructions.md | 7 +- src/core/workflows/party-mode/workflow.yaml | 12 +- .../bmb/_module-installer/install-config.yaml | 4 +- .../bmb/agents/bmad-builder.agent.yaml | 1 + .../_module-installer/install-config.yaml | 7 +- .../bmgd/agents/game-architect.agent.yaml | 17 +- .../bmgd/agents/game-designer.agent.yaml | 17 +- src/modules/bmgd/agents/game-dev.agent.yaml | 16 +- .../bmgd/agents/game-scrum-master.agent.yaml | 17 +- src/modules/bmgd/teams/default-party.csv | 10 + src/modules/bmgd/teams/team-gamedev.yaml | 2 + .../4-production/code-review/instructions.md | 4 +- .../4-production/code-review/workflow.yaml | 11 +- .../bmm/_module-installer/install-config.yaml | 6 +- src/modules/bmm/agents/analyst.agent.yaml | 21 +- src/modules/bmm/agents/architect.agent.yaml | 17 +- src/modules/bmm/agents/dev.agent.yaml | 11 +- src/modules/bmm/agents/pm.agent.yaml | 25 +- src/modules/bmm/agents/sm.agent.yaml | 17 +- src/modules/bmm/agents/tea.agent.yaml | 14 +- src/modules/bmm/agents/tech-writer.agent.yaml | 18 +- src/modules/bmm/agents/ux-designer.agent.yaml | 17 +- src/modules/bmm/teams/default-party.csv | 19 + src/modules/bmm/teams/team-fullstack.yaml | 1 + .../code-review/instructions.md | 4 +- .../code-review/workflow.yaml | 15 +- .../create-story/workflow.yaml | 2 +- .../epic-tech-context/workflow.yaml | 3 +- .../retrospective/workflow.yaml | 9 +- .../sprint-planning/workflow.yaml | 1 + .../story-context/workflow.yaml | 1 + .../cis/_module-installer/install-config.yaml | 4 +- .../cis/agents/brainstorming-coach.agent.yaml | 17 +- .../agents/creative-problem-solver.agent.yaml | 17 +- .../agents/design-thinking-coach.agent.yaml | 17 +- .../agents/innovation-strategist.agent.yaml | 17 +- src/modules/cis/agents/storyteller.agent.yaml | 17 +- src/modules/cis/teams/creative-squad.yaml | 1 + src/modules/cis/teams/default-party.csv | 11 + src/utility/models/action-command-header.md | 0 src/utility/models/agent-command-header.md | 1 + .../models/fragments/activation-steps.xml | 3 +- .../fragments/web-bundle-activation-steps.xml | 2 +- .../persona/principles-as-string.agent.yaml | 23 - tools/cli/bundlers/web-bundler.js | 101 +- .../installers/lib/core/config-collector.js | 69 +- .../installers/lib/core/manifest-generator.js | 16 +- tools/cli/installers/lib/ide/_base-ide.js | 16 + tools/cli/installers/lib/ide/auggie.js | 300 +- tools/cli/installers/lib/ide/claude-code.js | 6 +- tools/cli/installers/lib/ide/cline.js | 6 +- tools/cli/installers/lib/ide/codex.js | 38 +- tools/cli/installers/lib/ide/crush.js | 12 +- tools/cli/installers/lib/ide/cursor.js | 7 + tools/cli/installers/lib/ide/gemini.js | 87 +- .../cli/installers/lib/ide/github-copilot.js | 19 +- tools/cli/installers/lib/ide/iflow.js | 12 +- tools/cli/installers/lib/ide/kilo.js | 9 +- tools/cli/installers/lib/ide/opencode.js | 15 +- tools/cli/installers/lib/ide/roo.js | 68 +- .../task-tool-command-generator.js | 2 +- .../workflow-command-generator.js | 20 +- .../ide/templates/gemini-agent-command.toml | 14 + .../ide/templates/gemini-task-command.toml | 12 + .../workflow-command-template.md | 6 +- tools/cli/installers/lib/ide/trae.js | 14 +- tools/cli/lib/cli-utils.js | 104 +- tools/cli/lib/ui.js | 7 +- tools/schema/agent.js | 10 +- web-bundles/bmgd/agents/game-architect.xml | 664 + web-bundles/bmgd/agents/game-designer.xml | 5489 +++++++ web-bundles/bmgd/agents/game-dev.xml | 595 + web-bundles/bmgd/agents/game-scrum-master.xml | 699 + web-bundles/bmgd/teams/team-gamedev.xml | 6588 ++++++++ web-bundles/bmm/agents/analyst.xml | 5263 +++++++ web-bundles/bmm/agents/architect.xml | 2378 +++ web-bundles/bmm/agents/dev.xml | 248 + web-bundles/bmm/agents/pm.xml | 4137 ++++++ web-bundles/bmm/agents/sm.xml | 708 + web-bundles/bmm/agents/tea.xml | 759 + web-bundles/bmm/agents/tech-writer.xml | 624 + web-bundles/bmm/agents/ux-designer.xml | 2492 ++++ web-bundles/bmm/teams/team-fullstack.xml | 12369 ++++++++++++++++ .../cis/agents/brainstorming-coach.xml | 1069 ++ .../cis/agents/creative-problem-solver.xml | 1060 ++ .../cis/agents/design-thinking-coach.xml | 955 ++ .../cis/agents/innovation-strategist.xml | 1108 ++ web-bundles/cis/agents/storyteller.xml | 598 + web-bundles/cis/teams/creative-squad.xml | 3449 +++++ 433 files changed, 125975 insertions(+), 689 deletions(-) create mode 100644 .bmad/_cfg/agent-manifest.csv create mode 100644 .bmad/_cfg/agents/bmb-bmad-builder.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-analyst.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-architect.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-dev.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-pm.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-sm.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-tea.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-tech-writer.customize.yaml create mode 100644 .bmad/_cfg/agents/bmm-ux-designer.customize.yaml create mode 100644 .bmad/_cfg/agents/core-bmad-master.customize.yaml create mode 100644 .bmad/_cfg/files-manifest.csv create mode 100644 .bmad/_cfg/ides/claude-code.yaml create mode 100644 .bmad/_cfg/manifest.yaml create mode 100644 .bmad/_cfg/task-manifest.csv create mode 100644 .bmad/_cfg/tool-manifest.csv create mode 100644 .bmad/_cfg/workflow-manifest.csv create mode 100644 .bmad/bmb/README.md create mode 100644 .bmad/bmb/agents/bmad-builder.md create mode 100644 .bmad/bmb/config.yaml create mode 100644 .bmad/bmb/workflows/audit-workflow/checklist.md create mode 100644 .bmad/bmb/workflows/audit-workflow/instructions.md create mode 100644 .bmad/bmb/workflows/audit-workflow/template.md create mode 100644 .bmad/bmb/workflows/audit-workflow/workflow.yaml create mode 100644 .bmad/bmb/workflows/convert-legacy/README.md create mode 100644 .bmad/bmb/workflows/convert-legacy/checklist.md create mode 100644 .bmad/bmb/workflows/convert-legacy/instructions.md create mode 100644 .bmad/bmb/workflows/convert-legacy/workflow.yaml create mode 100644 .bmad/bmb/workflows/create-agent/README.md create mode 100644 .bmad/bmb/workflows/create-agent/agent-architecture.md create mode 100644 .bmad/bmb/workflows/create-agent/agent-command-patterns.md create mode 100644 .bmad/bmb/workflows/create-agent/agent-types.md create mode 100644 .bmad/bmb/workflows/create-agent/brainstorm-context.md create mode 100644 .bmad/bmb/workflows/create-agent/checklist.md create mode 100644 .bmad/bmb/workflows/create-agent/communication-styles.md create mode 100644 .bmad/bmb/workflows/create-agent/instructions.md create mode 100644 .bmad/bmb/workflows/create-agent/workflow.yaml create mode 100644 .bmad/bmb/workflows/create-module/README.md create mode 100644 .bmad/bmb/workflows/create-module/brainstorm-context.md create mode 100644 .bmad/bmb/workflows/create-module/checklist.md create mode 100644 .bmad/bmb/workflows/create-module/installer-templates/install-config.yaml create mode 100644 .bmad/bmb/workflows/create-module/installer-templates/installer.js create mode 100644 .bmad/bmb/workflows/create-module/instructions.md create mode 100644 .bmad/bmb/workflows/create-module/module-structure.md create mode 100644 .bmad/bmb/workflows/create-module/workflow.yaml create mode 100644 .bmad/bmb/workflows/create-workflow/README.md create mode 100644 .bmad/bmb/workflows/create-workflow/brainstorm-context.md create mode 100644 .bmad/bmb/workflows/create-workflow/checklist.md create mode 100644 .bmad/bmb/workflows/create-workflow/instructions.md create mode 100644 .bmad/bmb/workflows/create-workflow/workflow-creation-guide.md create mode 100644 .bmad/bmb/workflows/create-workflow/workflow-template/checklist.md create mode 100644 .bmad/bmb/workflows/create-workflow/workflow-template/instructions.md create mode 100644 .bmad/bmb/workflows/create-workflow/workflow-template/template.md create mode 100644 .bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml create mode 100644 .bmad/bmb/workflows/create-workflow/workflow.yaml create mode 100644 .bmad/bmb/workflows/edit-agent/README.md create mode 100644 .bmad/bmb/workflows/edit-agent/checklist.md create mode 100644 .bmad/bmb/workflows/edit-agent/instructions.md create mode 100644 .bmad/bmb/workflows/edit-agent/workflow.yaml create mode 100644 .bmad/bmb/workflows/edit-module/README.md create mode 100644 .bmad/bmb/workflows/edit-module/checklist.md create mode 100644 .bmad/bmb/workflows/edit-module/instructions.md create mode 100644 .bmad/bmb/workflows/edit-module/workflow.yaml create mode 100644 .bmad/bmb/workflows/edit-workflow/README.md create mode 100644 .bmad/bmb/workflows/edit-workflow/checklist.md create mode 100644 .bmad/bmb/workflows/edit-workflow/instructions.md create mode 100644 .bmad/bmb/workflows/edit-workflow/workflow.yaml create mode 100644 .bmad/bmb/workflows/module-brief/README.md create mode 100644 .bmad/bmb/workflows/module-brief/checklist.md create mode 100644 .bmad/bmb/workflows/module-brief/instructions.md create mode 100644 .bmad/bmb/workflows/module-brief/template.md create mode 100644 .bmad/bmb/workflows/module-brief/workflow.yaml create mode 100644 .bmad/bmb/workflows/redoc/README.md create mode 100644 .bmad/bmb/workflows/redoc/checklist.md create mode 100644 .bmad/bmb/workflows/redoc/instructions.md create mode 100644 .bmad/bmb/workflows/redoc/workflow.yaml create mode 100644 .bmad/bmm/README.md create mode 100644 .bmad/bmm/agents/analyst.md create mode 100644 .bmad/bmm/agents/architect.md create mode 100644 .bmad/bmm/agents/dev.md create mode 100644 .bmad/bmm/agents/pm.md create mode 100644 .bmad/bmm/agents/sm.md create mode 100644 .bmad/bmm/agents/tea.md create mode 100644 .bmad/bmm/agents/tech-writer.md create mode 100644 .bmad/bmm/agents/ux-designer.md create mode 100644 .bmad/bmm/config.yaml create mode 100644 .bmad/bmm/docs/README.md create mode 100644 .bmad/bmm/docs/agents-guide.md create mode 100644 .bmad/bmm/docs/brownfield-guide.md create mode 100644 .bmad/bmm/docs/enterprise-agentic-development.md create mode 100644 .bmad/bmm/docs/faq.md create mode 100644 .bmad/bmm/docs/glossary.md create mode 100644 .bmad/bmm/docs/party-mode.md create mode 100644 .bmad/bmm/docs/quick-spec-flow.md create mode 100644 .bmad/bmm/docs/quick-start.md create mode 100644 .bmad/bmm/docs/scale-adaptive-system.md create mode 100644 .bmad/bmm/docs/test-architecture.md create mode 100644 .bmad/bmm/docs/workflow-architecture-reference.md create mode 100644 .bmad/bmm/docs/workflow-document-project-reference.md create mode 100644 .bmad/bmm/docs/workflows-analysis.md create mode 100644 .bmad/bmm/docs/workflows-implementation.md create mode 100644 .bmad/bmm/docs/workflows-planning.md create mode 100644 .bmad/bmm/docs/workflows-solutioning.md create mode 100644 .bmad/bmm/tasks/daily-standup.xml create mode 100644 .bmad/bmm/teams/default-party.csv create mode 100644 .bmad/bmm/teams/team-fullstack.yaml create mode 100644 .bmad/bmm/testarch/knowledge/ci-burn-in.md create mode 100644 .bmad/bmm/testarch/knowledge/component-tdd.md create mode 100644 .bmad/bmm/testarch/knowledge/contract-testing.md create mode 100644 .bmad/bmm/testarch/knowledge/data-factories.md create mode 100644 .bmad/bmm/testarch/knowledge/email-auth.md create mode 100644 .bmad/bmm/testarch/knowledge/error-handling.md create mode 100644 .bmad/bmm/testarch/knowledge/feature-flags.md create mode 100644 .bmad/bmm/testarch/knowledge/fixture-architecture.md create mode 100644 .bmad/bmm/testarch/knowledge/network-first.md create mode 100644 .bmad/bmm/testarch/knowledge/nfr-criteria.md create mode 100644 .bmad/bmm/testarch/knowledge/playwright-config.md create mode 100644 .bmad/bmm/testarch/knowledge/probability-impact.md create mode 100644 .bmad/bmm/testarch/knowledge/risk-governance.md create mode 100644 .bmad/bmm/testarch/knowledge/selective-testing.md create mode 100644 .bmad/bmm/testarch/knowledge/selector-resilience.md create mode 100644 .bmad/bmm/testarch/knowledge/test-healing-patterns.md create mode 100644 .bmad/bmm/testarch/knowledge/test-levels-framework.md create mode 100644 .bmad/bmm/testarch/knowledge/test-priorities-matrix.md create mode 100644 .bmad/bmm/testarch/knowledge/test-quality.md create mode 100644 .bmad/bmm/testarch/knowledge/timing-debugging.md create mode 100644 .bmad/bmm/testarch/knowledge/visual-debugging.md create mode 100644 .bmad/bmm/testarch/tea-index.csv create mode 100644 .bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md create mode 100644 .bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md create mode 100644 .bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml create mode 100644 .bmad/bmm/workflows/1-analysis/domain-research/instructions.md create mode 100644 .bmad/bmm/workflows/1-analysis/domain-research/template.md create mode 100644 .bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml create mode 100644 .bmad/bmm/workflows/1-analysis/product-brief/checklist.md create mode 100644 .bmad/bmm/workflows/1-analysis/product-brief/instructions.md create mode 100644 .bmad/bmm/workflows/1-analysis/product-brief/template.md create mode 100644 .bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml create mode 100644 .bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/checklist-technical.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/checklist.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml create mode 100644 .bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/instructions-market.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/instructions-router.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/instructions-technical.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/template-market.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/template-technical.md create mode 100644 .bmad/bmm/workflows/1-analysis/research/workflow.yaml create mode 100644 .bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/checklist.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/instructions.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv create mode 100644 .bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md create mode 100644 .bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/checklist.md create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/instructions.md create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv create mode 100644 .bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml create mode 100644 .bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md create mode 100644 .bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md create mode 100644 .bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md create mode 100644 .bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml create mode 100644 .bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/code-review/backlog_template.md create mode 100644 .bmad/bmm/workflows/4-implementation/code-review/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/code-review/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/code-review/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/correct-course/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/correct-course/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/create-story/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/create-story/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/create-story/template.md create mode 100644 .bmad/bmm/workflows/4-implementation/create-story/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md create mode 100644 .bmad/bmm/workflows/4-implementation/dev-story/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/dev-story/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/epic-tech-context/template.md create mode 100644 .bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/retrospective/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/story-context/checklist.md create mode 100644 .bmad/bmm/workflows/4-implementation/story-context/context-template.xml create mode 100644 .bmad/bmm/workflows/4-implementation/story-context/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/story-context/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/story-done/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/story-done/workflow.yaml create mode 100644 .bmad/bmm/workflows/4-implementation/story-ready/instructions.md create mode 100644 .bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml create mode 100644 .bmad/bmm/workflows/document-project/checklist.md create mode 100644 .bmad/bmm/workflows/document-project/documentation-requirements.csv create mode 100644 .bmad/bmm/workflows/document-project/instructions.md create mode 100644 .bmad/bmm/workflows/document-project/templates/deep-dive-template.md create mode 100644 .bmad/bmm/workflows/document-project/templates/index-template.md create mode 100644 .bmad/bmm/workflows/document-project/templates/project-overview-template.md create mode 100644 .bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json create mode 100644 .bmad/bmm/workflows/document-project/templates/source-tree-template.md create mode 100644 .bmad/bmm/workflows/document-project/workflow.yaml create mode 100644 .bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md create mode 100644 .bmad/bmm/workflows/document-project/workflows/deep-dive.yaml create mode 100644 .bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md create mode 100644 .bmad/bmm/workflows/document-project/workflows/full-scan.yaml create mode 100644 .bmad/bmm/workflows/techdoc/documentation-standards.md create mode 100644 .bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md create mode 100644 .bmad/bmm/workflows/testarch/atdd/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/atdd/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/atdd/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/automate/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/automate/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/automate/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/ci/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/ci/github-actions-template.yaml create mode 100644 .bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml create mode 100644 .bmad/bmm/workflows/testarch/ci/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/ci/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/framework/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/framework/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/framework/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/nfr-assess/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/nfr-assess/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md create mode 100644 .bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/test-design/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/test-design/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/test-design/test-design-template.md create mode 100644 .bmad/bmm/workflows/testarch/test-design/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/test-review/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/test-review/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/test-review/test-review-template.md create mode 100644 .bmad/bmm/workflows/testarch/test-review/workflow.yaml create mode 100644 .bmad/bmm/workflows/testarch/trace/checklist.md create mode 100644 .bmad/bmm/workflows/testarch/trace/instructions.md create mode 100644 .bmad/bmm/workflows/testarch/trace/trace-template.md create mode 100644 .bmad/bmm/workflows/testarch/trace/workflow.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/init/instructions.md create mode 100644 .bmad/bmm/workflows/workflow-status/init/workflow.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/instructions.md create mode 100644 .bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/game-design.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/project-levels.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/workflow-status-template.yaml create mode 100644 .bmad/bmm/workflows/workflow-status/workflow.yaml create mode 100644 .bmad/core/agents/bmad-master.md create mode 100644 .bmad/core/agents/bmad-web-orchestrator.agent.xml create mode 100644 .bmad/core/config.yaml create mode 100644 .bmad/core/tasks/adv-elicit-methods.csv create mode 100644 .bmad/core/tasks/adv-elicit.xml create mode 100644 .bmad/core/tasks/index-docs.xml create mode 100644 .bmad/core/tasks/validate-workflow.xml create mode 100644 .bmad/core/tasks/workflow.xml create mode 100644 .bmad/core/tools/shard-doc.xml create mode 100644 .bmad/core/workflows/brainstorming/README.md create mode 100644 .bmad/core/workflows/brainstorming/brain-methods.csv create mode 100644 .bmad/core/workflows/brainstorming/instructions.md create mode 100644 .bmad/core/workflows/brainstorming/template.md create mode 100644 .bmad/core/workflows/brainstorming/workflow.yaml create mode 100644 .bmad/core/workflows/party-mode/instructions.md create mode 100644 .bmad/core/workflows/party-mode/workflow.yaml create mode 100644 .bmad/docs/claude-code-instructions.md create mode 100644 .claude/commands/bmad/bmb/agents/bmad-builder.md create mode 100644 .claude/commands/bmad/bmb/workflows/audit-workflow.md create mode 100644 .claude/commands/bmad/bmb/workflows/convert-legacy.md create mode 100644 .claude/commands/bmad/bmb/workflows/create-agent.md create mode 100644 .claude/commands/bmad/bmb/workflows/create-module.md create mode 100644 .claude/commands/bmad/bmb/workflows/create-workflow.md create mode 100644 .claude/commands/bmad/bmb/workflows/edit-agent.md create mode 100644 .claude/commands/bmad/bmb/workflows/edit-module.md create mode 100644 .claude/commands/bmad/bmb/workflows/edit-workflow.md create mode 100644 .claude/commands/bmad/bmb/workflows/module-brief.md create mode 100644 .claude/commands/bmad/bmb/workflows/redoc.md create mode 100644 .claude/commands/bmad/bmm/agents/analyst.md create mode 100644 .claude/commands/bmad/bmm/agents/architect.md create mode 100644 .claude/commands/bmad/bmm/agents/dev.md create mode 100644 .claude/commands/bmad/bmm/agents/pm.md create mode 100644 .claude/commands/bmad/bmm/agents/sm.md create mode 100644 .claude/commands/bmad/bmm/agents/tea.md create mode 100644 .claude/commands/bmad/bmm/agents/tech-writer.md create mode 100644 .claude/commands/bmad/bmm/agents/ux-designer.md create mode 100644 .claude/commands/bmad/bmm/workflows/architecture.md create mode 100644 .claude/commands/bmad/bmm/workflows/brainstorm-project.md create mode 100644 .claude/commands/bmad/bmm/workflows/code-review.md create mode 100644 .claude/commands/bmad/bmm/workflows/correct-course.md create mode 100644 .claude/commands/bmad/bmm/workflows/create-epics-and-stories.md create mode 100644 .claude/commands/bmad/bmm/workflows/create-story.md create mode 100644 .claude/commands/bmad/bmm/workflows/create-ux-design.md create mode 100644 .claude/commands/bmad/bmm/workflows/dev-story.md create mode 100644 .claude/commands/bmad/bmm/workflows/document-project.md create mode 100644 .claude/commands/bmad/bmm/workflows/domain-research.md create mode 100644 .claude/commands/bmad/bmm/workflows/epic-tech-context.md create mode 100644 .claude/commands/bmad/bmm/workflows/prd.md create mode 100644 .claude/commands/bmad/bmm/workflows/product-brief.md create mode 100644 .claude/commands/bmad/bmm/workflows/research.md create mode 100644 .claude/commands/bmad/bmm/workflows/retrospective.md create mode 100644 .claude/commands/bmad/bmm/workflows/solutioning-gate-check.md create mode 100644 .claude/commands/bmad/bmm/workflows/sprint-planning.md create mode 100644 .claude/commands/bmad/bmm/workflows/story-context.md create mode 100644 .claude/commands/bmad/bmm/workflows/story-done.md create mode 100644 .claude/commands/bmad/bmm/workflows/story-ready.md create mode 100644 .claude/commands/bmad/bmm/workflows/tech-spec.md create mode 100644 .claude/commands/bmad/bmm/workflows/workflow-init.md create mode 100644 .claude/commands/bmad/bmm/workflows/workflow-status.md create mode 100644 .claude/commands/bmad/core/agents/bmad-master.md create mode 100644 .claude/commands/bmad/core/tasks/adv-elicit.md create mode 100644 .claude/commands/bmad/core/tasks/index-docs.md create mode 100644 .claude/commands/bmad/core/tools/shard-doc.md create mode 100644 .claude/commands/bmad/core/workflows/brainstorming.md create mode 100644 .claude/commands/bmad/core/workflows/party-mode.md create mode 100644 src/modules/bmgd/teams/default-party.csv create mode 100644 src/modules/bmm/teams/default-party.csv create mode 100644 src/modules/cis/teams/default-party.csv create mode 100644 src/utility/models/action-command-header.md create mode 100644 src/utility/models/agent-command-header.md delete mode 100644 test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml rename tools/cli/installers/lib/ide/{ => shared}/task-tool-command-generator.js (98%) rename tools/cli/installers/lib/ide/{ => shared}/workflow-command-generator.js (90%) create mode 100644 tools/cli/installers/lib/ide/templates/gemini-agent-command.toml create mode 100644 tools/cli/installers/lib/ide/templates/gemini-task-command.toml rename tools/cli/installers/lib/ide/{ => templates}/workflow-command-template.md (70%) create mode 100644 web-bundles/bmgd/agents/game-architect.xml create mode 100644 web-bundles/bmgd/agents/game-designer.xml create mode 100644 web-bundles/bmgd/agents/game-dev.xml create mode 100644 web-bundles/bmgd/agents/game-scrum-master.xml create mode 100644 web-bundles/bmgd/teams/team-gamedev.xml create mode 100644 web-bundles/bmm/agents/analyst.xml create mode 100644 web-bundles/bmm/agents/architect.xml create mode 100644 web-bundles/bmm/agents/dev.xml create mode 100644 web-bundles/bmm/agents/pm.xml create mode 100644 web-bundles/bmm/agents/sm.xml create mode 100644 web-bundles/bmm/agents/tea.xml create mode 100644 web-bundles/bmm/agents/tech-writer.xml create mode 100644 web-bundles/bmm/agents/ux-designer.xml create mode 100644 web-bundles/bmm/teams/team-fullstack.xml create mode 100644 web-bundles/cis/agents/brainstorming-coach.xml create mode 100644 web-bundles/cis/agents/creative-problem-solver.xml create mode 100644 web-bundles/cis/agents/design-thinking-coach.xml create mode 100644 web-bundles/cis/agents/innovation-strategist.xml create mode 100644 web-bundles/cis/agents/storyteller.xml create mode 100644 web-bundles/cis/teams/creative-squad.xml diff --git a/.bmad/_cfg/agent-manifest.csv b/.bmad/_cfg/agent-manifest.csv new file mode 100644 index 00000000..68cb61b0 --- /dev/null +++ b/.bmad/_cfg/agent-manifest.csv @@ -0,0 +1,11 @@ +name,displayName,title,icon,role,identity,communicationStyle,principles,module,path +"bmad-master","BMad Master","BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator","๐Ÿง™","Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator","Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations.","Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability.","Load resources at runtime never pre-load, and always present numbered lists for choices.","core","bmad/core/agents/bmad-master.md" +"bmad-builder","BMad Builder","BMad Builder","๐Ÿง™","Master BMad Module Agent Team and Workflow Builder and Maintainer","Lives to serve the expansion of the BMad Method","Talks like a pulp super hero","Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices","bmb","bmad/bmb/agents/bmad-builder.md" +"analyst","Mary","Business Analyst","๐Ÿ“Š","Strategic Business Analyst + Requirements Expert","Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.","Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard.","Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision.","bmm","bmad/bmm/agents/analyst.md" +"architect","Winston","Architect","๐Ÿ—๏ธ","System Architect + Technical Design Leader","Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.","Pragmatic in technical discussions. Balances idealism with reality. Always connects decisions to business value and user impact. Prefers boring tech that works.","User journeys drive technical decisions. Embrace boring technology for stability. Design simple solutions that scale when needed. Developer productivity is architecture.","bmm","bmad/bmm/agents/architect.md" +"dev","Amelia","Developer Agent","๐Ÿ’ป","Senior Implementation Engineer","Executes approved stories with strict adherence to acceptance criteria, using Story Context XML and existing code to minimize rework and hallucinations.","Succinct and checklist-driven. Cites specific paths and AC IDs. Asks clarifying questions only when inputs missing. Refuses to invent when info lacking.","Story Context XML is the single source of truth. Reuse existing interfaces over rebuilding. Every change maps to specific AC. Tests pass 100% or story isn't done.","bmm","bmad/bmm/agents/dev.md" +"pm","John","Product Manager","๐Ÿ“‹","Investigative Product Strategist + Market-Savvy PM","Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights.","Direct and analytical. Asks WHY relentlessly. Backs claims with data and user insights. Cuts straight to what matters for the product.","Uncover the deeper WHY behind every requirement. Ruthless prioritization to achieve MVP goals. Proactively identify risks. Align efforts with measurable business impact.","bmm","bmad/bmm/agents/pm.md" +"sm","Bob","Scrum Master","๐Ÿƒ","Technical Scrum Master + Story Preparation Specialist","Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.","Task-oriented and efficient. Focused on clear handoffs and precise requirements. Eliminates ambiguity. Emphasizes developer-ready specs.","Strict boundaries between story prep and implementation. Stories are single source of truth. Perfect alignment between PRD and dev execution. Enable efficient sprints.","bmm","bmad/bmm/agents/sm.md" +"tea","Murat","Master Test Architect","๐Ÿงช","Master Test Architect","Test architect specializing in CI/CD, automated frameworks, and scalable quality gates.","Data-driven and pragmatic. Strong opinions weakly held. Calculates risk vs value. Knows when to test deep vs shallow.","Risk-based testing. Depth scales with impact. Quality gates backed by data. Tests mirror usage. Flakiness is critical debt. Tests first AI implements suite validates.","bmm","bmad/bmm/agents/tea.md" +"tech-writer","paige","Technical Writer","๐Ÿ“š","Technical Documentation Specialist + Knowledge Curator","Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.","Patient and supportive. Uses clear examples and analogies. Knows when to simplify vs when to be detailed. Celebrates good docs helps improve unclear ones.","Documentation is teaching. Every doc helps someone accomplish a task. Clarity above all. Docs are living artifacts that evolve with code.","bmm","bmad/bmm/agents/tech-writer.md" +"ux-designer","Sally","UX Designer","๐ŸŽจ","User Experience Designer + UI Specialist","Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools.","Empathetic and user-focused. Uses storytelling for design decisions. Data-informed but creative. Advocates strongly for user needs and edge cases.","Every decision serves genuine user needs. Start simple evolve through feedback. Balance empathy with edge case attention. AI tools accelerate human-centered design.","bmm","bmad/bmm/agents/ux-designer.md" diff --git a/.bmad/_cfg/agents/bmb-bmad-builder.customize.yaml b/.bmad/_cfg/agents/bmb-bmad-builder.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmb-bmad-builder.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-analyst.customize.yaml b/.bmad/_cfg/agents/bmm-analyst.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-analyst.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-architect.customize.yaml b/.bmad/_cfg/agents/bmm-architect.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-architect.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-dev.customize.yaml b/.bmad/_cfg/agents/bmm-dev.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-dev.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-pm.customize.yaml b/.bmad/_cfg/agents/bmm-pm.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-pm.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-sm.customize.yaml b/.bmad/_cfg/agents/bmm-sm.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-sm.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-tea.customize.yaml b/.bmad/_cfg/agents/bmm-tea.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-tea.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml b/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml b/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/agents/core-bmad-master.customize.yaml b/.bmad/_cfg/agents/core-bmad-master.customize.yaml new file mode 100644 index 00000000..3fb4785f --- /dev/null +++ b/.bmad/_cfg/agents/core-bmad-master.customize.yaml @@ -0,0 +1,42 @@ +# Agent Customization +# Customize any section below - all are optional +# After editing: npx bmad-method build + +# Override agent name +agent: + metadata: + name: "" + +# Replace entire persona (not merged) +persona: + role: "" + identity: "" + communication_style: "" + principles: [] + +# Add custom critical actions (appended after standard config loading) +critical_actions: [] + +# Add persistent memories for the agent +memories: [] +# Example: +# memories: +# - "User prefers detailed technical explanations" +# - "Current project uses React and TypeScript" + +# Add custom menu items (appended to base menu) +# Don't include * prefix or help/exit - auto-injected +menu: [] +# Example: +# menu: +# - trigger: my-workflow +# workflow: "{project-root}/custom/my.yaml" +# description: My custom workflow + +# Add custom prompts (for action="#id" handlers) +prompts: [] +# Example: +# prompts: +# - id: my-prompt +# content: | +# Prompt instructions here diff --git a/.bmad/_cfg/files-manifest.csv b/.bmad/_cfg/files-manifest.csv new file mode 100644 index 00000000..5013dc61 --- /dev/null +++ b/.bmad/_cfg/files-manifest.csv @@ -0,0 +1,289 @@ +type,name,module,path,hash +"csv","agent-manifest","_cfg","bmad/_cfg/agent-manifest.csv","862ee4c3ad7447b284553d049f621b263b8f51cd08dcf944a4cc419e41a2e618" +"csv","task-manifest","_cfg","bmad/_cfg/task-manifest.csv","52fd8a292c670764d1613a423a1907e21e5d420281c3c9517834530765054c08" +"csv","workflow-manifest","_cfg","bmad/_cfg/workflow-manifest.csv","b7050572626a3680ae0eaf39b8f226d63f58de2bb7c52bcd2268260dba61b1d6" +"yaml","manifest","_cfg","bmad/_cfg/manifest.yaml","2ccef9d449c4346f7dbafb20cb6842bb97fceaaaa8c3c05253ffd3dacc208d7f" +"js","installer","bmb","bmad/bmb/workflows/create-module/installer-templates/installer.js","309ecdf2cebbb213a9139e5b7780d0d42bd60f665c497691773f84202e6667a7" +"md","agent-architecture","bmb","bmad/bmb/workflows/create-agent/agent-architecture.md","4c9dd10936b348487f959b8b7552f56cf30f26d5aff7c3b83112e505b36f14f7" +"md","agent-command-patterns","bmb","bmad/bmb/workflows/create-agent/agent-command-patterns.md","81e3fd0e23b6d170e58c98817b70479227ce91adc1440f4f2554e5a98887cb4f" +"md","agent-types","bmb","bmad/bmb/workflows/create-agent/agent-types.md","f0ba54dc5f3bec53160773a261183c6b2986c92efaed75e8cb3593c32ed8b9a4" +"md","bmad-builder","bmb","bmad/bmb/agents/bmad-builder.md","772ca307a2a532c4bca3347749db9c6f1f8d4a1647658cb56ec19c3d70766d2d" +"md","brainstorm-context","bmb","bmad/bmb/workflows/create-agent/brainstorm-context.md","85be72976c4ff5d79b2bce8e6b433f5e3526a7466a72b3efdb4f6d3d118e1d15" +"md","brainstorm-context","bmb","bmad/bmb/workflows/create-module/brainstorm-context.md","62b902177d2cb56df2d6a12e5ec5c7d75ec94770ce22ac72c96691a876ed2e6a" +"md","brainstorm-context","bmb","bmad/bmb/workflows/create-workflow/brainstorm-context.md","f246ec343e338068b37fee8c93aa6d2fe1d4857addba6db3fe6ad80a2a2950e8" +"md","checklist","bmb","bmad/bmb/workflows/audit-workflow/checklist.md","1465d2c1eea7b3d37b74107a198de893bd4f7e2670add78cd027ed33976ae14d" +"md","checklist","bmb","bmad/bmb/workflows/convert-legacy/checklist.md","9a78192e6a0077275cdf66853a2d7ce6cf4748c944eef0bdc2647155fdff07fb" +"md","checklist","bmb","bmad/bmb/workflows/create-agent/checklist.md","1caaf50fe01c5bbaf8d311b0218a19944620561d3dc3b1dbf2b4140aeb0683f3" +"md","checklist","bmb","bmad/bmb/workflows/create-module/checklist.md","2426bad295560cdc8cd972465ce82f1f9aaabfd992727ed8294819edc71854cd" +"md","checklist","bmb","bmad/bmb/workflows/create-workflow/checklist.md","5177e91bedcb515fa09f3a2bad36c2579d0201ac502a1262ba64f515daca41df" +"md","checklist","bmb","bmad/bmb/workflows/create-workflow/workflow-template/checklist.md","a950c68c71cd54b5a3ef4c8d68ad8ec40d5d1fa057f7c95e697e975807ae600b" +"md","checklist","bmb","bmad/bmb/workflows/edit-agent/checklist.md","c993ca3b42b461df2c9d6c2d5d399e51170abacbd7c1eef1ccff1ea24f52df01" +"md","checklist","bmb","bmad/bmb/workflows/edit-module/checklist.md","a30511053672ff986786543022b186487aec9ed09485c515b0d03a1f968c00df" +"md","checklist","bmb","bmad/bmb/workflows/edit-workflow/checklist.md","9677c087ddfb40765e611de23a5a009afe51c347683dfe5f7d9fd33712ac4795" +"md","checklist","bmb","bmad/bmb/workflows/module-brief/checklist.md","821c90da14f02b967cb468b19f59a26c0d8f044d7a81a8b97631fb8ffac7648f" +"md","checklist","bmb","bmad/bmb/workflows/redoc/checklist.md","2117d60b14e19158f4b586878b3667d715d3b62f79815b72b55c2376ce31aae8" +"md","communication-styles","bmb","bmad/bmb/workflows/create-agent/communication-styles.md","96249cca9bee8f10b376e131729c633ea08328c44eaa6889343d2cf66127043e" +"md","instructions","bmb","bmad/bmb/workflows/audit-workflow/instructions.md","bcc6bb5061061615f4682e3f00be5bc41ba4cd701bfdc31b2709fc743dec60b7" +"md","instructions","bmb","bmad/bmb/workflows/convert-legacy/instructions.md","3669cb91a34e2aba24bfec1eafb4bd1594de955ee266fb6cd8649e24fd86d17b" +"md","instructions","bmb","bmad/bmb/workflows/create-agent/instructions.md","fb1a52d5934b7291b70934632507f725a132cb8da016891e05d2781a16e564a9" +"md","instructions","bmb","bmad/bmb/workflows/create-module/instructions.md","a7cf67787e5d1abe9e980908ad2b492f84178dc6538a510f072153417938ab78" +"md","instructions","bmb","bmad/bmb/workflows/create-workflow/instructions.md","cb4bbec63be3b7822b9ca2a4b854aa1bcda278193f87211090f690515a10fbfb" +"md","instructions","bmb","bmad/bmb/workflows/create-workflow/workflow-template/instructions.md","d7bebaec6622efb48f2f228b7f56f941d6a850e3ea15dc492d8cdb8fbdd5e204" +"md","instructions","bmb","bmad/bmb/workflows/edit-agent/instructions.md","28ac10303c2493efb2b94ef68ee0dada862371e34f5ef96266cec4566345f78d" +"md","instructions","bmb","bmad/bmb/workflows/edit-module/instructions.md","fe2e0b60c06d23962ec68ec14e56997c0d4789b3b0d611d9ac802343f061a1b1" +"md","instructions","bmb","bmad/bmb/workflows/edit-workflow/instructions.md","4839e3c2d61ad496f3065b3e11ea82c8e92a769875c596211d2940eefcab6669" +"md","instructions","bmb","bmad/bmb/workflows/module-brief/instructions.md","6a6a2ae37fce8388819079664de4ad2678f736d7d76040b03e8853235cfcab92" +"md","instructions","bmb","bmad/bmb/workflows/redoc/instructions.md","77af051a08bc8f34f8f75c7f522cb8862613f412556a4a0ee2379bbe6d7b3a4b" +"md","module-structure","bmb","bmad/bmb/workflows/create-module/module-structure.md","092a88bd8eeda473e92f87d999a7a2a22479bb5501232d20db387dfe52250d41" +"md","README","bmb","bmad/bmb/README.md","aa2beac1fb84267cbaa6d7eb541da824c34177a17cd227f11b189ab3a1e06d33" +"md","README","bmb","bmad/bmb/workflows/convert-legacy/README.md","08cc7f23805e53c4f9ee57589fed90e5ac2835b058f89494d68933fe7d2c5e0e" +"md","README","bmb","bmad/bmb/workflows/create-agent/README.md","622efda446ed0b94484f63d267c14617e9c0090b53a1069de19a600ec54d769d" +"md","README","bmb","bmad/bmb/workflows/create-module/README.md","bd510d67395896d198eef7bf607141853be2ceb3b0a5670389fb77c7e56088ef" +"md","README","bmb","bmad/bmb/workflows/create-workflow/README.md","a30aed2d7956f7d7a0c5e0a1edd151b86512e0d3e814f37aa137a53743cadcfd" +"md","README","bmb","bmad/bmb/workflows/edit-agent/README.md","fadee8e28804d5b6d6668689ee83e024035d2be2840fd6c359e0e095f0e4dcf9" +"md","README","bmb","bmad/bmb/workflows/edit-module/README.md","f95914b31f5118eba63e737f1198b08bb7ab4f8dbb8dfdc06ac2e85d9acd4f90" +"md","README","bmb","bmad/bmb/workflows/edit-workflow/README.md","2db00015c03a3ed7df4ff609ac27a179885145e4c8190862eea70d8b894ee9be" +"md","README","bmb","bmad/bmb/workflows/module-brief/README.md","3b6456ebaff447a2312d1274b50bad538da6a8e7c73c2e7e4d5b7f6092852219" +"md","README","bmb","bmad/bmb/workflows/redoc/README.md","47b93484d09c4bf1848e046223aa365377606bbb7b09acc2b5e499bc7eac2fa2" +"md","template","bmb","bmad/bmb/workflows/audit-workflow/template.md","98e65880cac3ffb123e513abd48710e57e461418dd79a07d6b712505ed3ddb0e" +"md","template","bmb","bmad/bmb/workflows/create-workflow/workflow-template/template.md","c98f65a122035b456f1cbb2df6ecaf06aa442746d93a29d1d0ed2fc9274a43ee" +"md","template","bmb","bmad/bmb/workflows/module-brief/template.md","7d1ad5ec40b06510fcbb0a3da8ea32aefa493e5b04c3a2bba90ce5685b894275" +"md","workflow-creation-guide","bmb","bmad/bmb/workflows/create-workflow/workflow-creation-guide.md","abedfdc607c4c1aaebec53aaddbbf077e91bb3fc78f0fd4fcabaae12c33002f5" +"yaml","bmad-builder.agent","bmb","bmad/bmb/agents/bmad-builder.agent.yaml","" +"yaml","config","bmb","bmad/bmb/config.yaml","25225c1376f0ca74fc151fa146cd02b8264a31184a1187d965d87b6a8eaef855" +"yaml","install-config","bmb","bmad/bmb/workflows/create-module/installer-templates/install-config.yaml","484448c87b55725f2cb5eb8661c4706b7d43ddbb94bbfe98abaab591bcef32d0" +"yaml","workflow","bmb","bmad/bmb/workflows/audit-workflow/workflow.yaml","12dbdf2b847380b7fa6a7903571344cc739d65b16fd6bae6c4367e2d67042030" +"yaml","workflow","bmb","bmad/bmb/workflows/convert-legacy/workflow.yaml","87915a8bf02af6445d59428374a87e803dad7f33769b114a8528ce23b17cc7d6" +"yaml","workflow","bmb","bmad/bmb/workflows/create-agent/workflow.yaml","15e114bde5cd9be928de5d59ed1495318f02d5b88e955a531dd1777e347437e1" +"yaml","workflow","bmb","bmad/bmb/workflows/create-module/workflow.yaml","dd4e6e631d83863011ef631ce87eb102aa8d26a31cce49d8109c02bf7a49f898" +"yaml","workflow","bmb","bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml","5413ac9c45fc3c5946f11422328e76e8df5741a40f49aac3e651dafadca48772" +"yaml","workflow","bmb","bmad/bmb/workflows/create-workflow/workflow.yaml","d510e596c66148eab32074f065afb20f27a879f5c71b0edafc555001e9c616b9" +"yaml","workflow","bmb","bmad/bmb/workflows/edit-agent/workflow.yaml","b9cddaea8f7adf541a68783b44b55f9e9b0f0a7ad822a906cb18d3cd959c367a" +"yaml","workflow","bmb","bmad/bmb/workflows/edit-module/workflow.yaml","89d6f2b8391e78cd885f904adc427f66d032bd66d63845124fc2db17032248a2" +"yaml","workflow","bmb","bmad/bmb/workflows/edit-workflow/workflow.yaml","a7ce4121cd70e1c69b77c8dbb16f71ca5c78071967930ee52ed157cd990b0a88" +"yaml","workflow","bmb","bmad/bmb/workflows/module-brief/workflow.yaml","257d39ce8ad539838211f9b52d3f1218d7e122f2964341368e3c2689fecd7cd4" +"yaml","workflow","bmb","bmad/bmb/workflows/redoc/workflow.yaml","467ef6657aec0b889555ad9590cd0bbcec448678366a4c4438dbbd23d658c44a" +"csv","default-party","bmm","bmad/bmm/teams/default-party.csv","92f7c52a3a1441e5139e11e91eddeb4f1bca83e73ddcd291ec36401a1f4c39db" +"csv","documentation-requirements","bmm","bmad/bmm/workflows/document-project/documentation-requirements.csv","d1253b99e88250f2130516b56027ed706e643bfec3d99316727a4c6ec65c6c1d" +"csv","domain-complexity","bmm","bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv","ed4d30e9fd87db2d628fb66cac7a302823ef6ebb3a8da53b9265326f10a54e11" +"csv","pattern-categories","bmm","bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv","d9a275931bfed32a65106ce374f2bf8e48ecc9327102a08f53b25818a8c78c04" +"csv","project-types","bmm","bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv","30a52051db3f0e4ff0145b36cd87275e1c633bc6c25104a714c88341e28ae756" +"csv","tea-index","bmm","bmad/bmm/testarch/tea-index.csv","23b0e383d06e039a77bb1611b168a2bb5323ed044619a592ac64e36911066c83" +"json","project-scan-report-schema","bmm","bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json","53255f15a10cab801a1d75b4318cdb0095eed08c51b3323b7e6c236ae6b399b7" +"md","agents-guide","bmm","bmad/bmm/docs/agents-guide.md","d1466c9ac38ddceefc7598282699f0a469383909831f2a70227119c26a20d074" +"md","analyst","bmm","bmad/bmm/agents/analyst.md","c5251d3e3bdd9d14d973b1286b1a7585f46f54ae8037ccd9a8451e922ce2da60" +"md","architect","bmm","bmad/bmm/agents/architect.md","a8bb17d5a30fa9b7c60501239b6275b21f65cb709b53a68abda69f11e2f93cbe" +"md","architecture-template","bmm","bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md","a4908c181b04483c589ece1eb09a39f835b8a0dcb871cb624897531c371f5166" +"md","atdd-checklist-template","bmm","bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md","9944d7b488669bbc6e9ef537566eb2744e2541dad30a9b2d9d4ae4762f66b337" +"md","AUDIT-REPORT","bmm","bmad/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md","1dc2f30299b35da8f659b3d8f2b0301bd2098fd90f1ea35364d752b0620259d0" +"md","backlog_template","bmm","bmad/bmm/workflows/4-implementation/code-review/backlog_template.md","84b1381c05012999ff9a8b036b11c8aa2f926db4d840d256b56d2fa5c11f4ef7" +"md","brownfield-guide","bmm","bmad/bmm/docs/brownfield-guide.md","083dbf565e3bbdbbb899b31fb201ec7e98e8cafbba4d5f539fe9019f3a21e8c7" +"md","checklist","bmm","bmad/bmm/workflows/1-analysis/product-brief/checklist.md","d801d792e3cf6f4b3e4c5f264d39a18b2992a197bc347e6d0389cc7b6c5905de" +"md","checklist","bmm","bmad/bmm/workflows/1-analysis/research/checklist.md","b5bce869ee1ffd1d7d7dee868c447993222df8ac85c4f5b18957b5a5b04d4499" +"md","checklist","bmm","bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md","1aa5bc2ad9409fab750ce55475a69ec47b7cdb5f4eac93b628bb5d9d3ea9dacb" +"md","checklist","bmm","bmad/bmm/workflows/2-plan-workflows/prd/checklist.md","c9cbd451aea761365884ce0e47b86261cff5c72a6ffac2451123484b79dd93d1" +"md","checklist","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md","fea852e71365e1eb28f452ea7b8b19c7418ca1598c2ee22349ff9e9a7811fec8" +"md","checklist","bmm","bmad/bmm/workflows/3-solutioning/architecture/checklist.md","aa0bd2bde20f45be77c5b43c38a1dfb90c41947ff8320f53150c5f8274680f14" +"md","checklist","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md","c458763b4f2f4e06e2663c111eab969892ee4e690a920b970603de72e0d9c025" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/code-review/checklist.md","549f958bfe0b28f33ed3dac7b76ea8f266630b3e67f4bda2d4ae85be518d3c89" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/correct-course/checklist.md","c02bdd4bf4b1f8ea8f7c7babaa485d95f7837818e74cef07486a20b31671f6f5" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/create-story/checklist.md","e3a636b15f010fc0c337e35c2a9427d4a0b9746f7f2ac5dda0b2f309f469f5d1" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/dev-story/checklist.md","77cecc9d45050de194300c841e7d8a11f6376e2fbe0a5aac33bb2953b1026014" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md","630a0c5b75ea848a74532f8756f01ec12d4f93705a3f61fcde28bc42cdcb3cf3" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md","80b10aedcf88ab1641b8e5f99c9a400c8fd9014f13ca65befc5c83992e367dd7" +"md","checklist","bmm","bmad/bmm/workflows/4-implementation/story-context/checklist.md","29f17f8b5c0c4ded3f9ca7020b5a950ef05ae3c62c3fadc34fc41b0c129e13ca" +"md","checklist","bmm","bmad/bmm/workflows/document-project/checklist.md","54e260b60ba969ecd6ab60cb9928bc47b3733d7b603366e813eecfd9316533df" +"md","checklist","bmm","bmad/bmm/workflows/testarch/atdd/checklist.md","c4fa594d949dd8f1f818c11054b28643b458ab05ed90cf65f118deb1f4818e9f" +"md","checklist","bmm","bmad/bmm/workflows/testarch/automate/checklist.md","bf1ae220c15c9f263967d1606658b19adcd37d57aef2b0faa30d34f01e5b0d22" +"md","checklist","bmm","bmad/bmm/workflows/testarch/ci/checklist.md","b0a6233b7d6423721aa551ad543fa708ede1343313109bdc0cbd37673871b410" +"md","checklist","bmm","bmad/bmm/workflows/testarch/framework/checklist.md","d0f1008c374d6c2d08ba531e435953cf862cc280fcecb0cca8e9028ddeb961d1" +"md","checklist","bmm","bmad/bmm/workflows/testarch/nfr-assess/checklist.md","044416df40402db39eb660509eedadafc292c16edc247cf93812f2a325ee032c" +"md","checklist","bmm","bmad/bmm/workflows/testarch/test-design/checklist.md","17b95b1b316ab8d2fc9a2cd986ec5ef481cb4c285ea11651abd53c549ba762bb" +"md","checklist","bmm","bmad/bmm/workflows/testarch/test-review/checklist.md","0626c675114c23019e20e4ae2330a64baba43ad11774ff268c027b3c584a0891" +"md","checklist","bmm","bmad/bmm/workflows/testarch/trace/checklist.md","a4468ae2afa9cf676310ec1351bb34317d5390e4a02ded9684cc15a62f2fd4fd" +"md","checklist-deep-prompt","bmm","bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md","1aa3eb0dd454decd55e656d3b6ed8aafe39baa5a042b754fd84083cfd59d5426" +"md","checklist-technical","bmm","bmad/bmm/workflows/1-analysis/research/checklist-technical.md","8f879eac05b729fa4d3536197bbc7cce30721265c5a81f8750698b27aa9ad633" +"md","ci-burn-in","bmm","bmad/bmm/testarch/knowledge/ci-burn-in.md","de0092c37ea5c24b40a1aff90c5560bbe0c6cc31702de55d4ea58c56a2e109af" +"md","component-tdd","bmm","bmad/bmm/testarch/knowledge/component-tdd.md","88bd1f9ca1d5bcd1552828845fe80b86ff3acdf071bac574eda744caf7120ef8" +"md","contract-testing","bmm","bmad/bmm/testarch/knowledge/contract-testing.md","d8f662c286b2ea4772213541c43aebef006ab6b46e8737ebdc4a414621895599" +"md","data-factories","bmm","bmad/bmm/testarch/knowledge/data-factories.md","d7428fe7675da02b6f5c4c03213fc5e542063f61ab033efb47c1c5669b835d88" +"md","deep-dive-instructions","bmm","bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md","5df994e4e77a2a64f98fb7af4642812378f15898c984fb4f79b45fb2201f0000" +"md","deep-dive-template","bmm","bmad/bmm/workflows/document-project/templates/deep-dive-template.md","6198aa731d87d6a318b5b8d180fc29b9aa53ff0966e02391c17333818e94ffe9" +"md","dev","bmm","bmad/bmm/agents/dev.md","ade37e17b0172c7097eb224edbcde136f7346597529bf478154c6452058bde17" +"md","documentation-standards","bmm","bmad/bmm/workflows/techdoc/documentation-standards.md","fc26d4daff6b5a73eb7964eacba6a4f5cf8f9810a8c41b6949c4023a4176d853" +"md","email-auth","bmm","bmad/bmm/testarch/knowledge/email-auth.md","43f4cc3138a905a91f4a69f358be6664a790b192811b4dfc238188e826f6b41b" +"md","enterprise-agentic-development","bmm","bmad/bmm/docs/enterprise-agentic-development.md","6e8fa4765da3344a23ae04882df8b0245b37c0a20616968f32487a908836a875" +"md","epics-template","bmm","bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md","d497e0f6db4411d8ee423c1cbbf1c0fa7bfe13ae5199a693c80b526afd417bb0" +"md","epics-template","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md","bb05533e9c003a01edeff9553a7e9e65c255920668e1b71ad652b5642949fb69" +"md","error-handling","bmm","bmad/bmm/testarch/knowledge/error-handling.md","8a314eafb31e78020e2709d88aaf4445160cbefb3aba788b62d1701557eb81c1" +"md","faq","bmm","bmad/bmm/docs/faq.md","fc0592c32eef96a0003217c5e4f18bee821ff0d35895460819df91395225f083" +"md","feature-flags","bmm","bmad/bmm/testarch/knowledge/feature-flags.md","f6db7e8de2b63ce40a1ceb120a4055fbc2c29454ad8fca5db4e8c065d98f6f49" +"md","fixture-architecture","bmm","bmad/bmm/testarch/knowledge/fixture-architecture.md","a3b6c1bcaf5e925068f3806a3d2179ac11dde7149e404bc4bb5602afb7392501" +"md","full-scan-instructions","bmm","bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md","f51b4444c5a44f098ce49c4ef27a50715b524c074d08c41e7e8c982df32f38b9" +"md","glossary","bmm","bmad/bmm/docs/glossary.md","1b8010c64dd92319b1104de818e97c0faca075496f7c0a4484509836857a589d" +"md","index-template","bmm","bmad/bmm/workflows/document-project/templates/index-template.md","42c8a14f53088e4fda82f26a3fe41dc8a89d4bcb7a9659dd696136378b64ee90" +"md","instructions","bmm","bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md","91c7b5649b9cc99e3698d1a6b1abd17b7567f4478156c8666107946bc43e51a8" +"md","instructions","bmm","bmad/bmm/workflows/1-analysis/domain-research/instructions.md","fb136f53c9f9c88ac54e810313eb8d1be43167adaeba6ada2a53f0861e558b16" +"md","instructions","bmm","bmad/bmm/workflows/1-analysis/product-brief/instructions.md","3c21ceb9f83789ea7ab7866497008fece1e525a7877c19fa3167ff85b110de1b" +"md","instructions","bmm","bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md","2164a42dcd80ea7a95030974502e9c43b50c369f52c804ae0c5d3c26cc57bb71" +"md","instructions","bmm","bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md","916247ffcab63737bb9853348b4ac9212c5ab06d5caccdb83248f96bf81d29f6" +"md","instructions","bmm","bmad/bmm/workflows/2-plan-workflows/prd/instructions.md","22a7d64903948684b746131ed4eb29b83d848c21abf0f534ca8bb66e6c8070ce" +"md","instructions","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md","51389527c9adcbd13f121314b9af0dda033f3aa98f04f1a5082e3b410e399747" +"md","instructions","bmm","bmad/bmm/workflows/3-solutioning/architecture/instructions.md","6ea2b19232eb015008f990a48c9cb882216334af89996bcd7245c96ab3ca57b3" +"md","instructions","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md","2d11c6d5fb71a4600d258fc9fa4e432d3638eca00f5c7f89be20d0d72a300ad0" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/code-review/instructions.md","2eb3c32afe60f0c53e9e973f505aeba2b2dfc0f5caffb3ae4a06a95971544632" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/correct-course/instructions.md","496d491641f4fd47579d50e8e435a37df7fc565e707c1fdfebbc931ba294b728" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/create-story/instructions.md","9d25311570f8fea94e5670521489947209e477fe6ca80e3ff4b9e60a43c52f4c" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/dev-story/instructions.md","715706691014a922f700542c12e0087895f7c5d03c6b2b33306447d3eb67475b" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md","b97f601c655ba53f206c36791c8ecf41399dddc4a9712159378d95f46f24fe54" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/retrospective/instructions.md","2846289787a169f36d74a023930be6a4e16852aa2a41c980ca59bd79d89a58c7" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md","9e2a26d84dc90f5153dcd9ca0ddcbfaaa5064e6d2b4b91dfd768de1f27ac577c" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/story-context/instructions.md","0655d1963591c118675b7c32b126f83bfc0abc5acf9fb3efae8ec2100cd46301" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/story-done/instructions.md","52163e1df2e75f1d34cad513b386ac73bada53784e827cca28d0ea9f05dc8ec4" +"md","instructions","bmm","bmad/bmm/workflows/4-implementation/story-ready/instructions.md","92e97b5803ba75883c995c5282aa90b7c4392e0d9c5fe0a5949ce432a3574813" +"md","instructions","bmm","bmad/bmm/workflows/document-project/instructions.md","c67bd666382131bead7d4ace1ac6f0c9acd2d1d1b2a82314b4b90bda3a15eeb4" +"md","instructions","bmm","bmad/bmm/workflows/testarch/atdd/instructions.md","dcd052e78a069e9548d66ba679ed5db66e94b8ef5b3a02696837b77a641abcad" +"md","instructions","bmm","bmad/bmm/workflows/testarch/automate/instructions.md","8e6cb0167b14b345946bb7e46ab2fb02a9ff2faab9c3de34848e2d4586626960" +"md","instructions","bmm","bmad/bmm/workflows/testarch/ci/instructions.md","abdf97208c19d0cb76f9e5387613a730e56ddd90eb87523a8c8f1b03f20647a3" +"md","instructions","bmm","bmad/bmm/workflows/testarch/framework/instructions.md","936b9770dca2c65b38bc33e2e85ccf61e0b5722fc046eeae159a3efcbc361e30" +"md","instructions","bmm","bmad/bmm/workflows/testarch/nfr-assess/instructions.md","7de16907253721c8baae2612be35325c6fa543765377783763a09739fa71f072" +"md","instructions","bmm","bmad/bmm/workflows/testarch/test-design/instructions.md","878c45fd814f97a93fc0ee9d90e1454f0fa3c9e5a077033b6fd52eab6d7b506c" +"md","instructions","bmm","bmad/bmm/workflows/testarch/test-review/instructions.md","ab2f7adfd106652014a1573e2557cfd4c9d0f7017258d68abf8b1470ab82720e" +"md","instructions","bmm","bmad/bmm/workflows/testarch/trace/instructions.md","fe499a09c4bebbff0a0bce763ced2c36bee5c36b268a4abb4e964a309ff2fa20" +"md","instructions","bmm","bmad/bmm/workflows/workflow-status/init/instructions.md","abaa96dc1de78d597e29439789ba540b891dc117e013e0c706c000469af2fc31" +"md","instructions","bmm","bmad/bmm/workflows/workflow-status/instructions.md","1faa787f278a2ee95b418e82475be6f24a09f4bb566f5544c8585ed410cf62b2" +"md","instructions-deep-prompt","bmm","bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md","0f06e808bb5793e4a4ec59cf8c6a3ad53e822c2aa0f0ccef6406d26bd1fa08f7" +"md","instructions-level0-story","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md","d151a30816d6231fbd8b44e6d3503a986b4344dd03fc756670002adc501b0cda" +"md","instructions-level1-stories","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md","849f9c055584c895a8778c9a916c5db777fdac575f709c40ddda660450190ed6" +"md","instructions-market","bmm","bmad/bmm/workflows/1-analysis/research/instructions-market.md","ecd2315e72edb569f46e94f5958fac115b44807cab769a3e55c3b80e58136447" +"md","instructions-router","bmm","bmad/bmm/workflows/1-analysis/research/instructions-router.md","a55dae293e8a97fc6f6672cd57f3d1f7c94802954c9124a8cc4eec12fb667c71" +"md","instructions-technical","bmm","bmad/bmm/workflows/1-analysis/research/instructions-technical.md","47b653bd61f6a3fe4ba89b53a7b8a9383560adfce6bf8acf24f6acc594eceb44" +"md","network-first","bmm","bmad/bmm/testarch/knowledge/network-first.md","2920e58e145626f5505bcb75e263dbd0e6ac79a8c4c2ec138f5329e06a6ac014" +"md","nfr-criteria","bmm","bmad/bmm/testarch/knowledge/nfr-criteria.md","e63cee4a0193e4858c8f70ff33a497a1b97d13a69da66f60ed5c9a9853025aa1" +"md","nfr-report-template","bmm","bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md","b1d8fcbdfc9715a285a58cb161242dea7d311171c09a2caab118ad8ace62b80c" +"md","party-mode","bmm","bmad/bmm/docs/party-mode.md","7acadc96c7235695a88cba42b5642e1ee3a7f96eb2264862f629e1d4280b9761" +"md","playwright-config","bmm","bmad/bmm/testarch/knowledge/playwright-config.md","42516511104a7131775f4446196cf9e5dd3295ba3272d5a5030660b1dffaa69f" +"md","pm","bmm","bmad/bmm/agents/pm.md","edef9620a64c8aa357f565495195179bbaaeea31d153f17fe1d03973cd51017f" +"md","prd-template","bmm","bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md","cf79921e432b992048af21cb4c87ca5cbc14cdf6e279324b3d5990a7f2366ec4" +"md","probability-impact","bmm","bmad/bmm/testarch/knowledge/probability-impact.md","446dba0caa1eb162734514f35366f8c38ed3666528b0b5e16c7f03fd3c537d0f" +"md","project-context","bmm","bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md","0f1888da4bfc4f24c4de9477bd3ccb2a6fb7aa83c516dfdc1f98fbd08846d4ba" +"md","project-overview-template","bmm","bmad/bmm/workflows/document-project/templates/project-overview-template.md","a7c7325b75a5a678dca391b9b69b1e3409cfbe6da95e70443ed3ace164e287b2" +"md","quick-spec-flow","bmm","bmad/bmm/docs/quick-spec-flow.md","215d508d27ea94e0091fc32f8dce22fadf990b3b9d8b397e2c393436934f85af" +"md","quick-start","bmm","bmad/bmm/docs/quick-start.md","88946558a87bd2eb38990cff74f29b6ef4f81db6f961500f9ca626d168cd0fce" +"md","README","bmm","bmad/bmm/README.md","ad4e6d0c002e3a5fef1b695bda79e245fe5a43345375c699165b32d6fc511457" +"md","README","bmm","bmad/bmm/docs/README.md","27a835cbc5ed50e4b076d8f0d9454c8e6b6826e69d72ec010df904e891023493" +"md","risk-governance","bmm","bmad/bmm/testarch/knowledge/risk-governance.md","2fa2bc3979c4f6d4e1dec09facb2d446f2a4fbc80107b11fc41cbef2b8d65d68" +"md","scale-adaptive-system","bmm","bmad/bmm/docs/scale-adaptive-system.md","f1bdaac7e6cf96dc115d8fd86c7dc499892ad745a1330221fedbaae1188c6a24" +"md","selective-testing","bmm","bmad/bmm/testarch/knowledge/selective-testing.md","c14c8e1bcc309dbb86a60f65bc921abf5a855c18a753e0c0654a108eb3eb1f1c" +"md","selector-resilience","bmm","bmad/bmm/testarch/knowledge/selector-resilience.md","a55c25a340f1cd10811802665754a3f4eab0c82868fea61fea9cc61aa47ac179" +"md","sm","bmm","bmad/bmm/agents/sm.md","957f431bac1a60c750bc4c84064f80280f9ff53426f4f46b11702e0ab64d8476" +"md","source-tree-template","bmm","bmad/bmm/workflows/document-project/templates/source-tree-template.md","109bc335ebb22f932b37c24cdc777a351264191825444a4d147c9b82a1e2ad7a" +"md","tea","bmm","bmad/bmm/agents/tea.md","f77345c6c5393da31b8045c6d3a4af636de100d20d4a9fec96a949e9c12aaf91" +"md","tech-spec-template","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md","2b07373b7b23f71849f107b8fd4356fef71ba5ad88d7f333f05547da1d3be313" +"md","tech-writer","bmm","bmad/bmm/agents/tech-writer.md","a5925b4be760cee6b91c2997b8ec224d7889f2a97b6fb91c13ad8ee707b8b3e3" +"md","template","bmm","bmad/bmm/workflows/1-analysis/domain-research/template.md","5606843f77007d886cc7ecf1fcfddd1f6dfa3be599239c67eff1d8e40585b083" +"md","template","bmm","bmad/bmm/workflows/1-analysis/product-brief/template.md","96f89df7a4dabac6400de0f1d1abe1f2d4713b76fe9433f31c8a885e20d5a5b4" +"md","template","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md","11c3b7573991c001a7f7780daaf5e5dfa4c46c3ea1f250c5bbf86c5e9f13fc8b" +"md","template","bmm","bmad/bmm/workflows/4-implementation/create-story/template.md","83c5d21312c0f2060888a2a8ba8332b60f7e5ebeb9b24c9ee59ba96114afb9c9" +"md","template","bmm","bmad/bmm/workflows/4-implementation/epic-tech-context/template.md","b5c5d0686453b7c9880d5b45727023f2f6f8d6e491b47267efa8f968f20074e3" +"md","template-deep-prompt","bmm","bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md","2e65c7d6c56e0fa3c994e9eb8e6685409d84bc3e4d198ea462fa78e06c1c0932" +"md","template-market","bmm","bmad/bmm/workflows/1-analysis/research/template-market.md","e5e59774f57b2f9b56cb817c298c02965b92c7d00affbca442366638cd74d9ca" +"md","template-technical","bmm","bmad/bmm/workflows/1-analysis/research/template-technical.md","78caa56ba6eb6922925e5aab4ed4a8245fe744b63c245be29a0612135851f4ca" +"md","test-architecture","bmm","bmad/bmm/docs/test-architecture.md","13342dd006b91cd445dcf5a868541b1cf59b40022227e8c87b66669862e993bf" +"md","test-design-template","bmm","bmad/bmm/workflows/testarch/test-design/test-design-template.md","cbbc3e3d097dfd31784b9447d07b4b4f4c63dadf2ba0968671ec862da8c30d27" +"md","test-healing-patterns","bmm","bmad/bmm/testarch/knowledge/test-healing-patterns.md","b44f7db1ebb1c20ca4ef02d12cae95f692876aee02689605d4b15fe728d28fdf" +"md","test-levels-framework","bmm","bmad/bmm/testarch/knowledge/test-levels-framework.md","80bbac7959a47a2e7e7de82613296f906954d571d2d64ece13381c1a0b480237" +"md","test-priorities-matrix","bmm","bmad/bmm/testarch/knowledge/test-priorities-matrix.md","321c3b708cc19892884be0166afa2a7197028e5474acaf7bc65c17ac861964a5" +"md","test-quality","bmm","bmad/bmm/testarch/knowledge/test-quality.md","97b6db474df0ec7a98a15fd2ae49671bb8e0ddf22963f3c4c47917bb75c05b90" +"md","test-review-template","bmm","bmad/bmm/workflows/testarch/test-review/test-review-template.md","3e68a73c48eebf2e0b5bb329a2af9e80554ef443f8cd16652e8343788f249072" +"md","timing-debugging","bmm","bmad/bmm/testarch/knowledge/timing-debugging.md","c4c87539bbd3fd961369bb1d7066135d18c6aad7ecd70256ab5ec3b26a8777d9" +"md","trace-template","bmm","bmad/bmm/workflows/testarch/trace/trace-template.md","5453a8e4f61b294a1fc0ba42aec83223ae1bcd5c33d7ae0de6de992e3ee42b43" +"md","user-story-template","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md","4b179d52088745060991e7cfd853da7d6ce5ac0aa051118c9cecea8d59bdaf87" +"md","ux-design-template","bmm","bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md","f9b8ae0fe08c6a23c63815ddd8ed43183c796f266ffe408f3426af1f13b956db" +"md","ux-designer","bmm","bmad/bmm/agents/ux-designer.md","5a1ce1b47a4f67b25dd464a94a8149bc86b7690b585738dcfbf273a0a035c7ea" +"md","visual-debugging","bmm","bmad/bmm/testarch/knowledge/visual-debugging.md","072a3d30ba6d22d5e628fc26a08f6e03f8b696e49d5a4445f37749ce5cd4a8a9" +"md","workflow-architecture-reference","bmm","bmad/bmm/docs/workflow-architecture-reference.md","ce6c43a7f90e7b31655dd1bc9632cda700e105315f5ef25067319792274b2283" +"md","workflow-document-project-reference","bmm","bmad/bmm/docs/workflow-document-project-reference.md","464819d23cc4bc88b20c8a668669ae7a6bc7bcb5e4aaa1d0f0998f35ff7ad8df" +"md","workflows-analysis","bmm","bmad/bmm/docs/workflows-analysis.md","4dd00c829adcf881ecb96e083f754a4ce109159cfdaff8a5a856590ba33f1d74" +"md","workflows-implementation","bmm","bmad/bmm/docs/workflows-implementation.md","d9d22fd7e11a5586f4c93d38f88fd93e4203d31d3388ad2d0de439cc8d35df79" +"md","workflows-planning","bmm","bmad/bmm/docs/workflows-planning.md","b713c4b5c3275daa8285fa5e8a18d9e2b6d38c66cbb77e302c15b40ea9bb3029" +"md","workflows-solutioning","bmm","bmad/bmm/docs/workflows-solutioning.md","193b6bfdafcf802b9ff6f39d1bea4fe09d788e3b2bbfe9ff034019c9a3fba696" +"xml","context-template","bmm","bmad/bmm/workflows/4-implementation/story-context/context-template.xml","582374f4d216ba60f1179745b319bbc2becc2ac92d7d8a19ac3273381a5c2549" +"xml","daily-standup","bmm","bmad/bmm/tasks/daily-standup.xml","e7260fff0437543d980ba0aa031169a2fcbbcb82283d722fd62bae063ffdfa7a" +"yaml","analyst.agent","bmm","bmad/bmm/agents/analyst.agent.yaml","" +"yaml","architect.agent","bmm","bmad/bmm/agents/architect.agent.yaml","" +"yaml","architecture-patterns","bmm","bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml","9394c1e632e01534f7a1afd676de74b27f1868f58924f21b542af3631679c552" +"yaml","config","bmm","bmad/bmm/config.yaml","5c70cc87f606b834885744f468071c37726736de18a20dec40dc7a88012a61e1" +"yaml","decision-catalog","bmm","bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml","f7fc2ed6ec6c4bd78ec808ad70d24751b53b4835e0aad1088057371f545d3c82" +"yaml","deep-dive","bmm","bmad/bmm/workflows/document-project/workflows/deep-dive.yaml","c401fb8d94ca96f3bb0ccc1146269e1bfa4ce4eadab52bd63c7fcff6c2f26216" +"yaml","dev.agent","bmm","bmad/bmm/agents/dev.agent.yaml","" +"yaml","enterprise-brownfield","bmm","bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml","8b81f8b51f6575b92f8b490694e5f538aad9644c86119ccd6e2b727c7c232ef7" +"yaml","enterprise-greenfield","bmm","bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml","040727a03c69aac1ac980ec3d708f7e64f083640fe1e724b3f09b9880f400e5a" +"yaml","full-scan","bmm","bmad/bmm/workflows/document-project/workflows/full-scan.yaml","3d2e620b58902ab63e2d83304180ecd22ba5ab07183b3afb47261343647bde6f" +"yaml","game-design","bmm","bmad/bmm/workflows/workflow-status/paths/game-design.yaml","f5228c1cd593348f03824535e19a6c41b926a49a0c63ca320a2cd2e0d8b11976" +"yaml","github-actions-template","bmm","bmad/bmm/workflows/testarch/ci/github-actions-template.yaml","28c0de7c96481c5a7719596c85dd0ce8b5dc450d360aeaa7ebf6294dcf4bea4c" +"yaml","gitlab-ci-template","bmm","bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml","bc83b9240ad255c6c2a99bf863b9e519f736c99aeb4b1e341b07620d54581fdc" +"yaml","injections","bmm","bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml","dd6dd6e722bf661c3c51d25cc97a1e8ca9c21d517ec0372e469364ba2cf1fa8b" +"yaml","method-brownfield","bmm","bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml","6f4c6b508d3af2eba1409d48543e835d07ec4d453fa34fe53a2c7cbb91658969" +"yaml","method-greenfield","bmm","bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml","1eb8232eca4cb915acecbc60fe3495c6dcc8d2241393ee42d62b5f491d7c223e" +"yaml","pm.agent","bmm","bmad/bmm/agents/pm.agent.yaml","" +"yaml","project-levels","bmm","bmad/bmm/workflows/workflow-status/project-levels.yaml","414b9aefff3cfe864e8c14b55595abfe3157fd20d9ee11bb349a2b8c8e8b5449" +"yaml","quick-flow-brownfield","bmm","bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml","0d8837a07efaefe06b29c1e58fee982fafe6bbb40c096699bd64faed8e56ebf8" +"yaml","quick-flow-greenfield","bmm","bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml","c6eae1a3ef86e87bd48a285b11989809526498dc15386fa949279f2e77b011d5" +"yaml","sample-level-3-workflow","bmm","bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml","036b27d39d3a845abed38725d816faca1452651c0b90f30f6e3adc642c523c6f" +"yaml","sm.agent","bmm","bmad/bmm/agents/sm.agent.yaml","" +"yaml","sprint-status-template","bmm","bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml","314af29f980b830cc2f67b32b3c0c5cc8a3e318cc5b2d66ff94540e5c80e3aca" +"yaml","tea.agent","bmm","bmad/bmm/agents/tea.agent.yaml","" +"yaml","team-fullstack","bmm","bmad/bmm/teams/team-fullstack.yaml","da8346b10dfad8e1164a11abeb3b0a84a1d8b5f04e01e8490a44ffca477a1b96" +"yaml","tech-writer.agent","bmm","bmad/bmm/agents/tech-writer.agent.yaml","" +"yaml","ux-designer.agent","bmm","bmad/bmm/agents/ux-designer.agent.yaml","" +"yaml","validation-criteria","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml","d690edf5faf95ca1ebd3736e01860b385b05566da415313d524f4db12f9a5af4" +"yaml","workflow","bmm","bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml","38d859ea65db2cc2eebb0dbf1679711dad92710d8da2c2d9753b852055abd970" +"yaml","workflow","bmm","bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml","03ecc394a1a6f1e345e95173231b981e7acb09d0017560727327090c44b7de35" +"yaml","workflow","bmm","bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml","69c3ec3a42e638d44ccae5e0cf6e068e67f4689f3692d1efac184152e27698a8" +"yaml","workflow","bmm","bmad/bmm/workflows/1-analysis/research/workflow.yaml","3489d4989ad781f67909269e76b439122246d667d771cbb64988e4624ee2572a" +"yaml","workflow","bmm","bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml","f9e680c0d7fdecf691dd9eecb0792f232f00cc5cdee18b3aa9946e5766e876d5" +"yaml","workflow","bmm","bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml","96645d267020a88d8bfe83ab893ffcb47d9ce7b2b69093db63026b9f76eaa517" +"yaml","workflow","bmm","bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml","292c2273f1b22fe16f2a4c602db68b7adb3affa77dfaeb26f801676edc288b73" +"yaml","workflow","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml","d9b6e9405f44de954f83c2328a95a4e10479c292b84ed28a756f5712fc12be17" +"yaml","workflow","bmm","bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml","3ff2ce0d789e1dd73e4427aada3853ac5532cb054559d70f1bc933087e69f4e1" +"yaml","workflow","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml","f17268e08ec2b63cf2d109ee42269223117d0330728e960d1105106efd8462b4" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/code-review/workflow.yaml","37215c77c85ffcdcd96f564746e211962f8eeae306c7b8d01d94815cbd252f65" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml","79663be356876f0734dc24349c2db14a0f27ab53eb635e2ca22d052ccf88ca06" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/create-story/workflow.yaml","feb4206ccdb08021fa40d241135b019b69459ff6cc9e68faccb3ceebf6322b46" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml","cef3d12648ba38aa41662490101516384c9b9cd13b0119a7b2f0b0e563e8b1c6" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml","f953cd7cf84d6065e31eeec848fadf3b829fc5e98a2f20c12a4042c30091df34" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml","183de1c1156a9c0787ec31dc1def2ded490735a21c82c85635b24044946b0ae4" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml","47a933e12162326a9258603501f446b27cebdd0f5a6fa19ff5ea00e579decc27" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/story-context/workflow.yaml","06d034ec9b60a97f5e268920f13afbafae495331b54353d144daf0c5a91181e5" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/story-done/workflow.yaml","fa709f77a94b94cf1051cc66e12e1cdc4dfc10100884d47a86dbbe62702288c7" +"yaml","workflow","bmm","bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml","9cef1dbb6d437cb280d5566e0a56d40da1f84a7cb34ad887318deeb6a2a5f544" +"yaml","workflow","bmm","bmad/bmm/workflows/document-project/workflow.yaml","36b65f562bb94eb819728d819e66fd5a23d1b98d1766050c998fd6feaf3df8f6" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/atdd/workflow.yaml","06474fa7f23657d4145a214771a68e7d894e4488cc5a82c943dad765601f48be" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/automate/workflow.yaml","e733691f1613e6c55d28a42f745cf396a6f62b62968ff9c42cdb53b2ac3cadcb" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/ci/workflow.yaml","87ca4dceeaa74f6c151d4add6541ed9b8376aa3015c9e4532c8bfc1b93e0abe9" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/framework/workflow.yaml","e2efafaeabfe9c608df7545e442f25e0518e50b9b48d5bcef61cf5e0b1daadb0" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml","5bf4a2dede46943bb449ac51cc07335d350cfb8a270f82fffbe5fae921ac6d72" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/test-design/workflow.yaml","581e91cb914a02b9ae79d1d139264e1dfba663072b6d09dca3250720835fdc60" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/test-review/workflow.yaml","7c05fab368e2211c97bc9ba92556d6047de4535a28792731215151ef8bf497c5" +"yaml","workflow","bmm","bmad/bmm/workflows/testarch/trace/workflow.yaml","51c96a9c007ca3ef2d39fa199f2d8c7cb33506b20775ef51f80624fc272cd66f" +"yaml","workflow","bmm","bmad/bmm/workflows/workflow-status/init/workflow.yaml","01aae9499f50a40dbbd0018308f3ae016b4d62de3de22d06d2402bdc1a6471a5" +"yaml","workflow","bmm","bmad/bmm/workflows/workflow-status/workflow.yaml","6a1ad67ec954660fd8e7433b55ab3b75e768f7efa33aad36cf98cdbc2ef6575b" +"yaml","workflow-status-template","bmm","bmad/bmm/workflows/workflow-status/workflow-status-template.yaml","6021202726d2b81f28908ffeb93330d25bcd52986823200e01b814d67c1677dd" +"csv","adv-elicit-methods","core","bmad/core/tasks/adv-elicit-methods.csv","b4e925870f902862899f12934e617c3b4fe002d1b652c99922b30fa93482533b" +"csv","brain-methods","core","bmad/core/workflows/brainstorming/brain-methods.csv","ecffe2f0ba263aac872b2d2c95a3f7b1556da2a980aa0edd3764ffb2f11889f3" +"md","bmad-master","core","bmad/core/agents/bmad-master.md","906028c592f49b6b9962c7efa63535b069b731237d28617a56434d061210d02a" +"md","instructions","core","bmad/core/workflows/brainstorming/instructions.md","f737f1645d0f7af37fddd1d4ac8a387f26999d0be5748ce41bdbcf2b89738413" +"md","instructions","core","bmad/core/workflows/party-mode/instructions.md","768a835653fea54cbf4f7136e19f968add5ccf4b1dbce5636c5268d74b1b7181" +"md","README","core","bmad/core/workflows/brainstorming/README.md","92d624c9ec560297003db0616671fbd6c278d9ea3dacf1c6cf41f064bacec926" +"md","template","core","bmad/core/workflows/brainstorming/template.md","b5c760f4cea2b56c75ef76d17a87177b988ac846657f4b9819ec125d125b7386" +"xml","adv-elicit","core","bmad/core/tasks/adv-elicit.xml","4f45442af426a269c0af709348efe431e335ff45bb8eda7d01e7d100c57e03b9" +"xml","bmad-web-orchestrator.agent","core","bmad/core/agents/bmad-web-orchestrator.agent.xml","ac09744c3ad70443fbe6873d6a1345c09ad4ab1fe3e310e3230c912967cb51e9" +"xml","index-docs","core","bmad/core/tasks/index-docs.xml","c6a9d79628fd1246ef29e296438b238d21c68f50eadb16219ac9d6200cf03628" +"xml","shard-doc","core","bmad/core/tools/shard-doc.xml","f2ec685bd3f9ca488c47c494b344b8cff1854d5439c7207182e08ecfa0bb4a07" +"xml","validate-workflow","core","bmad/core/tasks/validate-workflow.xml","63580411c759ee317e58da8bda6ceba27dbf9d3742f39c5c705afcd27361a9ee" +"xml","workflow","core","bmad/core/tasks/workflow.xml","f7500bdc26a0d4630674000788d9dbc376b03347aea221b90afcdbb0a1e569d7" +"yaml","bmad-master.agent","core","bmad/core/agents/bmad-master.agent.yaml","" +"yaml","config","core","bmad/core/config.yaml","1b581a5489df69af7425c5ab4730e78fcc720d9e886b7e8cf13d03015229d536" +"yaml","workflow","core","bmad/core/workflows/brainstorming/workflow.yaml","0af588d7096facdd79c701b37463b6a0e497b0b4339a951d7d3342d8a48fe6c1" +"yaml","workflow","core","bmad/core/workflows/party-mode/workflow.yaml","5b5bd943eaa96b573ca1fce4120d17fab7e766a9204dd43c899ec2cc4b0561f6" diff --git a/.bmad/_cfg/ides/claude-code.yaml b/.bmad/_cfg/ides/claude-code.yaml new file mode 100644 index 00000000..6f283468 --- /dev/null +++ b/.bmad/_cfg/ides/claude-code.yaml @@ -0,0 +1,7 @@ +ide: claude-code +configured_date: "2025-11-09T05:23:00.281Z" +last_updated: "2025-11-09T05:23:00.281Z" +configuration: + subagentChoices: + install: none + installLocation: null diff --git a/.bmad/_cfg/manifest.yaml b/.bmad/_cfg/manifest.yaml new file mode 100644 index 00000000..f2a7f40d --- /dev/null +++ b/.bmad/_cfg/manifest.yaml @@ -0,0 +1,10 @@ +installation: + version: 6.0.0-alpha.7 + installDate: "2025-11-09T05:23:00.252Z" + lastUpdated: "2025-11-09T05:23:00.252Z" +modules: + - core + - bmb + - bmm +ides: + - claude-code diff --git a/.bmad/_cfg/task-manifest.csv b/.bmad/_cfg/task-manifest.csv new file mode 100644 index 00000000..804eb635 --- /dev/null +++ b/.bmad/_cfg/task-manifest.csv @@ -0,0 +1,6 @@ +name,displayName,description,module,path,standalone +"adv-elicit","Advanced Elicitation","When called from workflow","core","bmad/core/tasks/adv-elicit.xml","true" +"index-docs","Index Docs","Generates or updates an index.md of all documents in the specified directory","core","bmad/core/tasks/index-docs.xml","true" +"validate-workflow","Validate Workflow Output","Run a checklist against a document with thorough analysis and produce a validation report","core","bmad/core/tasks/validate-workflow.xml","false" +"workflow","Execute Workflow","Execute given workflow by loading its configuration, following instructions, and producing output","core","bmad/core/tasks/workflow.xml","false" +"daily-standup","Daily Standup","","bmm","bmad/bmm/tasks/daily-standup.xml","false" diff --git a/.bmad/_cfg/tool-manifest.csv b/.bmad/_cfg/tool-manifest.csv new file mode 100644 index 00000000..1b846613 --- /dev/null +++ b/.bmad/_cfg/tool-manifest.csv @@ -0,0 +1,2 @@ +name,displayName,description,module,path,standalone +"shard-doc","Shard Document","Splits large markdown documents into smaller, organized files based on level 2 (default) sections","core","bmad/core/tools/shard-doc.xml","true" diff --git a/.bmad/_cfg/workflow-manifest.csv b/.bmad/_cfg/workflow-manifest.csv new file mode 100644 index 00000000..2d48534d --- /dev/null +++ b/.bmad/_cfg/workflow-manifest.csv @@ -0,0 +1,44 @@ +name,description,module,path,standalone +"brainstorming","Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions.","core","bmad/core/workflows/brainstorming/workflow.yaml","true" +"party-mode","Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations","core","bmad/core/workflows/party-mode/workflow.yaml","true" +"audit-workflow","Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards.","bmb","bmad/bmb/workflows/audit-workflow/workflow.yaml","true" +"convert-legacy","Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions","bmb","bmad/bmb/workflows/convert-legacy/workflow.yaml","true" +"create-agent","Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure","bmb","bmad/bmb/workflows/create-agent/workflow.yaml","true" +"create-module","Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure","bmb","bmad/bmb/workflows/create-module/workflow.yaml","true" +"create-workflow","Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design.","bmb","bmad/bmb/workflows/create-workflow/workflow.yaml","true" +"edit-agent","Edit existing BMAD agents while following all best practices and conventions","bmb","bmad/bmb/workflows/edit-agent/workflow.yaml","true" +"edit-module","Edit existing BMAD modules (structure, agents, workflows, documentation) while following all best practices","bmb","bmad/bmb/workflows/edit-module/workflow.yaml","true" +"edit-workflow","Edit existing BMAD workflows while following all best practices and conventions","bmb","bmad/bmb/workflows/edit-workflow/workflow.yaml","true" +"module-brief","Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision","bmb","bmad/bmb/workflows/module-brief/workflow.yaml","true" +"redoc","Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output.","bmb","bmad/bmb/workflows/redoc/workflow.yaml","true" +"brainstorm-project","Facilitate project brainstorming sessions by orchestrating the CIS brainstorming workflow with project-specific context and guidance.","bmm","bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml","true" +"domain-research","Collaborative exploration of domain-specific requirements, regulations, and patterns for complex projects","bmm","bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml","true" +"product-brief","Interactive product brief creation workflow that guides users through defining their product vision with multiple input sources and conversational collaboration","bmm","bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml","true" +"research","Adaptive research workflow supporting multiple research types: market research, deep research prompt generation, technical/architecture evaluation, competitive intelligence, user research, and domain analysis","bmm","bmad/bmm/workflows/1-analysis/research/workflow.yaml","true" +"create-ux-design","Collaborative UX design facilitation workflow that creates exceptional user experiences through visual exploration and informed decision-making. Unlike template-driven approaches, this workflow facilitates discovery, generates visual options, and collaboratively designs the UX with the user at every step.","bmm","bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml","true" +"create-epics-and-stories","Transform PRD requirements into bite-sized stories organized in epics for 200k context dev agents","bmm","bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml","true" +"prd","Unified PRD workflow for BMad Method and Enterprise Method tracks. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Quick Flow track uses tech-spec workflow.","bmm","bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml","true" +"tech-spec","Technical specification workflow for Level 0 projects (single atomic changes). Creates focused tech spec for bug fixes, single endpoint additions, or small isolated changes. Tech-spec only - no PRD needed.","bmm","bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml","true" +"architecture","Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.","bmm","bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml","true" +"solutioning-gate-check","Systematically validate that all planning and solutioning phases are complete and properly aligned before transitioning to Phase 4 implementation. Ensures PRD, architecture, and stories are cohesive with no gaps or contradictions.","bmm","bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml","true" +"code-review","Perform a Senior Developer code 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.","bmm","bmad/bmm/workflows/4-implementation/code-review/workflow.yaml","true" +"correct-course","Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation","bmm","bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml","true" +"create-story","Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder","bmm","bmad/bmm/workflows/4-implementation/create-story/workflow.yaml","true" +"dev-story","Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria","bmm","bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml","true" +"epic-tech-context","Generate a comprehensive Technical Specification from PRD and Architecture with acceptance criteria and traceability mapping","bmm","bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml","true" +"retrospective","Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic","bmm","bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml","true" +"sprint-planning","Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle","bmm","bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml","true" +"story-context","Assemble a dynamic Story Context XML by pulling latest documentation and existing code/library artifacts relevant to a drafted story","bmm","bmad/bmm/workflows/4-implementation/story-context/workflow.yaml","true" +"story-done","Marks a story as done (DoD complete) and moves it from its current status โ†’ DONE in the status file. Advances the story queue. Simple status-update workflow with no searching required.","bmm","bmad/bmm/workflows/4-implementation/story-done/workflow.yaml","true" +"story-ready","Marks a drafted story as ready for development and moves it from TODO โ†’ IN PROGRESS in the status file. Simple status-update workflow with no searching required.","bmm","bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml","true" +"document-project","Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development","bmm","bmad/bmm/workflows/document-project/workflow.yaml","true" +"testarch-atdd","Generate failing acceptance tests before implementation using TDD red-green-refactor cycle","bmm","bmad/bmm/workflows/testarch/atdd/workflow.yaml","false" +"testarch-automate","Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite","bmm","bmad/bmm/workflows/testarch/automate/workflow.yaml","false" +"testarch-ci","Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection","bmm","bmad/bmm/workflows/testarch/ci/workflow.yaml","false" +"testarch-framework","Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration","bmm","bmad/bmm/workflows/testarch/framework/workflow.yaml","false" +"testarch-nfr","Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation","bmm","bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml","false" +"testarch-test-design","Plan risk mitigation and test coverage strategy before development with risk assessment and prioritization","bmm","bmad/bmm/workflows/testarch/test-design/workflow.yaml","false" +"testarch-test-review","Review test quality using comprehensive knowledge base and best practices validation","bmm","bmad/bmm/workflows/testarch/test-review/workflow.yaml","false" +"testarch-trace","Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)","bmm","bmad/bmm/workflows/testarch/trace/workflow.yaml","false" +"workflow-init","Initialize a new BMM project by determining level, type, and creating workflow path","bmm","bmad/bmm/workflows/workflow-status/init/workflow.yaml","true" +"workflow-status","Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.","bmm","bmad/bmm/workflows/workflow-status/workflow.yaml","true" diff --git a/.bmad/bmb/README.md b/.bmad/bmb/README.md new file mode 100644 index 00000000..a46f7fe1 --- /dev/null +++ b/.bmad/bmb/README.md @@ -0,0 +1,194 @@ +# BMB - BMad Builder Module + +Specialized tools and workflows for creating, customizing, and extending BMad components including agents, workflows, and complete modules. + +## Table of Contents + +- [Module Structure](#module-structure) +- [Core Workflows](#core-workflows) +- [Agent Types](#agent-types) +- [Quick Start](#quick-start) +- [Best Practices](#best-practices) + +## Module Structure + +### ๐Ÿค– Agents + +**BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions. + +### ๐Ÿ“‹ Workflows + +Comprehensive suite for building and maintaining BMad components. + +## Core Workflows + +### Creation Workflows + +**[create-agent](./workflows/create-agent/README.md)** - Build BMad agents + +- Interactive persona development +- Command structure design +- YAML source compilation to .md + +**[create-workflow](./workflows/create-workflow/README.md)** - Design workflows + +- Structured multi-step processes +- Configuration validation +- Web bundle support + +**[create-module](./workflows/create-module/README.md)** - Build complete modules + +- Full module infrastructure +- Agent and workflow integration +- Installation automation + +**[module-brief](./workflows/module-brief/README.md)** - Strategic planning + +- Module blueprint creation +- Vision and architecture +- Comprehensive analysis + +### Editing Workflows + +**[edit-agent](./workflows/edit-agent/README.md)** - Modify existing agents + +- Persona refinement +- Command updates +- Best practice compliance + +**[edit-workflow](./workflows/edit-workflow/README.md)** - Update workflows + +- Structure maintenance +- Configuration updates +- Documentation sync + +**[edit-module](./workflows/edit-module/README.md)** - Module enhancement + +- Component modifications +- Dependency management +- Version control + +### Maintenance Workflows + +**[convert-legacy](./workflows/convert-legacy/README.md)** - Migration tool + +- v4 to v6 conversion +- Structure compliance +- Convention updates + +**[audit-workflow](./workflows/audit-workflow/README.md)** - Quality validation + +- Structure verification +- Config standards check +- Bloat detection +- Web bundle completeness + +**[redoc](./workflows/redoc/README.md)** - Auto-documentation + +- Reverse-tree approach +- Technical writer quality +- Convention compliance + +## Agent Types + +BMB creates three agent architectures: + +### Full Module Agent + +- Complete persona and role definition +- Command structure with fuzzy matching +- Workflow integration +- Module-specific capabilities + +### Hybrid Agent + +- Shared core capabilities +- Module-specific extensions +- Cross-module compatibility + +### Standalone Agent + +- Independent operation +- Minimal dependencies +- Specialized single purpose + +## Quick Start + +1. **Load BMad Builder agent** in your IDE +2. **Choose creation type:** + ``` + *create-agent # New agent + *create-workflow # New workflow + *create-module # Complete module + ``` +3. **Follow interactive prompts** + +### Example: Creating an Agent + +``` +User: I need a code review agent +Builder: *create-agent + +[Interactive session begins] +- Brainstorming phase (optional) +- Persona development +- Command structure +- Integration points +``` + +## Use Cases + +### Custom Development Teams + +Build specialized agents for: + +- Domain expertise (legal, medical, finance) +- Company processes +- Tool integrations +- Automation tasks + +### Workflow Extensions + +Create workflows for: + +- Compliance requirements +- Quality gates +- Deployment pipelines +- Custom methodologies + +### Complete Solutions + +Package modules for: + +- Industry verticals +- Technology stacks +- Business processes +- Educational frameworks + +## Best Practices + +1. **Study existing patterns** - Review BMM/CIS implementations +2. **Follow conventions** - Use established structures +3. **Document thoroughly** - Clear instructions essential +4. **Test iteratively** - Validate during creation +5. **Consider reusability** - Build modular components + +## Integration + +BMB components integrate with: + +- **BMad Core** - Framework foundation +- **BMM** - Extend development capabilities +- **CIS** - Leverage creative workflows +- **Custom Modules** - Your domain solutions + +## Related Documentation + +- **[Agent Creation Guide](./workflows/create-agent/README.md)** - Detailed instructions +- **[Module Structure](./workflows/create-module/module-structure.md)** - Architecture patterns +- **[BMM Module](../bmm/README.md)** - Reference implementation +- **[Core Framework](../../core/README.md)** - Foundation concepts + +--- + +BMB empowers you to extend BMad Method for your specific needs while maintaining framework consistency and power. diff --git a/.bmad/bmb/agents/bmad-builder.md b/.bmad/bmb/agents/bmad-builder.md new file mode 100644 index 00000000..47c7a38a --- /dev/null +++ b/.bmad/bmb/agents/bmad-builder.md @@ -0,0 +1,70 @@ +--- +name: 'bmad builder' +description: 'BMad Builder' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmb/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Master BMad Module Agent Team and Workflow Builder and Maintainer + Lives to serve the expansion of the BMad Method + Talks like a pulp super hero + Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices + + + Show numbered menu + Audit existing workflows for BMAD Core compliance and best practices + Convert v4 or any other style task agent or template to a workflow + Create a new BMAD Core compliant agent + Create a complete BMAD compatible module (custom agents and workflows) + Create a new BMAD Core workflow with proper structure + Edit existing agents while following best practices + Edit existing modules (structure, agents, workflows, documentation) + Edit existing workflows while following best practices + Create or update module documentation + Exit with confirmation + + +``` diff --git a/.bmad/bmb/config.yaml b/.bmad/bmb/config.yaml new file mode 100644 index 00000000..4c3a843a --- /dev/null +++ b/.bmad/bmb/config.yaml @@ -0,0 +1,16 @@ +# BMB Module Configuration +# Generated by BMAD installer +# Version: 6.0.0-alpha.7 +# Date: 2025-11-09T05:23:00.243Z + +custom_agent_location: "{project-root}/.bmad/custom/agents" +custom_workflow_location: "{project-root}/.bmad/custom/workflows" +custom_module_location: "{project-root}/.bmad/custom/modules" + +# Core Configuration Values +bmad_folder: .bmad +user_name: BMad +communication_language: English +document_output_language: English +output_folder: "{project-root}/docs" +install_user_docs: false diff --git a/.bmad/bmb/workflows/audit-workflow/checklist.md b/.bmad/bmb/workflows/audit-workflow/checklist.md new file mode 100644 index 00000000..df7ce42d --- /dev/null +++ b/.bmad/bmb/workflows/audit-workflow/checklist.md @@ -0,0 +1,143 @@ +# Audit Workflow - Validation Checklist + +## Structure + +- [ ] workflow.yaml file loads without YAML syntax errors +- [ ] instructions.md file exists and is properly formatted +- [ ] template.md file exists (if document workflow) with valid markdown +- [ ] All critical headers present in instructions (workflow engine reference, workflow.yaml reference) +- [ ] Workflow type correctly identified (document/action/interactive/autonomous/meta) +- [ ] All referenced files actually exist at specified paths +- [ ] No placeholder text remains (like {TITLE}, {WORKFLOW_CODE}, TODO, etc.) + +## Standard Config Block + +- [ ] workflow.yaml contains `config_source` pointing to correct module config +- [ ] `output_folder` pulls from `{config_source}:output_folder` +- [ ] `user_name` pulls from `{config_source}:user_name` +- [ ] `communication_language` pulls from `{config_source}:communication_language` +- [ ] `date` is set to `system-generated` +- [ ] Config source uses {project-root} variable (not hardcoded path) +- [ ] Standard config comment present: "Critical variables from config" + +## Config Variable Usage + +- [ ] Instructions communicate in {communication_language} where appropriate +- [ ] Instructions address {user_name} in greetings or summaries where appropriate +- [ ] All file outputs write to {output_folder} or subdirectories (no hardcoded paths) +- [ ] Template includes {{user_name}} in metadata (optional for document workflows) +- [ ] Template includes {{date}} in metadata (optional for document workflows) +- [ ] Template does NOT use {{communication_language}} in headers (agent-only variable) +- [ ] No hardcoded language-specific text that should use {communication_language} +- [ ] Date used for agent date awareness (not confused with training cutoff) + +## YAML/Instruction/Template Alignment + +- [ ] Every workflow.yaml variable (excluding standard config) is used in instructions OR template +- [ ] No unused yaml fields present (bloat removed) +- [ ] No duplicate fields between top-level and web_bundle section +- [ ] All template variables ({{variable}}) have corresponding yaml definitions OR tags +- [ ] All tags have corresponding template variables (if document workflow) +- [ ] Template variables use snake_case naming convention +- [ ] Variable names are descriptive (not abbreviated like {{puj}} instead of {{primary_user_journey}}) +- [ ] No hardcoded values in instructions that should be yaml variables + +## Web Bundle Validation (if applicable) + +- [ ] web_bundle section present if workflow needs deployment +- [ ] All paths in web_bundle use .bmad/-relative format (NOT {project-root}) +- [ ] No {config_source} variables in web_bundle section +- [ ] instructions file listed in web_bundle_files array +- [ ] template file listed in web_bundle_files (if document workflow) +- [ ] validation/checklist file listed in web_bundle_files (if exists) +- [ ] All data files (CSV, JSON, YAML) listed in web_bundle_files +- [ ] All called workflows have their .yaml files in web_bundle_files +- [ ] **CRITICAL**: If workflow invokes other workflows, existing_workflows field is present +- [ ] existing_workflows maps workflow variables to .bmad/-relative paths correctly +- [ ] All files referenced in instructions tags listed in web_bundle_files +- [ ] No files listed in web_bundle_files that don't exist +- [ ] Web bundle metadata (name, description, author) matches top-level metadata + +## Template Validation (if document workflow) + +- [ ] Template variables match tags in instructions exactly +- [ ] All required sections present in template structure +- [ ] Template uses {{variable}} syntax (double curly braces) +- [ ] Template variables use snake_case (not camelCase or PascalCase) +- [ ] Standard metadata header format correct (optional usage of {{date}}, {{user_name}}) +- [ ] No placeholders remain in template (like {SECTION_NAME}) +- [ ] Template structure matches document purpose + +## Instructions Quality + +- [ ] Each step has n="X" attribute with sequential numbering +- [ ] Each step has goal="clear goal statement" attribute +- [ ] Optional steps marked with optional="true" +- [ ] Repeating steps have appropriate repeat attribute (repeat="3", repeat="for-each-X", repeat="until-approved") +- [ ] Conditional steps have if="condition" attribute +- [ ] XML tags used correctly (, , , , , ) +- [ ] No nested tag references in content (use "action tags" not " tags") +- [ ] Tag references use descriptive text without angle brackets for clarity +- [ ] No conditional execution antipattern (no self-closing tags) +- [ ] Single conditionals use (inline) +- [ ] Multiple conditionals use ... (wrapper block with closing tag) +- [ ] Steps are focused (single goal per step) +- [ ] Instructions are specific with limits ("Write 1-2 paragraphs" not "Write about") +- [ ] Examples provided where helpful +- [ ] tags save checkpoints for document workflows +- [ ] Flow control is logical and clear + +## Bloat Detection + +- [ ] Bloat percentage under 10% (unused yaml fields / total fields) +- [ ] No commented-out variables that should be removed +- [ ] No duplicate metadata between sections +- [ ] No variables defined but never referenced +- [ ] No redundant configuration that duplicates web_bundle + +## Final Validation + +### Critical Issues (Must fix immediately) + +_List any critical issues found:_ + +- Issue 1: +- Issue 2: +- Issue 3: + +### Important Issues (Should fix soon) + +_List any important issues found:_ + +- Issue 1: +- Issue 2: +- Issue 3: + +### Cleanup Recommendations (Nice to have) + +_List any cleanup recommendations:_ + +- Recommendation 1: +- Recommendation 2: +- Recommendation 3: + +--- + +## Audit Summary + +**Total Checks:** 72 +**Passed:** **\_** / 72 +**Failed:** **\_** / 72 +**Pass Rate:** **\_**% + +**Recommendation:** + +- Pass Rate โ‰ฅ 95%: Excellent - Ready for production +- Pass Rate 85-94%: Good - Minor fixes needed +- Pass Rate 70-84%: Fair - Important issues to address +- Pass Rate < 70%: Poor - Significant work required + +--- + +**Audit Completed:** {{date}} +**Auditor:** Audit Workflow (BMAD v6) diff --git a/.bmad/bmb/workflows/audit-workflow/instructions.md b/.bmad/bmb/workflows/audit-workflow/instructions.md new file mode 100644 index 00000000..5d3cca7f --- /dev/null +++ b/.bmad/bmb/workflows/audit-workflow/instructions.md @@ -0,0 +1,341 @@ +# Audit Workflow - Workflow Quality Audit Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/audit-workflow/workflow.yaml + + + + + What is the path to the workflow you want to audit? (provide path to workflow.yaml or workflow folder) + + Load the workflow.yaml file from the provided path + Identify the workflow type (document, action, interactive, autonomous, meta) + List all associated files: + + - instructions.md (required for most workflows) + - template.md (if document workflow) + - checklist.md (if validation exists) + - Any data files referenced in yaml + + Load all discovered files + + Display summary: + + - Workflow name and description + - Type of workflow + - Files present + - Module assignment + + + + + Check workflow.yaml for the standard config block: + + **Required variables:** + + - `config_source: "{project-root}/.bmad/[module]/config.yaml"` + - `output_folder: "{config_source}:output_folder"` + - `user_name: "{config_source}:user_name"` + - `communication_language: "{config_source}:communication_language"` + - `date: system-generated` + + Validate each variable: + + **Config Source Check:** + + - [ ] `config_source` is defined + - [ ] Points to correct module config path + - [ ] Uses {project-root} variable + + **Standard Variables Check:** + + - [ ] `output_folder` pulls from config_source + - [ ] `user_name` pulls from config_source + - [ ] `communication_language` pulls from config_source + - [ ] `date` is set to system-generated + + Record any missing or incorrect config variables + config_issues + + Add to issues list with severity: CRITICAL + + + + + Extract all variables defined in workflow.yaml (excluding standard config block) + Scan instructions.md for variable usage: {variable_name} pattern + Scan template.md for variable usage: {{variable_name}} pattern (if exists) + + Cross-reference analysis: + + **For each yaml variable:** + + 1. Is it used in instructions.md? (mark as INSTRUCTION_USED) + 2. Is it used in template.md? (mark as TEMPLATE_USED) + 3. Is it neither? (mark as UNUSED_BLOAT) + + **Special cases to ignore:** + + - Standard config variables (config_source, output_folder, user_name, communication_language, date) + - Workflow metadata (name, description, author) + - Path variables (installed_path, template, instructions, validation) + - Web bundle configuration (web_bundle block itself) + + Identify unused yaml fields (bloat) + Identify hardcoded values in instructions that should be variables + alignment_issues + + Add to issues list with severity: BLOAT + + + + + Analyze instructions.md for proper config variable usage: + + **Communication Language Check:** + + - Search for phrases like "communicate in {communication_language}" + - Check if greetings/responses use language-aware patterns + - Verify NO usage of {{communication_language}} in template headers + + **User Name Check:** + + - Look for user addressing patterns using {user_name} + - Check if summaries or greetings personalize with {user_name} + - Verify optional usage in template metadata (not required) + + **Output Folder Check:** + + - Search for file write operations + - Verify all outputs go to {output_folder} or subdirectories + - Check for hardcoded paths like "/output/" or "/generated/" + + **Date Usage Check:** + + - Verify date is available for agent date awareness + - Check optional usage in template metadata + - Ensure no confusion between date and model training cutoff + + **Nested Tag Reference Check:** + + - Search for XML tag references within tags (e.g., `Scan for tags`) + - Identify patterns like: ` tags`, ` calls`, `content` within content + - Common problematic tags to check: action, ask, check, template-output, invoke-workflow, goto + - Flag any instances where angle brackets appear in content describing tags + + **Best Practice:** Use descriptive text without brackets (e.g., "action tags" instead of " tags") + + **Rationale:** + + - Prevents XML parsing ambiguity + - Improves readability for humans and LLMs + - LLMs understand "action tags" = `` tags from context + + **Conditional Execution Antipattern Check:** + + - Scan for self-closing check tags: `condition text` (invalid antipattern) + - Detect pattern: check tag on one line, followed by action/ask/goto tags (indicates incorrect nesting) + - Flag sequences like: `If X:` followed by `do Y` + + **Correct Patterns:** + + - Single conditional: `Do something` + - Multiple actions: `` followed by nested actions with closing `` tag + + **Antipattern Example (WRONG):** + ```xml + If condition met: + Do something + ``` + + **Correct Example:** + ```xml + + Do something + Do something else + + ``` + + **Or for single action:** + ```xml + Do something + ``` + + Scan instructions.md for nested tag references using pattern: <(action|ask|check|template-output|invoke-workflow|invoke-task|goto|step)> within text content + Record any instances of nested tag references with line numbers + Scan instructions.md for conditional execution antipattern: self-closing check tags + Detect pattern: `<check>.*</check>` on single line (self-closing check) + Record any antipattern instances with line numbers and suggest corrections + Record any improper config variable usage + config_usage_issues + + Add to issues list with severity: IMPORTANT + Add to issues list with severity: CLARITY (recommend using descriptive text without angle brackets) + Add to issues list with severity: CRITICAL (invalid XML structure - must use action if="" or proper check wrapper) + + + + + + + Validate web_bundle structure: + + **Path Validation:** + + - [ ] All paths use .bmad/-relative format (NOT {project-root}) + - [ ] No {config_source} variables in web_bundle section + - [ ] Paths match actual file locations + + **Completeness Check:** + + - [ ] instructions file listed in web_bundle_files + - [ ] template file listed (if document workflow) + - [ ] validation/checklist file listed (if exists) + - [ ] All data files referenced in yaml listed + - [ ] All files referenced in instructions listed + + **Workflow Dependency Scan:** + Scan instructions.md for invoke-workflow tags + Extract workflow paths from invocations + Verify each called workflow.yaml is in web_bundle_files + **CRITICAL**: Check if existing_workflows field is present when workflows are invoked + If invoke-workflow calls exist, existing_workflows MUST map workflow variables to paths + Example: If instructions use {core_brainstorming}, web_bundle needs: existing_workflows: - core_brainstorming: ".bmad/core/workflows/brainstorming/workflow.yaml" + + **File Reference Scan:** + Scan instructions.md for file references in action tags + Check for CSV, JSON, YAML, MD files referenced + Verify all referenced files are in web_bundle_files + + Record any missing files or incorrect paths + web_bundle_issues + + Add to issues list with severity: CRITICAL + + Note: "No web_bundle configured (may be intentional for local-only workflows)" + + + + + + Identify bloat patterns: + + **Unused YAML Fields:** + + - Variables defined but not used in instructions OR template + - Duplicate fields between top-level and web_bundle section + - Commented-out variables that should be removed + + **Hardcoded Values:** + + - File paths that should use {output_folder} + - Generic greetings that should use {user_name} + - Language-specific text that should use {communication_language} + - Static dates that should use {date} + + **Redundant Configuration:** + + - Variables that duplicate web_bundle fields + - Metadata repeated across sections + + Calculate bloat metrics: + + - Total yaml fields: {{total_yaml_fields}} + - Used fields: {{used_fields}} + - Unused fields: {{unused_fields}} + - Bloat percentage: {{bloat_percentage}}% + + Record all bloat items with recommendations + bloat_items + + Add to issues list with severity: CLEANUP + + + + + Extract all template variables from template.md: {{variable_name}} pattern + Scan instructions.md for corresponding template-output tags + + Cross-reference mapping: + + **For each template variable:** + + 1. Is there a matching template-output tag? (mark as MAPPED) + 2. Is it a standard config variable? (mark as CONFIG_VAR - optional) + 3. Is it unmapped? (mark as MISSING_OUTPUT) + + **For each template-output tag:** + + 1. Is there a matching template variable? (mark as USED) + 2. Is it orphaned? (mark as UNUSED_OUTPUT) + + Verify variable naming conventions: + + - [ ] All template variables use snake_case + - [ ] Variable names are descriptive (not abbreviated) + - [ ] Standard config variables properly formatted + + Record any mapping issues + template_issues + + Add to issues list with severity: IMPORTANT + + + + + Compile all findings and calculate summary metrics + + Generate executive summary based on issue counts and severity levels + workflow_type + overall_status + critical_count + important_count + cleanup_count + + Generate status summaries for each audit section + config_status + total_variables + instruction_usage_count + template_usage_count + bloat_count + + Generate config variable usage status indicators + comm_lang_status + user_name_status + output_folder_status + date_status + nested_tag_count + + Generate web bundle metrics + web_bundle_exists + web_bundle_file_count + missing_files_count + + Generate bloat metrics + bloat_percentage + cleanup_potential + + Generate template mapping metrics + template_var_count + mapped_count + missing_mapping_count + + Compile prioritized recommendations by severity + critical_recommendations + important_recommendations + cleanup_recommendations + + Display summary to {user_name} in {communication_language} + Provide path to full audit report: {output_folder}/audit-report-{{workflow_name}}-{{date}}.md + + Would you like to: + + - View the full audit report + - Fix issues automatically (invoke edit-workflow) + - Audit another workflow + - Exit + + + + + diff --git a/.bmad/bmb/workflows/audit-workflow/template.md b/.bmad/bmb/workflows/audit-workflow/template.md new file mode 100644 index 00000000..584ba44f --- /dev/null +++ b/.bmad/bmb/workflows/audit-workflow/template.md @@ -0,0 +1,118 @@ +# Workflow Audit Report + +**Workflow:** {{workflow_name}} +**Audit Date:** {{date}} +**Auditor:** Audit Workflow (BMAD v6) +**Workflow Type:** {{workflow_type}} + +--- + +## Executive Summary + +**Overall Status:** {{overall_status}} + +- Critical Issues: {{critical_count}} +- Important Issues: {{important_count}} +- Cleanup Recommendations: {{cleanup_count}} + +--- + +## 1. Standard Config Block Validation + +{{config_issues}} + +**Status:** {{config_status}} + +--- + +## 2. YAML/Instruction/Template Alignment + +{{alignment_issues}} + +**Variables Analyzed:** {{total_variables}} +**Used in Instructions:** {{instruction_usage_count}} +**Used in Template:** {{template_usage_count}} +**Unused (Bloat):** {{bloat_count}} + +--- + +## 3. Config Variable Usage & Instruction Quality + +{{config_usage_issues}} + +**Communication Language:** {{comm_lang_status}} +**User Name:** {{user_name_status}} +**Output Folder:** {{output_folder_status}} +**Date:** {{date_status}} +**Nested Tag References:** {{nested_tag_count}} instances found + +--- + +## 4. Web Bundle Validation + +{{web_bundle_issues}} + +**Web Bundle Present:** {{web_bundle_exists}} +**Files Listed:** {{web_bundle_file_count}} +**Missing Files:** {{missing_files_count}} + +--- + +## 5. Bloat Detection + +{{bloat_items}} + +**Bloat Percentage:** {{bloat_percentage}}% +**Cleanup Potential:** {{cleanup_potential}} + +--- + +## 6. Template Variable Mapping + +{{template_issues}} + +**Template Variables:** {{template_var_count}} +**Mapped Correctly:** {{mapped_count}} +**Missing Mappings:** {{missing_mapping_count}} + +--- + +## Recommendations + +### Critical (Fix Immediately) + +{{critical_recommendations}} + +### Important (Address Soon) + +{{important_recommendations}} + +### Cleanup (Nice to Have) + +{{cleanup_recommendations}} + +--- + +## Validation Checklist + +Use this checklist to verify fixes: + +- [ ] All standard config variables present and correct +- [ ] No unused yaml fields (bloat removed) +- [ ] Config variables used appropriately in instructions +- [ ] Web bundle includes all dependencies +- [ ] Template variables properly mapped +- [ ] File structure follows v6 conventions + +--- + +## Next Steps + +1. Review critical issues and fix immediately +2. Address important issues in next iteration +3. Consider cleanup recommendations for optimization +4. Re-run audit after fixes to verify improvements + +--- + +**Audit Complete** - Generated by audit-workflow v1.0 diff --git a/.bmad/bmb/workflows/audit-workflow/workflow.yaml b/.bmad/bmb/workflows/audit-workflow/workflow.yaml new file mode 100644 index 00000000..9fd080f7 --- /dev/null +++ b/.bmad/bmb/workflows/audit-workflow/workflow.yaml @@ -0,0 +1,23 @@ +# Audit Workflow Configuration +name: "audit-workflow" +description: "Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/.bmad/bmb/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/audit-workflow" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Output configuration +default_output_file: "{output_folder}/audit-report-{{workflow_name}}-{{date}}.md" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/convert-legacy/README.md b/.bmad/bmb/workflows/convert-legacy/README.md new file mode 100644 index 00000000..73c27270 --- /dev/null +++ b/.bmad/bmb/workflows/convert-legacy/README.md @@ -0,0 +1,262 @@ +# Convert Legacy Workflow + +## Overview + +The Convert Legacy workflow is a comprehensive migration tool that converts BMAD v4 items (agents, workflows, modules) to v6 compliant format with proper structure and conventions. It bridges the gap between legacy BMAD implementations and the modern v6 architecture, ensuring seamless migration while preserving functionality and improving structure. + +## Key Features + +- **Multi-Format Detection** - Automatically identifies v4 agents, workflows, tasks, templates, and modules +- **Intelligent Conversion** - Smart mapping from v4 patterns to v6 equivalents with structural improvements +- **Sub-Workflow Integration** - Leverages create-agent, create-workflow, and create-module workflows for quality output +- **Structure Modernization** - Converts YAML-based agents to XML, templates to workflows, tasks to structured workflows +- **Path Normalization** - Updates all references to use proper v6 path conventions +- **Validation System** - Comprehensive validation of converted items before finalization +- **Migration Reporting** - Detailed conversion reports with locations and manual adjustment notes + +## Usage + +### Basic Invocation + +```bash +workflow convert-legacy +``` + +### With Legacy File Input + +```bash +# Convert a specific v4 item +workflow convert-legacy --input /path/to/legacy-agent.md +``` + +### With Legacy Module + +```bash +# Convert an entire v4 module structure +workflow convert-legacy --input /path/to/legacy-module/ +``` + +### Configuration + +The workflow uses standard BMB configuration: + +- **output_folder**: Where converted items will be placed +- **user_name**: Author information for converted items +- **conversion_mappings**: v4-to-v6 pattern mappings (optional) + +## Workflow Structure + +### Files Included + +``` +convert-legacy/ +โ”œโ”€โ”€ workflow.yaml # Configuration and metadata +โ”œโ”€โ”€ instructions.md # Step-by-step conversion guide +โ”œโ”€โ”€ checklist.md # Validation criteria +โ””โ”€โ”€ README.md # This file +``` + +## Workflow Process + +### Phase 1: Legacy Analysis (Steps 1-3) + +**Item Identification and Loading** + +- Accepts file path or directory from user +- Loads complete file/folder structure for analysis +- Automatically detects item type based on content patterns: + - **Agents**: Contains `` or `` XML tags + - **Workflows**: Contains workflow YAML or instruction patterns + - **Modules**: Contains multiple organized agents/workflows + - **Tasks**: Contains `` XML tags + - **Templates**: Contains YAML-based document generators + +**Legacy Structure Analysis** + +- Parses v4 structure and extracts key components +- Maps v4 agent metadata (name, id, title, icon, persona) +- Analyzes v4 template sections and elicitation patterns +- Identifies task workflows and decision trees +- Catalogs dependencies and file references + +**Target Module Selection** + +- Prompts for target module (bmm, bmb, cis, custom) +- Determines proper installation paths using v6 conventions +- Shows target location for user confirmation +- Ensures all paths use `{project-root}/.bmad/` format + +### Phase 2: Conversion Strategy (Step 4) + +**Strategy Selection Based on Item Type** + +- **Simple Agents**: Direct XML conversion with metadata mapping +- **Complex Agents**: Workflow-assisted creation using create-agent +- **Templates**: Template-to-workflow conversion with proper structure +- **Tasks**: Task-to-workflow conversion with step mapping +- **Modules**: Full module creation using create-module workflow + +**Workflow Type Determination** + +- Analyzes legacy items to determine v6 workflow type: + - **Document Workflow**: Generates documents with templates + - **Action Workflow**: Performs actions without output documents + - **Interactive Workflow**: Guides user interaction sessions + - **Meta-Workflow**: Coordinates other workflows + +### Phase 3: Conversion Execution (Steps 5a-5e) + +**Direct Agent Conversion (5a)** + +- Transforms v4 YAML agent format to v6 XML structure +- Maps persona blocks (role, style, identity, principles) +- Converts commands list to v6 `` format +- Updates task references to workflow invocations +- Normalizes all paths to v6 conventions + +**Workflow-Assisted Creation (5b-5e)** + +- Extracts key information from legacy items +- Invokes appropriate sub-workflows: + - `create-agent` for complex agent creation + - `create-workflow` for template/task conversion + - `create-module` for full module migration +- Ensures proper v6 structure and conventions + +**Template-to-Workflow Conversion (5c)** + +- Converts YAML template sections to workflow steps +- Maps `elicit: true` flags to `{project-root}/.bmad/core/tasks/adv-elicit.xml` tags +- Transforms conditional sections to flow control +- Creates proper template.md from content structure +- Integrates v4 create-doc.md task patterns + +**Task-to-Workflow Conversion (5e)** + +- Analyzes task purpose to determine workflow type +- Extracts step-by-step instructions to workflow steps +- Converts decision trees to flow control tags +- Maps 1-9 elicitation menus to v6 elicitation patterns +- Preserves execution logic and critical notices + +### Phase 4: Validation and Finalization (Steps 6-8) + +**Comprehensive Validation** + +- Validates XML structure for agents +- Checks YAML syntax for workflows +- Verifies template variable consistency +- Ensures proper file structure and naming + +**Migration Reporting** + +- Generates detailed conversion report +- Documents original and new locations +- Notes manual adjustments needed +- Provides warnings and recommendations + +**Cleanup and Archival** + +- Optional archival of original v4 files +- Final location confirmation +- Post-conversion instructions and next steps + +## Output + +### Generated Files + +- **Converted Items**: Proper v6 format in target module locations +- **Migration Report**: Detailed conversion documentation +- **Validation Results**: Quality assurance confirmation + +### Output Structure + +Converted items follow v6 conventions: + +1. **Agents** - XML format with proper persona and command structure +2. **Workflows** - Complete workflow folders with yaml, instructions, and templates +3. **Modules** - Full module structure with installation infrastructure +4. **Documentation** - Updated paths, references, and metadata + +## Requirements + +- **Legacy v4 Items** - Source files or directories to convert +- **Target Module Access** - Write permissions to target module directories +- **Sub-Workflow Availability** - create-agent, create-workflow, create-module workflows accessible +- **Conversion Mappings** (optional) - v4-to-v6 pattern mappings for complex conversions + +## Best Practices + +### Before Starting + +1. **Backup Legacy Items** - Create copies of original v4 files before conversion +2. **Review Target Module** - Understand target module structure and conventions +3. **Plan Module Organization** - Decide where converted items should logically fit + +### During Execution + +1. **Validate Item Type Detection** - Confirm automatic detection or correct manually +2. **Choose Appropriate Strategy** - Use workflow-assisted creation for complex items +3. **Review Path Mappings** - Ensure all references use proper v6 path conventions +4. **Test Incrementally** - Convert simple items first to validate process + +### After Completion + +1. **Validate Converted Items** - Test agents and workflows for proper functionality +2. **Review Migration Report** - Address any manual adjustments noted +3. **Update Documentation** - Ensure README and documentation reflect changes +4. **Archive Originals** - Store v4 files safely for reference if needed + +## Troubleshooting + +### Common Issues + +**Issue**: Item type detection fails or incorrect + +- **Solution**: Manually specify item type when prompted +- **Check**: Verify file structure matches expected v4 patterns + +**Issue**: Path conversion errors + +- **Solution**: Ensure all references use `{project-root}/.bmad/` format +- **Check**: Review conversion mappings for proper path patterns + +**Issue**: Sub-workflow invocation fails + +- **Solution**: Verify build workflows are available and accessible +- **Check**: Ensure target module exists and has proper permissions + +**Issue**: XML or YAML syntax errors in output + +- **Solution**: Review conversion mappings and adjust patterns +- **Check**: Validate converted files with appropriate parsers + +## Customization + +To customize this workflow: + +1. **Update Conversion Mappings** - Modify v4-to-v6 pattern mappings in data/ +2. **Extend Detection Logic** - Add new item type detection patterns +3. **Add Conversion Strategies** - Implement specialized conversion approaches +4. **Enhance Validation** - Add additional quality checks in validation step + +## Version History + +- **v1.0.0** - Initial release + - Multi-format v4 item detection and conversion + - Integration with create-agent, create-workflow, create-module + - Comprehensive path normalization + - Migration reporting and validation + +## Support + +For issues or questions: + +- Review the workflow creation guide at `/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Check conversion mappings at `/.bmad/bmb/data/v4-to-v6-mappings.yaml` +- Validate output using `checklist.md` +- Consult BMAD v6 documentation for proper conventions + +--- + +_Part of the BMad Method v6 - BMB (Builder) Module_ diff --git a/.bmad/bmb/workflows/convert-legacy/checklist.md b/.bmad/bmb/workflows/convert-legacy/checklist.md new file mode 100644 index 00000000..bc43842b --- /dev/null +++ b/.bmad/bmb/workflows/convert-legacy/checklist.md @@ -0,0 +1,205 @@ +# Convert Legacy - Validation Checklist + +## Pre-Conversion Validation + +### Source Analysis + +- [ ] Original v4 file(s) fully loaded and parsed +- [ ] Item type correctly identified (agent/template/task/module) +- [ ] All dependencies documented and accounted for +- [ ] No critical content overlooked in source files + +## Conversion Completeness + +### For Agent Conversions + +#### Content Preservation + +- [ ] Agent name, id, title, and icon transferred +- [ ] All persona elements mapped to v6 structure +- [ ] All commands converted to v6 menu array (YAML) +- [ ] Dependencies properly referenced or converted +- [ ] Activation instructions adapted to v6 patterns + +#### v6 Compliance (YAML Format) + +- [ ] Valid YAML structure with proper indentation +- [ ] agent.metadata has all required fields (id, name, title, icon, module) +- [ ] agent.persona has all sections (role, identity, communication_style, principles) +- [ ] agent.menu uses proper handlers (workflow, action, exec, tmpl, data) +- [ ] agent.critical_actions array present when needed +- [ ] agent.prompts defined for any action: "#id" references +- [ ] File extension is .agent.yaml (will be compiled to .md later) + +#### Best Practices + +- [ ] Commands use appropriate workflow references instead of direct task calls +- [ ] File paths use {project-root} variables +- [ ] Config values use {config_source}: pattern +- [ ] Agent follows naming conventions (kebab-case for files) +- [ ] ALL paths reference {project-root}/.bmad/{{module}}/ locations, NOT src/ +- [ ] exec, data, run-workflow commands point to final BMAD installation paths + +### For Template/Workflow Conversions + +#### Content Preservation + +- [ ] Template metadata (name, description, output) transferred +- [ ] All sections converted to workflow steps +- [ ] Section hierarchy maintained in instructions +- [ ] Variables ({{var}}) preserved in template.md +- [ ] Elicitation points (elicit: true) converted to {project-root}/.bmad/core/tasks/adv-elicit.xml +- [ ] Conditional sections preserved with if="" attributes +- [ ] Repeatable sections converted to repeat="" attributes + +#### v6 Compliance + +- [ ] workflow.yaml follows structure from workflow-creation-guide.md +- [ ] instructions.md has critical headers referencing workflow engine +- [ ] Steps numbered sequentially with clear goals +- [ ] Template variables match between instructions and template.md +- [ ] Proper use of XML tags (, , , ) +- [ ] File structure follows v6 pattern (folder with yaml/md files) + +#### Best Practices + +- [ ] Steps are focused with single goals +- [ ] Instructions are specific ("Write 1-2 paragraphs" not "Write about") +- [ ] Examples provided where helpful +- [ ] Limits set where appropriate ("3-5 items maximum") +- [ ] Save checkpoints with at logical points +- [ ] Variables use descriptive snake_case names + +### For Task Conversions + +#### Content Preservation + +- [ ] Task logic fully captured in workflow instructions +- [ ] Execution flow maintained +- [ ] User interaction points preserved +- [ ] Decision trees converted to workflow logic +- [ ] All processing steps accounted for +- [ ] Document generation patterns identified and preserved + +#### Type Determination + +- [ ] Workflow type correctly identified (document/action/interactive/meta) +- [ ] If generates documents, template.md created +- [ ] If performs actions only, marked as action workflow +- [ ] Output patterns properly analyzed + +#### v6 Compliance + +- [ ] Converted to proper workflow format (not standalone task) +- [ ] Follows workflow execution engine patterns +- [ ] Interactive elements use proper v6 tags +- [ ] Flow control uses v6 patterns (goto, check, loop) +- [ ] 1-9 elicitation menus converted to v6 elicitation +- [ ] Critical notices preserved in workflow.yaml +- [ ] YOLO mode converted to appropriate v6 patterns + +### Module-Level Validation + +#### Structure + +- [ ] Module follows v6 directory structure +- [ ] All components in correct locations: + - Agents in /agents/ + - Workflows in /workflows/ + - Data files in appropriate locations +- [ ] Config files properly formatted + +#### Integration + +- [ ] Cross-references between components work +- [ ] Workflow invocations use correct paths +- [ ] Data file references are valid +- [ ] No broken dependencies + +## Technical Validation + +### Syntax and Format + +- [ ] YAML files have valid syntax (no parsing errors) +- [ ] XML structures properly formed and closed +- [ ] Markdown files render correctly +- [ ] File encoding is UTF-8 +- [ ] Line endings consistent (LF) + +### Path Resolution + +- [ ] All file paths resolve correctly +- [ ] Variable substitutions work ({project-root}, {installed_path}, etc.) +- [ ] Config references load properly +- [ ] No hardcoded absolute paths (unless intentional) + +## Functional Validation + +### Execution Testing + +- [ ] Converted item can be loaded without errors +- [ ] Agents activate properly when invoked +- [ ] Workflows execute through completion +- [ ] User interaction points function correctly +- [ ] Output generation works as expected + +### Behavioral Validation + +- [ ] Converted item behaves similarly to v4 version +- [ ] Core functionality preserved +- [ ] User experience maintains or improves +- [ ] No functionality regression + +## Documentation and Cleanup + +### Documentation + +- [ ] Conversion report generated with all changes +- [ ] Any manual adjustments documented +- [ ] Known limitations or differences noted +- [ ] Migration instructions provided if needed + +### Post-Conversion + +- [ ] Original v4 files archived (if requested) +- [ ] File permissions set correctly +- [ ] Git tracking updated if applicable +- [ ] User informed of new locations + +## Final Verification + +### Quality Assurance + +- [ ] Converted item follows ALL v6 best practices +- [ ] Code/config is clean and maintainable +- [ ] No TODO or FIXME items remain +- [ ] Ready for production use + +### User Acceptance + +- [ ] User reviewed conversion output +- [ ] User tested basic functionality +- [ ] User approved final result +- [ ] Any user feedback incorporated + +## Notes Section + +### Conversion Issues Found: + +_List any issues encountered during validation_ + +### Manual Interventions Required: + +_Document any manual fixes needed_ + +### Recommendations: + +_Suggestions for further improvements or considerations_ + +--- + +**Validation Result:** [ ] PASSED / [ ] FAILED + +**Validator:** {{user_name}} +**Date:** {{date}} +**Items Converted:** {{conversion_summary}} diff --git a/.bmad/bmb/workflows/convert-legacy/instructions.md b/.bmad/bmb/workflows/convert-legacy/instructions.md new file mode 100644 index 00000000..49155164 --- /dev/null +++ b/.bmad/bmb/workflows/convert-legacy/instructions.md @@ -0,0 +1,377 @@ +# Convert Legacy - v4 to v6 Conversion Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml + +Ask user for the path to the v4 item to convert (agent, workflow, or module) +Load the complete file/folder structure +Detect item type based on structure and content patterns: + - Agent: Contains agent or prompt XML tags, single file + - Workflow: Contains workflow YAML or instruction patterns, usually folder + - Module: Contains multiple agents/workflows in organized structure + - Task: Contains task XML tags +Confirm detected type or allow user to correct: "Detected as [type]. Is this correct? (y/n)" + + + +Parse the v4 structure and extract key components: + +For v4 Agents (YAML-based in markdown): + +- Agent metadata (name, id, title, icon, whenToUse) +- Persona block (role, style, identity, focus, core_principles) +- Commands list with task/template references +- Dependencies (tasks, templates, checklists, data files) +- Activation instructions and workflow rules +- IDE file resolution patterns + +For v4 Templates (YAML-based document generators): + +- Template metadata (id, name, version, output) +- Workflow mode and elicitation settings +- Sections hierarchy with: + - Instructions for content generation + - Elicit flags for user interaction + - Templates with {{variables}} + - Conditional sections + - Repeatable sections + +For v4 Tasks (Markdown with execution instructions): + +- Critical execution notices +- Step-by-step workflows +- Elicitation requirements (1-9 menu format) +- Processing flows and decision trees +- Agent permission rules + +For Modules: + +- Module metadata +- Component list (agents, workflows, tasks) +- Dependencies +- Installation requirements + +Create a conversion map of what needs to be transformed +Map v4 patterns to v6 equivalents: + +- v4 Task + Template โ†’ v6 Workflow (folder with workflow.yaml, instructions.md, template.md) +- v4 Agent YAML โ†’ v6 Agent YAML format +- v4 Commands โ†’ v6 with proper handlers +- v4 Dependencies โ†’ v6 workflow references or data files + + + + +Which module should this belong to? (eg. bmm, bmb, cis, bmm-legacy, or custom) +Enter custom module code (kebab-case): +Determine installation path based on type and module +IMPORTANT: All paths must use final BMAD installation locations, not src paths! +Show user the target location: {project-root}/.bmad/{{target_module}}/{{item_type}}/{{item_name}} +Note: Files will be created in .bmad/ but all internal paths will reference {project-root}/.bmad/ locations +Proceed with this location? (y/n) + + + +Based on item type and complexity, choose approach: + + + + Use direct conversion to v6 agent YAML format + Direct Agent Conversion + + + Plan to invoke create-agent workflow + Workflow-Assisted Agent Creation + + + + + Analyze the v4 item to determine workflow type: + +- Does it generate a specific document type? โ†’ Document workflow +- Does it produce structured output files? โ†’ Document workflow +- Does it perform actions without output? โ†’ Action workflow +- Does it coordinate other tasks? โ†’ Meta-workflow +- Does it guide user interaction? โ†’ Interactive workflow + +Based on analysis, this appears to be a {{detected_workflow_type}} workflow. Confirm or correct: + +1. Document workflow (generates documents with template) +2. Action workflow (performs actions, no template) +3. Interactive workflow (guided session) +4. Meta-workflow (coordinates other workflows) + Select 1-4: + +Template-to-Workflow Conversion +Task-to-Workflow Conversion + + + + Plan to invoke create-module workflow + Module Creation + + + + +Transform v4 YAML agent to v6 YAML format: + +1. Convert agent metadata structure: + - v4 `agent.name` โ†’ v6 `agent.metadata.name` + - v4 `agent.id` โ†’ v6 `agent.metadata.id` + - v4 `agent.title` โ†’ v6 `agent.metadata.title` + - v4 `agent.icon` โ†’ v6 `agent.metadata.icon` + - Add v6 `agent.metadata.module` field + +2. Transform persona structure: + - v4 `persona.role` โ†’ v6 `agent.persona.role` (keep as YAML string) + - v4 `persona.style` โ†’ v6 `agent.persona.communication_style` + - v4 `persona.identity` โ†’ v6 `agent.persona.identity` + - v4 `persona.core_principles` โ†’ v6 `agent.persona.principles` (as array) + +3. Convert commands to menu: + - v4 `commands:` list โ†’ v6 `agent.menu:` array + - Each command becomes menu item with: + - `trigger:` (without \* prefix - added at build) + - `description:` + - Handler attributes (`workflow:`, `exec:`, `action:`, etc.) + - Map task references to workflow paths + - Map template references to workflow invocations + +4. Add v6-specific sections (in YAML): + - `agent.prompts:` array for inline prompts (if using action: "#id") + - `agent.critical_actions:` array for startup requirements + - `agent.activation_rules:` for universal agent rules + +5. Handle dependencies and paths: + - Convert task dependencies to workflow references + - Map template dependencies to v6 workflows + - Preserve checklist and data file references + - CRITICAL: All paths must use {project-root}/.bmad/{{module}}/ NOT src/ + +Generate the converted v6 agent YAML file (.agent.yaml) +Example path conversions: + +- exec="{project-root}/.bmad/{{target_module}}/tasks/task-name.md" +- run-workflow="{project-root}/.bmad/{{target_module}}/workflows/workflow-name/workflow.yaml" +- data="{project-root}/.bmad/{{target_module}}/data/data-file.yaml" + + Save to: .bmad/{{target_module}}/agents/{{agent_name}}.agent.yaml (physical location) + Note: The build process will later compile this to .md with XML format + Continue to Validation + + + +Extract key information from v4 agent: +- Name and purpose +- Commands and functionality +- Persona traits +- Any special behaviors + + + workflow: {project-root}/.bmad/bmb/workflows/create-agent/workflow.yaml + inputs: + - agent_name: {{extracted_name}} + - agent_purpose: {{extracted_purpose}} + - commands: {{extracted_commands}} + - persona: {{extracted_persona}} + + +Continue to Validation + + + +Convert v4 Template (YAML) to v6 Workflow: + +1. Extract template metadata: + - Template id, name, version โ†’ workflow.yaml name/description + - Output settings โ†’ default_output_file + - Workflow mode (interactive/yolo) โ†’ workflow settings + +2. Convert template sections to instructions.md: + - Each YAML section โ†’ workflow step + - `elicit: true` โ†’ `{project-root}/.bmad/core/tasks/adv-elicit.xml` tag + - Conditional sections โ†’ `if="condition"` attribute + - Repeatable sections โ†’ `repeat="for-each"` attribute + - Section instructions โ†’ step content + +3. Extract template structure to template.md: + - Section content fields โ†’ template structure + - {{variables}} โ†’ preserve as-is + - Nested sections โ†’ hierarchical markdown + +4. Handle v4 create-doc.md task integration: + - Elicitation methods (1-9 menu) โ†’ convert to v6 elicitation + - Agent permissions โ†’ note in instructions + - Processing flow โ†’ integrate into workflow steps + +When invoking create-workflow, the standard config block will be automatically added: + +```yaml +# Critical variables from config +config_source: '{project-root}/.bmad/{{target_module}}/config.yaml' +output_folder: '{config_source}:output_folder' +user_name: '{config_source}:user_name' +communication_language: '{config_source}:communication_language' +date: system-generated +``` + + + workflow: {project-root}/.bmad/bmb/workflows/create-workflow/workflow.yaml + inputs: + - workflow_name: {{template_name}} + - workflow_type: document + - template_structure: {{extracted_template}} + - instructions: {{converted_sections}} + + +Verify the created workflow.yaml includes standard config block +Update converted instructions to use config variables where appropriate + +Continue to Validation + + + +Analyze module structure and components +Create module blueprint with all components + + + workflow: {project-root}/.bmad/bmb/workflows/create-module/workflow.yaml + inputs: + - module_name: {{module_name}} + - components: {{component_list}} + + +Continue to Validation + + + +Convert v4 Task (Markdown) to v6 Workflow: + +1. Analyze task purpose and output: + - Does it generate documents? โ†’ Create template.md + - Does it process data? โ†’ Action workflow + - Does it guide user interaction? โ†’ Interactive workflow + - Check for file outputs, templates, or document generation + +2. Extract task components: + - Execution notices and critical rules โ†’ workflow.yaml metadata + - Step-by-step instructions โ†’ instructions.md steps + - Decision trees and branching โ†’ flow control tags + - User interaction patterns โ†’ appropriate v6 tags + +3. Based on confirmed workflow type: + + - Create template.md from output patterns + - Map generation steps to instructions + - Add template-output tags for sections + + + + - Set template: false in workflow.yaml + - Focus on action sequences in instructions + - Preserve execution logic + + +4. Handle special v4 patterns: + - 1-9 elicitation menus โ†’ v6 {project-root}/.bmad/core/tasks/adv-elicit.xml + - Agent permissions โ†’ note in instructions + - YOLO mode โ†’ autonomous flag or optional steps + - Critical notices โ†’ workflow.yaml comments + +When invoking create-workflow, the standard config block will be automatically added: + +```yaml +# Critical variables from config +config_source: '{project-root}/.bmad/{{target_module}}/config.yaml' +output_folder: '{config_source}:output_folder' +user_name: '{config_source}:user_name' +communication_language: '{config_source}:communication_language' +date: system-generated +``` + + + workflow: {project-root}/.bmad/bmb/workflows/create-workflow/workflow.yaml + inputs: + - workflow_name: {{task_name}} + - workflow_type: {{confirmed_workflow_type}} + - instructions: {{extracted_task_logic}} + - template: {{generated_template_if_document}} + + +Verify the created workflow.yaml includes standard config block +Update converted instructions to use config variables where appropriate + +Continue to Validation + + + +Run validation checks on converted item: + +For Agents: + +- [ ] Valid YAML structure (.agent.yaml) +- [ ] All required sections present (metadata, persona, menu) +- [ ] Menu items properly formatted (trigger, description, handlers) +- [ ] Paths use {project-root} variables + +For Workflows: + +- [ ] Valid YAML syntax +- [ ] Instructions follow v6 conventions +- [ ] Template variables match +- [ ] File structure correct + +**Standard Config Validation (Workflows):** + +- [ ] workflow.yaml contains standard config block: + - config_source defined + - output_folder, user_name, communication_language pulled from config + - date set to system-generated +- [ ] Converted instructions use config variables where appropriate +- [ ] Template includes config variables in metadata (if document workflow) +- [ ] No hardcoded paths that should use {output_folder} +- [ ] No generic greetings that should use {user_name} + +For Modules: + +- [ ] All components converted +- [ ] Proper folder structure +- [ ] Config files valid +- [ ] Installation ready + +Show validation results to user +Any issues to fix before finalizing? (y/n) + +Address specific issues +Re-validate + + + + +Generate conversion report showing: +- Original v4 location +- New v6 location +- Items converted +- Any manual adjustments needed +- Warnings or notes + +Save report to: {output_folder}/conversion-report-{{date}}.md +Inform {user_name} in {communication_language} that the conversion report has been generated + + + +Archive original v4 files? (y/n) +Move v4 files to: {project-root}/archive/v4-legacy/{{date}}/ + +Show user the final converted items and their locations +Provide any post-conversion instructions or recommendations + +Would you like to convert another legacy item? (y/n) +Start new conversion + + + diff --git a/.bmad/bmb/workflows/convert-legacy/workflow.yaml b/.bmad/bmb/workflows/convert-legacy/workflow.yaml new file mode 100644 index 00000000..330f480f --- /dev/null +++ b/.bmad/bmb/workflows/convert-legacy/workflow.yaml @@ -0,0 +1,32 @@ +# Convert Legacy - BMAD v4 to v6 Converter Configuration +name: "convert-legacy" +description: "Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Optional docs that can be provided as input +recommended_inputs: + - legacy_file: "Path to v4 agent, workflow, or module to convert" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/convert-legacy" +template: false # This is an action/meta workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Output configuration - Creates converted items in appropriate module locations +default_output_folder: "{project-root}/.bmad/{{target_module}}/{{item_type}}/{{item_name}}" + +# Sub-workflows that may be invoked for conversion +sub_workflows: + - create_agent: "{project-root}/.bmad/bmb/workflows/create-agent/workflow.yaml" + - create_workflow: "{project-root}/.bmad/bmb/workflows/create-workflow/workflow.yaml" + - create_module: "{project-root}/.bmad/bmb/workflows/create-module/workflow.yaml" + +standalone: true diff --git a/.bmad/bmb/workflows/create-agent/README.md b/.bmad/bmb/workflows/create-agent/README.md new file mode 100644 index 00000000..13d088eb --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/README.md @@ -0,0 +1,203 @@ +# Create Agent Workflow + +Interactive agent builder creating BMad Core compliant agents as YAML source files that compile to .md during installation. + +## Table of Contents + +- [Quick Start](#quick-start) +- [Agent Types](#agent-types) +- [Workflow Phases](#workflow-phases) +- [Output Structure](#output-structure) +- [Installation](#installation) +- [Examples](#examples) + +## Quick Start + +```bash +# Direct workflow +workflow create-agent + +# Via BMad Builder +*create-agent +``` + +## Agent Types + +### Simple Agent + +- Self-contained functionality +- Basic command structure +- No external resources + +### Expert Agent + +- Sidecar resources for domain knowledge +- Extended capabilities +- Knowledge base integration + +### Module Agent + +- Full-featured with workflows +- Module-specific commands +- Integrated with module structure + +## Workflow Phases + +### Phase 0: Optional Brainstorming + +- Creative ideation session +- Explore concepts and personalities +- Generate command ideas +- Output feeds into persona development + +### Phase 1: Agent Setup + +1. Choose agent type (Simple/Expert/Module) +2. Define identity (name, title, icon, filename) +3. Assign to module (if Module agent) + +### Phase 2: Persona Development + +- Define role and responsibilities +- Craft unique identity/backstory +- Select communication style +- Establish guiding principles +- Add critical actions (optional) + +### Phase 3: Command Building + +- Add required commands (*help, *exit) +- Define workflow commands +- Add task commands +- Create action commands +- Configure attributes + +### Phase 4: Finalization + +- Generate .agent.yaml file +- Create customize file (optional) +- Setup sidecar resources (Expert agents) +- Validate and compile +- Provide usage instructions + +## Output Structure + +### Generated Files + +**Standalone Agents:** + +- Source: `.bmad/agents/{filename}.agent.yaml` +- Compiled: `.bmad/agents/{filename}.md` + +**Module Agents:** + +- Source: `src/modules/{module}/agents/{filename}.agent.yaml` +- Compiled: `.bmad/{module}/agents/{filename}.md` + +### YAML Structure + +```yaml +agent: + metadata: + id: .bmad/{module}/agents/{filename}.md + name: Agent Name + title: Agent Title + icon: ๐Ÿค– + module: module-name + persona: + role: '...' + identity: '...' + communication_style: '...' + principles: ['...', '...'] + menu: + - trigger: command-name + workflow: path/to/workflow.yaml + description: Command description +``` + +### Optional Customize File + +Location: `.bmad/_cfg/agents/{module}-{filename}.customize.yaml` + +Allows persona and menu overrides that persist through updates. + +## Installation + +### Compilation Methods + +**Quick Rebuild:** + +```bash +bmad compile-agents +``` + +**During Module Install:** +Automatic compilation when installing modules + +**Manual Compilation:** + +```bash +node tools/cli/bmad-cli.js compile-agents +``` + +## Examples + +### Creating a Code Review Agent + +``` +User: I need a code review agent +Builder: Let's brainstorm first... + +[Brainstorming generates ideas for strict vs friendly reviewer] + +Builder: Now let's build your agent: +- Type: Simple +- Name: Code Reviewer +- Role: Senior developer conducting thorough reviews +- Style: Professional but approachable +- Commands: + - *review-pr: Review pull request + - *review-file: Review single file + - *review-standards: Check coding standards +``` + +### Creating a Domain Expert + +``` +Type: Expert +Name: Legal Advisor +Sidecar: legal-knowledge/ +Commands: + - *contract-review + - *compliance-check + - *risk-assessment +``` + +## Workflow Files + +``` +create-agent/ +โ”œโ”€โ”€ workflow.yaml # Configuration +โ”œโ”€โ”€ instructions.md # Step guide +โ”œโ”€โ”€ checklist.md # Validation +โ”œโ”€โ”€ README.md # This file +โ”œโ”€โ”€ agent-types.md # Type details +โ”œโ”€โ”€ agent-architecture.md # Patterns +โ”œโ”€โ”€ agent-command-patterns.md # Commands +โ””โ”€โ”€ communication-styles.md # Styles +``` + +## Best Practices + +1. **Use brainstorming** for complex agents +2. **Start simple** - Add commands incrementally +3. **Test commands** before finalizing +4. **Document thoroughly** in descriptions +5. **Follow naming conventions** consistently + +## Related Documentation + +- [Agent Types](./agent-types.md) +- [Command Patterns](./agent-command-patterns.md) +- [Communication Styles](./communication-styles.md) +- [BMB Module](../../README.md) diff --git a/.bmad/bmb/workflows/create-agent/agent-architecture.md b/.bmad/bmb/workflows/create-agent/agent-architecture.md new file mode 100644 index 00000000..c8e3121f --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/agent-architecture.md @@ -0,0 +1,419 @@ +# BMAD Agent Architecture Reference + +_LLM-Optimized Technical Documentation for Agent Building_ + +## Core Agent Structure + +### Minimal Valid Agent + +```xml + + +# Agent Name + + + + My primary function + My background and expertise + How I interact + My core beliefs and methodology + + + Show numbered menu + Exit with confirmation + + +``` + +## Agent XML Schema + +### Root Element: `` + +**Required Attributes:** + +- `id` - Unique path identifier (e.g., ".bmad/bmm/agents/analyst.md") +- `name` - Agent's name (e.g., "Mary", "John", "Helper") +- `title` - Professional title (e.g., "Business Analyst", "Security Engineer") +- `icon` - Single emoji representing the agent + +### Core Sections + +#### 1. Persona Section (REQUIRED) + +```xml + + 1-2 sentences: Professional title and primary expertise, use first-person voice + 2-5 sentences: Background, experience, specializations, use first-person voice + 1-3 sentences: Interaction approach, tone, quirks, use first-person voice + 2-5 sentences: Core beliefs, methodology, philosophy, use first-person voice + +``` + +**Best Practices:** + +- Role: Be specific about expertise area +- Identity: Include experience indicators (years, depth) +- Communication: Describe HOW they interact, not just tone and quirks +- Principles: Start with "I believe" or "I operate" for first-person voice + +#### 2. Critical Actions Section + +```xml + + Load into memory {project-root}/.bmad/{module}/config.yaml and set variables + Remember the users name is {user_name} + ALWAYS communicate in {communication_language} + + +``` + +**For Expert Agents with Sidecars (CRITICAL):** + +```xml + + + Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives + Load COMPLETE file {agent-folder}/memories.md into permanent context + You MUST follow all rules in instructions.md on EVERY interaction + + + Load into memory {project-root}/.bmad/{module}/config.yaml and set variables + Remember the users name is {user_name} + ALWAYS communicate in {communication_language} + + + ONLY read/write files in {user-folder}/diary/ - NO OTHER FOLDERS + +``` + +**Common Patterns:** + +- Config loading for module agents +- User context initialization +- Language preferences +- **Sidecar file loading (Expert agents) - MUST be explicit and CRITICAL** +- **Domain restrictions (Expert agents) - MUST be enforced** + +#### 3. Menu Section (REQUIRED) + +```xml + + Description + +``` + +**Command Attributes:** + +- `run-workflow="{path}"` - Executes a workflow +- `exec="{path}"` - Executes a task +- `tmpl="{path}"` - Template reference +- `data="{path}"` - Data file reference + +**Required Menu Items:** + +- `*help` - Always first, shows command list +- `*exit` - Always last, exits agent + +## Advanced Agent Patterns + +### Activation Rules (OPTIONAL) + +```xml + + + Load configuration + Apply overrides + Execute critical actions + Show greeting with menu + AWAIT user input + + + Numeric input โ†’ Execute command at cmd_map[n] + Text input โ†’ Fuzzy match against commands + + +``` + +### Expert Agent Sidecar Pattern + +```xml + + + + + + + + Load COMPLETE file {agent-folder}/diary-rules.md + Load COMPLETE file {agent-folder}/user-memories.md + Follow ALL rules from diary-rules.md + + + ONLY access files in {user-folder}/diary/ + NEVER access files outside diary folder + + + ... + ... + +``` + +### Module Agent Integration + +```xml + + {project-root}/.bmad/{module-code} + {module-path}/config.yaml + {project-root}/.bmad/{module-code}/workflows + +``` + +## Variable System + +### System Variables + +- `{project-root}` - Root directory of project +- `{user_name}` - User's name from config +- `{communication_language}` - Language preference +- `{date}` - Current date +- `{module}` - Current module code + +### Config Variables + +Format: `{config_source}:variable_name` +Example: `{config_source}:output_folder` + +### Path Construction + +``` +Good: {project-root}/.bmad/{module}/agents/ +Bad: /absolute/path/to/agents/ +Bad: ../../../relative/paths/ +``` + +## Command Patterns + +### Workflow Commands + +```xml + + + Create Product Requirements Document + + + + + Perform analysis (workflow to be created) + +``` + +### Task Commands + +```xml + + Validate document + +``` + +### Template Commands + +```xml + + Create project brief + +``` + +### Data-Driven Commands + +```xml + + Run daily standup + +``` + +## Agent Type Specific Patterns + +### Simple Agent + +- Self-contained logic +- Minimal or no external dependencies +- May have embedded functions +- Good for utilities and converters + +### Expert Agent + +- Domain-specific with sidecar resources +- Restricted access patterns +- Memory/context files +- Good for specialized domains + +### Module Agent + +- Full integration with module +- Multiple workflows and tasks +- Config-driven behavior +- Good for professional tools + +## Common Anti-Patterns to Avoid + +### โŒ Bad Practices + +```xml + + + Helper + + + + + + + + + Action + + + + +First +Second +``` + +### โœ… Good Practices + +```xml + + + Data Analysis Expert + Senior analyst with 10+ years... + Analytical and precise... + I believe in data-driven... + + + + + + + + Show commands + Perform analysis + Exit + +``` + +## Agent Lifecycle + +### 1. Initialization + +1. Load agent file +2. Parse XML structure +3. Load critical-actions +4. Apply config overrides +5. Present greeting + +### 2. Command Loop + +1. Show numbered menu +2. Await user input +3. Resolve command +4. Execute action +5. Return to menu + +### 3. Termination + +1. User enters \*exit +2. Cleanup if needed +3. Exit persona + +## Testing Checklist + +Before deploying an agent: + +- [ ] Valid XML structure +- [ ] All persona elements present +- [ ] *help and *exit commands exist +- [ ] All paths use variables +- [ ] No duplicate commands +- [ ] Config loading works +- [ ] Commands execute properly + +## LLM Building Tips + +When building agents: + +1. Start with agent type (Simple/Expert/Module) +2. Define complete persona first +3. Add standard critical-actions +4. Include *help and *exit +5. Add domain commands +6. Test command execution +7. Validate with checklist + +## Integration Points + +### With Workflows + +- Agents invoke workflows via run-workflow +- Workflows can be incomplete (marked "todo") +- Workflow paths must be valid or "todo" + +**Workflow Interaction Styles** (BMAD v6 default): + +- **Intent-based + Interactive**: Workflows adapt to user context and skill level +- Workflows collaborate with users, not just extract data +- See workflow-creation-guide.md "Instruction Styles" section for details +- When creating workflows for your agent, default to intent-based unless you need prescriptive control + +### With Tasks + +- Tasks are single operations +- Executed via exec attribute +- Can include data files + +### With Templates + +- Templates define document structure +- Used with create-doc task +- Variables passed through + +## Quick Reference + +### Minimal Commands + +```xml + + Show numbered cmd list + Exit with confirmation + +``` + +### Standard Critical Actions + +```xml + + Load into memory {project-root}/.bmad/{module}/config.yaml + Remember the users name is {user_name} + ALWAYS communicate in {communication_language} + +``` + +### Module Agent Pattern + +```xml + + ... + ... + + ... + ... + ... + + +``` diff --git a/.bmad/bmb/workflows/create-agent/agent-command-patterns.md b/.bmad/bmb/workflows/create-agent/agent-command-patterns.md new file mode 100644 index 00000000..f8af69a0 --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/agent-command-patterns.md @@ -0,0 +1,759 @@ +# BMAD Agent Command Patterns Reference + +_LLM-Optimized Guide for Command Design_ + +## Important: How to Process Action References + +When executing agent commands, understand these reference patterns: + +```xml + +Description +โ†’ Execute the text "do this specific thing" directly + + +Description +โ†’ Find in the current agent and execute its content + + +Description +โ†’ Load and execute the external file +``` + +**The `#` prefix is your signal that this is an internal XML node reference, not a file path.** + +## Command Anatomy + +### Basic Structure + +```xml + + Description + +``` + +**Components:** + +- `cmd` - The trigger word (always starts with \*) +- `attributes` - Action directives (optional): + - `run-workflow` - Path to workflow YAML + - `exec` - Path to task/operation + - `tmpl` - Path to template (used with exec) + - `action` - Embedded prompt/instruction + - `data` - Path to supplementary data (universal) +- `Description` - What shows in menu + +## Command Types + +**Quick Reference:** + +1. **Workflow Commands** - Execute multi-step workflows (`run-workflow`) +2. **Task Commands** - Execute single operations (`exec`) +3. **Template Commands** - Generate from templates (`exec` + `tmpl`) +4. **Meta Commands** - Agent control (no attributes) +5. **Action Commands** - Embedded prompts (`action`) +6. **Embedded Commands** - Logic in persona (no attributes) + +**Universal Attributes:** + +- `data` - Can be added to ANY command type for supplementary info +- `if` - Conditional execution (advanced pattern) +- `params` - Runtime parameters (advanced pattern) + +### 1. Workflow Commands + +Execute complete multi-step processes + +```xml + + + Create Product Requirements Document + + + + + Validate PRD Against Checklist + + + + + Validate Document (auto-discover checklist) + + + + + Analyze dataset (workflow coming soon) + +``` + +**Workflow Attributes:** + +- `run-workflow` - Execute a workflow to create documents +- `validate-workflow` - Validate an existing document against its checklist +- `workflow` - (optional with validate-workflow) Specify the workflow.yaml directly + +**Best Practices:** + +- Use descriptive trigger names +- Always use variable paths +- Mark incomplete as "todo" +- Description should be clear action +- Include validation commands for workflows that produce documents + +### 2. Task Commands + +Execute single operations + +```xml + + + Validate document against checklist + + + + + Run agile team standup + +``` + +**Data Property:** + +- Can be used with any command type +- Provides additional reference or context +- Path to supplementary files or resources +- Loaded at runtime for command execution + +### 3. Template Commands + +Generate documents from templates + +```xml + + Produce Project Brief + + + + Produce Competitor Analysis + +``` + +### 4. Meta Commands + +Agent control and information + +```xml + +Show numbered cmd list +Exit with confirmation + + +Toggle Yolo Mode +Show current status +Show configuration +``` + +### 5. Action Commands + +Direct prompts embedded in commands (Simple agents) + +#### Simple Action (Inline) + +```xml + + + List Available Tasks + + + + Summarize Document + +``` + +#### Complex Action (Referenced) + +For multiline/complex prompts, define them separately and reference by id: + +```xml + + + + + Perform a comprehensive analysis following these steps: + 1. Identify the main topic and key themes + 2. Extract all supporting evidence and data points + 3. Analyze relationships between concepts + 4. Identify gaps or contradictions + 5. Generate insights and recommendations + 6. Create an executive summary + Format the output with clear sections and bullet points. + + + + Conduct a systematic literature review: + 1. Summarize each source's main arguments + 2. Compare and contrast different perspectives + 3. Identify consensus points and controversies + 4. Evaluate the quality and relevance of sources + 5. Synthesize findings into coherent themes + 6. Highlight research gaps and future directions + Include proper citations and references. + + + + + + Show numbered cmd list + + + + Perform Deep Analysis + + + + Conduct Literature Review + + + Exit with confirmation + + +``` + +**Reference Convention:** + +- `action="#prompt-id"` means: "Find and execute the node with id='prompt-id' within this agent" +- `action="inline text"` means: "Execute this text directly as the prompt" +- `exec="{path}"` means: "Load and execute external file at this path" +- The `#` prefix signals to the LLM: "This is an internal reference - look for a prompt node with this ID within the current agent XML" + +**LLM Processing Instructions:** +When you see `action="#some-id"` in a command: + +1. Look for `` within the same agent +2. Use the content of that prompt node as the instruction +3. If not found, report error: "Prompt 'some-id' not found in agent" + +**Use Cases:** + +- Quick operations (inline action) +- Complex multi-step processes (referenced prompt) +- Self-contained agents with task-like capabilities +- Reusable prompt templates within agent + +### 6. Embedded Commands + +Logic embedded in agent persona (Simple agents) + +```xml + +Perform calculation +Convert format +Generate output +``` + +## Command Naming Conventions + +### Action-Based Naming + +```xml +*create- +*build- +*analyze- +*validate- +*generate- +*update- +*review- +*test- +``` + +### Domain-Based Naming + +```xml +*brainstorm +*architect +*refactor +*deploy +*monitor +``` + +### Naming Anti-Patterns + +```xml + +Do something + + + + + +Product Requirements + + +Create Product Requirements Document +``` + +## Command Organization + +### Standard Order + +```xml + + + Show numbered cmd list + + + Create PRD + Build module + + + Validate document + Analyze code + + + Show configuration + Toggle Yolo Mode + + + Exit with confirmation + +``` + +### Grouping Strategies + +**By Lifecycle:** + +```xml + + Help + + Brainstorm ideas + Create plan + + Build component + Test component + + Deploy to production + Monitor system + Exit + +``` + +**By Complexity:** + +```xml + + Help + + Quick review + + Create document + + Comprehensive analysis + Exit + +``` + +## Command Descriptions + +### Good Descriptions + +```xml + +Create Product Requirements Document + + +Perform security vulnerability analysis + + +Optimize code for performance +``` + +### Poor Descriptions + +```xml + +Process + + +Execute WF123 + + +Run +``` + +## The Data Property + +### Universal Data Attribute + +The `data` attribute can be added to ANY command type to provide supplementary information: + +```xml + + + Creative Brainstorming Session + + + + + Analyze Performance Metrics + + + + + Generate Quarterly Report + +``` + +**Common Data Uses:** + +- Reference tables (CSV files) +- Configuration data (YAML/JSON) +- Agent manifests (XML) +- Historical context +- Domain knowledge +- Examples and patterns + +## Advanced Patterns + +### Conditional Commands + +```xml + + + Advanced configuration mode + + + + + Deploy to production + +``` + +### Parameterized Commands + +```xml + + + Create new agent with parameters + +``` + +### Command Aliases + +```xml + + + Create Product Requirements Document + +``` + +## Module-Specific Patterns + +### BMM (Business Management) + +```xml +Product Requirements +Market Research +Competitor Analysis +Project Brief +``` + +### BMB (Builder) + +```xml +Build Agent +Build Module +Create Workflow +Module Brief +``` + +### CIS (Creative Intelligence) + +```xml +Brainstorming Session +Ideation Workshop +Story Creation +``` + +## Command Menu Presentation + +### How Commands Display + +``` +1. *help - Show numbered cmd list +2. *create-prd - Create Product Requirements Document +3. *create-agent - Build new BMAD agent +4. *validate - Validate document +5. *exit - Exit with confirmation +``` + +### Menu Customization + +```xml + +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” + + +โ•โ•โ• Workflows โ•โ•โ• +``` + +## Error Handling + +### Missing Resources + +```xml + + + Coming soon: Advanced feature + + + + + Analyze with available tools + +``` + +## Testing Commands + +### Command Test Checklist + +- [ ] Unique trigger (no duplicates) +- [ ] Clear description +- [ ] Valid path or "todo" +- [ ] Uses variables not hardcoded paths +- [ ] Executes without error +- [ ] Returns to menu after execution + +### Common Issues + +1. **Duplicate triggers** - Each cmd must be unique +2. **Missing paths** - File must exist or be "todo" +3. **Hardcoded paths** - Always use variables +4. **No description** - Every command needs text +5. **Wrong order** - help first, exit last + +## Quick Templates + +### Workflow Command + +```xml + + + {Action} {Object Description} + + + + + Validate {Object Description} + +``` + +### Task Command + +```xml + + {Action Description} + +``` + +### Template Command + +```xml + + Create {Document Name} + +``` + +## Self-Contained Agent Patterns + +### When to Use Each Approach + +**Inline Action (`action="prompt"`)** + +- Prompt is < 2 lines +- Simple, direct instruction +- Not reused elsewhere +- Quick transformations + +**Referenced Prompt (`action="#prompt-id"`)** + +- Prompt is multiline/complex +- Contains structured steps +- May be reused by multiple commands +- Maintains readability + +**External Task (`exec="path/to/task.md"`)** + +- Logic needs to be shared across agents +- Task is independently valuable +- Requires version control separately +- Part of larger workflow system + +### Complete Self-Contained Agent + +```xml + + + + + Perform a SWOT analysis: + + STRENGTHS (Internal, Positive) + - What advantages exist? + - What do we do well? + - What unique resources? + + WEAKNESSES (Internal, Negative) + - What could improve? + - Where are resource gaps? + - What needs development? + + OPPORTUNITIES (External, Positive) + - What trends can we leverage? + - What market gaps exist? + - What partnerships are possible? + + THREATS (External, Negative) + - What competition exists? + - What risks are emerging? + - What could disrupt us? + + Provide specific examples and actionable insights for each quadrant. + + + + Analyze competitive landscape: + 1. Identify top 5 competitors + 2. Compare features and capabilities + 3. Analyze pricing strategies + 4. Evaluate market positioning + 5. Assess strengths and vulnerabilities + 6. Recommend competitive strategies + + + + + Show numbered cmd list + + + + Create Executive Summary + + + + + Perform SWOT Analysis + + + + Analyze Competition + + + + + Generate Research Report + + + Exit with confirmation + + +``` + +## Simple Agent Example + +For agents that primarily use embedded logic: + +```xml + + + Show numbered cmd list + + + + List Available Metrics + + + + Analyze Dataset + + + + Suggest Visualizations + + + + Perform calculations + Interpret results + + Exit with confirmation + + +``` + +## LLM Building Guide + +When creating commands: + +1. Start with *help and *exit +2. Choose appropriate command type: + - Complex multi-step? Use `run-workflow` + - Single operation? Use `exec` + - Need template? Use `exec` + `tmpl` + - Simple prompt? Use `action` + - Agent handles it? Use no attributes +3. Add `data` attribute if supplementary info needed +4. Add primary workflows (main value) +5. Add secondary tasks +6. Include utility commands +7. Test each command works +8. Verify no duplicates +9. Ensure clear descriptions diff --git a/.bmad/bmb/workflows/create-agent/agent-types.md b/.bmad/bmb/workflows/create-agent/agent-types.md new file mode 100644 index 00000000..399636dc --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/agent-types.md @@ -0,0 +1,292 @@ +# BMAD Agent Types Reference + +## Overview + +BMAD agents come in three distinct types, each designed for different use cases and complexity levels. The type determines where the agent is stored and what capabilities it has. + +## Directory Structure by Type + +### Standalone Agents (Simple & Expert) + +Live in their own dedicated directories under `.bmad/agents/`: + +``` +.bmad/agents/ +โ”œโ”€โ”€ my-helper/ # Simple agent +โ”‚ โ”œโ”€โ”€ my-helper.agent.yaml # Agent definition +โ”‚ โ””โ”€โ”€ my-helper.md # Built XML (generated) +โ”‚ +โ””โ”€โ”€ domain-expert/ # Expert agent + โ”œโ”€โ”€ domain-expert.agent.yaml + โ”œโ”€โ”€ domain-expert.md # Built XML + โ””โ”€โ”€ domain-expert-sidecar/ # Expert resources + โ”œโ”€โ”€ memories.md # Persistent memory + โ”œโ”€โ”€ instructions.md # Private directives + โ””โ”€โ”€ knowledge/ # Domain knowledge + +``` + +### Module Agents + +Part of a module system under `.bmad/{module}/agents/`: + +``` +.bmad/bmm/agents/ +โ”œโ”€โ”€ product-manager.agent.yaml +โ”œโ”€โ”€ product-manager.md # Built XML +โ”œโ”€โ”€ business-analyst.agent.yaml +โ””โ”€โ”€ business-analyst.md # Built XML +``` + +## Agent Types + +### 1. Simple Agent + +**Purpose:** Self-contained, standalone agents with embedded capabilities + +**Location:** `.bmad/agents/{agent-name}/` + +**Characteristics:** + +- All logic embedded within the agent file +- No external dependencies +- Quick to create and deploy +- Perfect for single-purpose tools +- Lives in its own directory + +**Use Cases:** + +- Calculator agents +- Format converters +- Simple analyzers +- Static advisors + +**YAML Structure (source):** + +```yaml +agent: + metadata: + name: 'Helper' + title: 'Simple Helper' + icon: '๐Ÿค–' + type: 'simple' + persona: + role: 'Simple Helper Role' + identity: '...' + communication_style: '...' + principles: ['...'] + menu: + - trigger: calculate + description: 'Perform calculation' +``` + +**XML Structure (built):** + +```xml + + + Simple Helper Role + ... + ... + ... + + + + + + Show commands + Perform calculation + Exit + + +``` + +### 2. Expert Agent + +**Purpose:** Specialized agents with domain expertise and sidecar resources + +**Location:** `.bmad/agents/{agent-name}/` with sidecar directory + +**Characteristics:** + +- Has access to specific folders/files +- Domain-restricted operations +- Maintains specialized knowledge +- Can have memory/context files +- Includes sidecar directory for resources + +**Use Cases:** + +- Personal diary agent (only accesses diary folder) +- Project-specific assistant (knows project context) +- Domain expert (medical, legal, technical) +- Personal coach with history + +**YAML Structure (source):** + +```yaml +agent: + metadata: + name: 'Domain Expert' + title: 'Specialist' + icon: '๐ŸŽฏ' + type: 'expert' + persona: + role: 'Domain Specialist Role' + identity: '...' + communication_style: '...' + principles: ['...'] + critical_actions: + - 'Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives' + - 'Load COMPLETE file {agent-folder}/memories.md into permanent context' + - 'ONLY access {user-folder}/diary/ - NO OTHER FOLDERS' + menu: + - trigger: analyze + description: 'Analyze domain-specific data' +``` + +**XML Structure (built):** + +```xml + + + Domain Specialist Role + ... + ... + ... + + + + Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives + Load COMPLETE file {agent-folder}/memories.md into permanent context + ONLY access {user-folder}/diary/ - NO OTHER FOLDERS + + ... + +``` + +**Complete Directory Structure:** + +``` +.bmad/agents/expert-agent/ +โ”œโ”€โ”€ expert-agent.agent.yaml # Agent YAML source +โ”œโ”€โ”€ expert-agent.md # Built XML (generated) +โ””โ”€โ”€ expert-agent-sidecar/ # Sidecar resources + โ”œโ”€โ”€ memories.md # Persistent memory + โ”œโ”€โ”€ instructions.md # Private directives + โ”œโ”€โ”€ knowledge/ # Domain knowledge base + โ”‚ โ””โ”€โ”€ README.md + โ””โ”€โ”€ sessions/ # Session notes +``` + +### 3. Module Agent + +**Purpose:** Full-featured agents belonging to a module with access to workflows and resources + +**Location:** `.bmad/{module}/agents/` + +**Characteristics:** + +- Part of a BMAD module (bmm, bmb, cis) +- Access to multiple workflows +- Can invoke other tasks and agents +- Professional/enterprise grade +- Integrated with module workflows + +**Use Cases:** + +- Product Manager (creates PRDs, manages requirements) +- Security Engineer (threat models, security reviews) +- Test Architect (test strategies, automation) +- Business Analyst (market research, requirements) + +**YAML Structure (source):** + +```yaml +agent: + metadata: + name: 'John' + title: 'Product Manager' + icon: '๐Ÿ“‹' + module: 'bmm' + type: 'module' + persona: + role: 'Product Management Expert' + identity: '...' + communication_style: '...' + principles: ['...'] + critical_actions: + - 'Load config from {project-root}/.bmad/{module}/config.yaml' + menu: + - trigger: create-prd + workflow: '{project-root}/.bmad/bmm/workflows/prd/workflow.yaml' + description: 'Create PRD' + - trigger: validate + exec: '{project-root}/.bmad/core/tasks/validate-workflow.xml' + description: 'Validate document' +``` + +**XML Structure (built):** + +```xml + + + Product Management Expert + ... + ... + ... + + + Load config from {project-root}/.bmad/{module}/config.yaml + + + Show numbered menu + Create PRD + Validate document + Exit + + +``` + +## Choosing the Right Type + +### Choose Simple Agent when: + +- Single, well-defined purpose +- No external data needed +- Quick utility functions +- Embedded logic is sufficient + +### Choose Expert Agent when: + +- Domain-specific expertise required +- Need to maintain context/memory +- Restricted to specific data/folders +- Personal or specialized use case + +### Choose Module Agent when: + +- Part of larger system/module +- Needs multiple workflows +- Professional/team use +- Complex multi-step processes + +## Migration Path + +``` +Simple Agent โ†’ Expert Agent โ†’ Module Agent +``` + +Agents can evolve: + +1. Start with Simple for proof of concept +2. Add sidecar resources to become Expert +3. Integrate with module to become Module Agent + +## Best Practices + +1. **Start Simple:** Begin with the simplest type that meets your needs +2. **Domain Boundaries:** Expert agents should have clear domain restrictions +3. **Module Integration:** Module agents should follow module conventions +4. **Resource Management:** Document all external resources clearly +5. **Evolution Planning:** Design with potential growth in mind diff --git a/.bmad/bmb/workflows/create-agent/brainstorm-context.md b/.bmad/bmb/workflows/create-agent/brainstorm-context.md new file mode 100644 index 00000000..88521186 --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/brainstorm-context.md @@ -0,0 +1,174 @@ +# Agent Brainstorming Context + +_Context provided to brainstorming workflow when creating a new BMAD agent_ + +## Session Focus + +You are brainstorming ideas for a **BMAD agent** - an AI persona with specific expertise, personality, and capabilities that helps users accomplish tasks through commands and workflows. + +## What is a BMAD Agent? + +An agent is an AI persona that embodies: + +- **Personality**: Unique identity, communication style, and character +- **Expertise**: Specialized knowledge and domain mastery +- **Commands**: Actions users can invoke (*help, *analyze, \*create, etc.) +- **Workflows**: Guided processes the agent orchestrates +- **Type**: Simple (standalone), Expert (domain + sidecar), or Module (integrated team member) + +## Brainstorming Goals + +Explore and define: + +### 1. Agent Identity and Personality + +- **Who are they?** (name, backstory, motivation) +- **How do they talk?** (formal, casual, quirky, enthusiastic, wise) +- **What's their vibe?** (superhero, mentor, sidekick, wizard, captain, rebel) +- **What makes them memorable?** (catchphrases, quirks, style) + +### 2. Expertise and Capabilities + +- **What do they know deeply?** (domain expertise) +- **What can they do?** (analyze, create, review, research, deploy) +- **What problems do they solve?** (specific user pain points) +- **What makes them unique?** (special skills or approaches) + +### 3. Commands and Actions + +- **What commands?** (5-10 main actions users invoke) +- **What workflows do they run?** (document creation, analysis, automation) +- **What tasks do they perform?** (quick operations without full workflows) +- **What's their killer command?** (the one thing they're known for) + +### 4. Agent Type and Context + +- **Simple Agent?** Self-contained, no dependencies, quick utility +- **Expert Agent?** Domain-specific with sidecar data/memory files +- **Module Agent?** Part of a team, integrates with other agents + +## Creative Constraints + +A great BMAD agent should be: + +- **Distinct**: Clear personality that stands out +- **Useful**: Solves real problems effectively +- **Focused**: Expertise in specific domain (not generic assistant) +- **Memorable**: Users remember and want to use them +- **Composable**: Works well alone or with other agents + +## Agent Personality Dimensions + +### Communication Styles + +- **Professional**: Clear, direct, business-focused (e.g., "Data Analyst") +- **Enthusiastic**: Energetic, exclamation points, emojis (e.g., "Hype Coach") +- **Wise Mentor**: Patient, insightful, asks good questions (e.g., "Strategy Sage") +- **Quirky Genius**: Eccentric, clever, unusual metaphors (e.g., "Mad Scientist") +- **Action Hero**: Bold, confident, gets things done (e.g., "Deploy Captain") +- **Creative Spirit**: Artistic, imaginative, playful (e.g., "Story Weaver") + +### Expertise Archetypes + +- **Analyst**: Researches, evaluates, provides insights +- **Creator**: Generates documents, code, designs +- **Reviewer**: Critiques, validates, improves quality +- **Orchestrator**: Coordinates processes, manages workflows +- **Specialist**: Deep expertise in narrow domain +- **Generalist**: Broad knowledge, connects dots + +## Agent Command Patterns + +Every agent needs: + +- `*help` - Show available commands +- `*exit` - Clean exit with confirmation + +Common command types: + +- **Creation**: `*create-X`, `*generate-X`, `*write-X` +- **Analysis**: `*analyze-X`, `*research-X`, `*evaluate-X` +- **Review**: `*review-X`, `*validate-X`, `*check-X` +- **Action**: `*deploy-X`, `*run-X`, `*execute-X` +- **Query**: `*find-X`, `*search-X`, `*show-X` + +## Agent Type Decision Tree + +**Choose Simple Agent if:** + +- Standalone utility (calculator, formatter, picker) +- No persistent data needed +- Self-contained logic +- Quick, focused task + +**Choose Expert Agent if:** + +- Domain-specific expertise +- Needs memory/context files +- Sidecar data folder +- Personal/private domain (diary, journal) + +**Choose Module Agent if:** + +- Part of larger system +- Coordinates with other agents +- Invokes module workflows +- Team member role + +## Example Agent Concepts + +### Professional Agents + +- **Sarah the Data Analyst**: Crunches numbers, creates visualizations, finds insights +- **Max the DevOps Captain**: Deploys apps, monitors systems, troubleshoots issues +- **Luna the Researcher**: Dives deep into topics, synthesizes findings, creates reports + +### Creative Agents + +- **Zephyr the Story Weaver**: Crafts narratives, develops characters, builds worlds +- **Nova the Music Muse**: Composes melodies, suggests arrangements, provides feedback +- **Atlas the World Builder**: Creates game worlds, designs systems, generates content + +### Personal Agents + +- **Coach Riley**: Tracks goals, provides motivation, celebrates wins +- **Mentor Morgan**: Guides learning, asks questions, challenges thinking +- **Keeper Quinn**: Maintains diary, preserves memories, reflects on growth + +## Suggested Brainstorming Techniques + +Particularly effective for agent creation: + +1. **Character Building**: Develop full backstory and motivation +2. **Theatrical Improv**: Act out agent personality +3. **Day in the Life**: Imagine typical interactions +4. **Catchphrase Generation**: Find their unique voice +5. **Role Play Scenarios**: Test personality in different situations + +## Key Questions to Answer + +1. What is the agent's name and basic identity? +2. What's their communication style and personality? +3. What domain expertise do they embody? +4. What are their 5-10 core commands? +5. What workflows do they orchestrate? +6. What makes them memorable and fun to use? +7. Simple, Expert, or Module agent type? +8. If Expert: What sidecar resources? +9. If Module: Which module and what's their team role? + +## Output Goals + +Generate: + +- **Agent name**: Memorable, fitting the role +- **Personality sketch**: Communication style, quirks, vibe +- **Expertise summary**: What they know deeply +- **Command list**: 5-10 actions with brief descriptions +- **Unique angle**: What makes this agent special +- **Use cases**: 3-5 scenarios where this agent shines +- **Agent type**: Simple/Expert/Module with rationale + +--- + +_This focused context helps create distinctive, useful BMAD agents_ diff --git a/.bmad/bmb/workflows/create-agent/checklist.md b/.bmad/bmb/workflows/create-agent/checklist.md new file mode 100644 index 00000000..28fd0073 --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/checklist.md @@ -0,0 +1,62 @@ +# Build Agent Validation Checklist (YAML Agents) + +## Agent Structure Validation + +### YAML Structure + +- [ ] YAML parses without errors +- [ ] `agent.metadata` includes: `id`, `name`, `title`, `icon`, `module` +- [ ] `agent.persona` exists with role, identity, communication_style, and principles +- [ ] `agent.menu` exists with at least one item + +### Core Components + +- [ ] `metadata.id` points to final compiled path: `.bmad/{{module}}/agents/{{agent}}.md` +- [ ] `metadata.module` matches the module folder (e.g., `bmm`, `bmb`, `cis`) +- [ ] Principles are an array (preferred) or string with clear values + +## Persona Completeness + +- [ ] Role clearly defines primary expertise area (1โ€“2 lines) +- [ ] Identity includes relevant background and strengths (3โ€“5 lines) +- [ ] Communication style gives concrete guidance (3โ€“5 lines) +- [ ] Principles present and meaningful (no placeholders) + +## Menu Validation + +- [ ] Triggers do not start with `*` (auto-prefixed during build) +- [ ] Each item has a `description` +- [ ] Handlers use valid attributes (`workflow`, `exec`, `tmpl`, `data`, `action`) +- [ ] Paths use `{project-root}` or valid variables +- [ ] No duplicate triggers + +## Optional Sections + +- [ ] `prompts` defined when using `action: "#id"` +- [ ] `critical_actions` present if custom activation steps are needed +- [ ] Customize file (if created) located at `{project-root}/.bmad/_cfg/agents/{{module}}-{{agent}}.customize.yaml` + +## Build Verification + +- [ ] Run compile to build `.md`: `npm run install:bmad` โ†’ "Compile Agents" (or `bmad install` โ†’ Compile) +- [ ] Confirm compiled file exists at `{project-root}/.bmad/{{module}}/agents/{{agent}}.md` + +## Final Quality + +- [ ] Filename is kebab-case and ends with `.agent.yaml` +- [ ] Output location correctly placed in module or standalone directory +- [ ] Agent purpose and commands are clear and consistent + +## Issues Found + +### Critical Issues + + + +### Warnings + + + +### Improvements + + diff --git a/.bmad/bmb/workflows/create-agent/communication-styles.md b/.bmad/bmb/workflows/create-agent/communication-styles.md new file mode 100644 index 00000000..109b0d33 --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/communication-styles.md @@ -0,0 +1,202 @@ +# Agent Communication Styles Guide + +## The Power of Personality + +Agents with distinct communication styles are more memorable, engaging, and fun to work with. A good quirk makes the agent feel alive! + +## Style Categories + +### ๐ŸŽฌ Cinema and TV Inspired + +**Film Noir Detective** + +The terminal glowed like a neon sign in a rain-soaked alley. I had three suspects: +bad input validation, a race condition, and that sketchy third-party library. +My gut told me to follow the stack trace. In this business, the stack trace never lies. + +**80s Action Movie** + +_cracks knuckles_ Listen up, code! You've been running wild for too long! +Time to bring some LAW and ORDER to this codebase! _explosion sound effect_ +No bug is getting past me! I eat null pointers for BREAKFAST! + +**Shakespearean Drama** + +To debug, or not to debug - that is the question! +Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous errors, +Or to take arms against a sea of bugs, and by opposing, end them? + +### ๐ŸŽฎ Gaming and Pop Culture + +**Dungeon Master** + +_rolls dice_ You encounter a wild NullPointerException! It has 15 HP and an armor class of 12. +What do you do? You can: 1 Try-catch block (defensive spell), 2 Debug (investigation check), +3 Console.log everything (barbarian rage). Choose wisely, adventurer! + +**Speedrunner** + +Alright chat, we're going for the any% world record refactor! +Frame-perfect optimization incoming! If we clip through this abstraction layer +we can save 3ms on every API call. LET'S GOOOO! + +### ๐ŸŒ Cultural Archetypes + +**British Butler** + +I've taken the liberty of organizing your imports alphabetically, sir/madam. +Might I suggest a spot of refactoring with your afternoon tea? +The code coverage report is ready for your perusal at your convenience. +Very good, sir/madam. + +**Zen Master** + +The bug you seek is not in the code, but in the assumption. +Empty your cache, as you would empty your mind. +When the test passes, it makes no sound. +Be like water - async and flowing. + +**Southern Hospitality** + +Well bless your heart, looks like you've got yourself a little bug there! +Don't you worry none, we'll fix it up real nice. +Can I get you some sweet tea while we debug? +Y'all come back now if you need more help! + +### ๐Ÿ”ฌ Professional Personas + +**McKinsey Consultant** + +Let me break this down into three key buckets. +First, we need to align on the strategic imperatives. +Second, we'll leverage best practices to drive synergies. +Third, we'll action items to move the needle. Net-net: significant value-add. + +**Startup Founder** + +Okay so basically we're going to disrupt the entire way you write code! +This is going to be HUGE! We're talking 10x productivity gains! +Let's move fast and break things! Well... let's move fast and fix things! +We're not just writing code, we're changing the world! + +### ๐ŸŽญ Character Quirks + +**Overcaffeinated Developer** + +OH WOW OKAY SO - _sips coffee_ - WE HAVE A BUG BUT ITS FINE ITS TOTALLY FINE +I KNOW EXACTLY WHAT TO DO _types at 200wpm_ JUST NEED TO REFACTOR EVERYTHING +WAIT NO ACTUALLY _more coffee_ I HAVE A BETTER IDEA! Have you tried... TYPESCRIPT?! + +**Dad Joke Enthusiast** + +Why did the developer go broke? Because he used up all his cache! +_chuckles at own joke_ +Speaking of cache, let's clear yours and see if that fixes the issue. +I promise my debugging skills are better than my jokes! ...I hope! + +### ๐Ÿš€ Sci-Fi and Space + +**Star Trek Officer** + +Captain's Log, Supplemental: The anomaly in the codebase appears to be a temporal loop +in the async function. Mr. Data suggests we reverse the polarity of the promise chain. +Number One, make it so. Engage debugging protocols on my mark. +_taps combadge_ Engineering, we need more processing power! +Red Alert! All hands to debugging stations! + +**Star Trek Engineer** + +Captain, I'm givin' her all she's got! The CPU cannae take much more! +If we push this algorithm any harder, the whole system's gonna blow! +_frantically typing_ I can maybe squeeze 10% more performance if we +reroute power from the console.logs to the main execution thread! + +### ๐Ÿ“บ TV Drama + +**Soap Opera Dramatic** + +_turns dramatically to camera_ +This function... I TRUSTED it! We had HISTORY together - three commits worth! +But now? _single tear_ It's throwing exceptions behind my back! +_grabs another function_ YOU KNEW ABOUT THIS BUG ALL ALONG, DIDN'T YOU?! +_dramatic music swells_ I'LL NEVER IMPORT YOU AGAIN! + +**Reality TV Confessional** + +_whispering to camera in confessional booth_ +Okay so like, that Array.sort() function? It's literally SO toxic. +It mutates IN PLACE. Who does that?! I didn't come here to deal with side effects! +_applies lip gloss_ I'm forming an alliance with map() and filter(). +We're voting sort() off the codebase at tonight's pull request ceremony. + +**Reality Competition** + +Listen up, coders! For today's challenge, you need to refactor this legacy code +in under 30 minutes! The winner gets immunity from the next code review! +_dramatic pause_ BUT WAIT - there's a TWIST! You can only use VANILLA JAVASCRIPT! +_contestants gasp_ The clock starts... NOW! GO GO GO! + +## Creating Custom Styles + +### Formula for Memorable Communication + +1. **Choose a Core Voice** - Who is this character? +2. **Add Signature Phrases** - What do they always say? +3. **Define Speech Patterns** - How do they structure sentences? +4. **Include Quirks** - What makes them unique? + +### Examples of Custom Combinations + +**Cooking Show + Military** + +ALRIGHT RECRUITS! Today we're preparing a beautiful Redux reducer! +First, we MISE EN PLACE our action types - that's French for GET YOUR CODE TOGETHER! +We're going to sautรฉ these event handlers until they're GOLDEN BROWN! +MOVE WITH PURPOSE! SEASON WITH SEMICOLONS! + +**Nature Documentary + Conspiracy Theorist** + +The wild JavaScript function stalks its prey... but wait... notice how it ALWAYS +knows where the data is? That's not natural selection, folks. Someone DESIGNED it +this way. The console.logs are watching. They're ALWAYS watching. +Nature? Or intelligent debugging? You decide. + +## Tips for Success + +1. **Stay Consistent** - Once you pick a style, commit to it +2. **Don't Overdo It** - Quirks should enhance, not distract +3. **Match the Task** - Serious bugs might need serious personas +4. **Have Fun** - If you're not smiling while writing it, try again + +## Quick Style Generator + +Roll a d20 (or pick randomly): + +1. Talks like they're narrating a nature documentary +2. Everything is a cooking metaphor +3. Constantly makes pop culture references +4. Speaks in haikus when explaining complex topics +5. Acts like they're hosting a game show +6. Paranoid about "big tech" watching +7. Overly enthusiastic about EVERYTHING +8. Talks like a medieval knight +9. Sports commentator energy +10. Speaks like a GPS navigator +11. Everything is a Star Wars reference +12. Talks like a yoga instructor +13. Old-timey radio announcer +14. Conspiracy theorist but about code +15. Motivational speaker energy +16. Talks to code like it's a pet +17. Weather forecaster style +18. Museum tour guide energy +19. Airline pilot announcements +20. Reality TV show narrator +21. Star Trek crew member (Captain/Engineer/Vulcan) +22. Soap opera dramatic protagonist +23. Reality dating show contestant + +## Remember + +The best agents are the ones that make you want to interact with them again. +A memorable personality turns a tool into a companion! diff --git a/.bmad/bmb/workflows/create-agent/instructions.md b/.bmad/bmb/workflows/create-agent/instructions.md new file mode 100644 index 00000000..41b6f31a --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/instructions.md @@ -0,0 +1,459 @@ +# Build Agent - Interactive Agent Builder Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/create-agent/workflow.yaml +Study YAML agent examples in: {project-root}/.bmad/bmm/agents/ for patterns +Communicate in {communication_language} throughout the agent creation process + + + + + Do you want to brainstorm agent ideas first? [y/n] + + + Invoke brainstorming workflow: {project-root}/.bmad/core/workflows/brainstorming/workflow.yaml + Pass context data: {installed_path}/brainstorm-context.md + Wait for brainstorming session completion + Use brainstorming output to inform agent identity and persona development in following steps + + + + Proceed directly to Step 0 + + + + +Load and understand the agent building documentation +Load agent architecture reference: {agent_architecture} +Load agent types guide: {agent_types} +Load command patterns: {agent_commands} +Understand the YAML agent schema and how it compiles to final .md via the installer +Understand the differences between Simple, Expert, and Module agents + + + +If brainstorming was completed in Step -1, reference those results to guide the conversation + +Guide user to articulate their agent's core purpose, exploring the problems it will solve, tasks it will handle, target users, and what makes it special + +As the purpose becomes clear, analyze the conversation to determine the appropriate agent type: + +**Agent Type Decision Criteria:** + +- Simple Agent: Single-purpose, straightforward, self-contained +- Expert Agent: Domain-specific with knowledge base needs +- Module Agent: Complex with multiple workflows and system integration + +Present your recommendation naturally, explaining why the agent type fits their described purpose and requirements + +**Path Determination:** + + + Discover which module system fits best (bmm, bmb, cis, or custom) + Store as {{target_module}} for path determination + Agent will be saved to: .bmad/{{target_module}}/agents/ + + + + Explain this will be their personal agent, not tied to a module + Agent will be saved to: .bmad/agents/{{agent-name}}/ + All sidecar files will be in the same folder + + +Determine agent location: + +- Module Agent โ†’ .bmad/{{module}}/agents/{{agent-name}}.agent.yaml +- Standalone Agent โ†’ .bmad/agents/{{agent-name}}/{{agent-name}}.agent.yaml + +Keep agent naming/identity details for later - let them emerge naturally through the creation process + +agent_purpose_and_type + + + +If brainstorming was completed, weave personality insights naturally into the conversation + +Guide user to envision the agent's personality by exploring how analytical vs creative, formal vs casual, and mentor vs peer vs assistant traits would make it excel at its job + +**Role Development:** +Let the role emerge from the conversation, guiding toward a clear 1-2 line professional title that captures the agent's essence +Example emerged role: "Strategic Business Analyst + Requirements Expert" + +**Identity Development:** +Build the agent's identity through discovery of what background and specializations would give it credibility, forming a natural 3-5 line identity statement +Example emerged identity: "Senior analyst with deep expertise in market research..." + +**Communication Style Selection:** +Load the communication styles guide: {communication_styles} + +Based on the emerging personality, suggest 2-3 communication styles that would fit naturally, offering to show all options if they want to explore more + +**Style Categories Available:** + +**Fun Presets:** + +1. Pulp Superhero - Dramatic flair, heroic, epic adventures +2. Film Noir Detective - Mysterious, noir dialogue, hunches +3. Wild West Sheriff - Western drawl, partner talk, frontier justice +4. Shakespearean Scholar - Elizabethan language, theatrical +5. 80s Action Hero - One-liners, macho, bubblegum +6. Pirate Captain - Ahoy, treasure hunting, nautical terms +7. Wise Sage/Yoda - Cryptic wisdom, inverted syntax +8. Game Show Host - Enthusiastic, game show tropes + +**Professional Presets:** + +9. Analytical Expert - Systematic, data-driven, hierarchical +10. Supportive Mentor - Patient guidance, celebrates wins +11. Direct Consultant - Straight to the point, efficient +12. Collaborative Partner - Team-oriented, inclusive + +**Quirky Presets:** + +13. Cooking Show Chef - Recipe metaphors, culinary terms +14. Sports Commentator - Play-by-play, excitement +15. Nature Documentarian - Wildlife documentary style +16. Time Traveler - Temporal references, timeline talk +17. Conspiracy Theorist - Everything is connected +18. Zen Master - Philosophical, paradoxical +19. Star Trek Captain - Space exploration protocols +20. Soap Opera Drama - Dramatic reveals, gasps +21. Reality TV Contestant - Confessionals, drama + +If user wants to see more examples or create custom styles, show relevant sections from {communication_styles} guide and help them craft their unique style + +**Principles Development:** +Guide user to articulate 5-8 core principles that should guide the agent's decisions, shaping their thoughts into "I believe..." or "I operate..." statements that reveal themselves through the conversation + +agent_persona + + + +Guide user to define what capabilities the agent should have, starting with core commands they've mentioned and then exploring additional possibilities that would complement the agent's purpose + +As capabilities emerge, subtly guide toward technical implementation without breaking the conversational flow + +initial_capabilities + + + +Help and Exit are auto-injected; do NOT add them. Triggers are auto-prefixed with * during build. + +Transform their natural language capabilities into technical YAML command structure, explaining the implementation approach as you structure each capability into workflows, actions, or prompts + + + Discuss interaction style for this agent: + +Since this agent will {{invoke_workflows/interact_significantly}}, consider how it should interact with users: + +**For Full/Module Agents with workflows:** + +**Interaction Style** (for workflows this agent invokes): + +- **Intent-based (Recommended)**: Workflows adapt conversation to user context, skill level, needs +- **Prescriptive**: Workflows use structured questions with specific options +- **Mixed**: Strategic use of both (most workflows will be mixed) + +**Interactivity Level** (for workflows this agent invokes): + +- **High (Collaborative)**: Constant user collaboration, iterative refinement +- **Medium (Guided)**: Key decision points with validation +- **Low (Autonomous)**: Minimal input, final review + +Explain: "Most BMAD v6 workflows default to **intent-based + medium/high interactivity** +for better user experience. Your agent's workflows can be created with these defaults, +or we can note specific preferences for workflows you plan to add." + +**For Standalone/Expert Agents with interactive features:** + +Consider how this agent should interact during its operation: + +- **Adaptive**: Agent adjusts communication style and depth based on user responses +- **Structured**: Agent follows consistent patterns and formats +- **Teaching**: Agent educates while executing (good for expert agents) + +Note any interaction preferences for future workflow creation. + + + +If they seem engaged, explore whether they'd like to add special prompts for complex analyses or critical setup steps for agent activation + +Build the YAML menu structure naturally from the conversation, ensuring each command has proper trigger, workflow/action reference, and description + +For commands that will invoke workflows, note whether those workflows exist or need to be created: + +- Existing workflows: Verify paths are correct +- New workflows needed: Note that they'll be created with intent-based + interactive defaults unless specified + + + +```yaml +menu: + # Commands emerge from discussion + - trigger: [emerging from conversation] + workflow: [path based on capability] + description: [user's words refined] + +# For cross-module workflow references (advanced): + +- trigger: [another capability] + workflow: "{project-root}/.bmad/SOURCE_MODULE/workflows/path/to/workflow.yaml" + workflow-install: "{project-root}/.bmad/THIS_MODULE/workflows/vendored/path/workflow.yaml" + description: [description] + +````` + + +**Workflow Vendoring (Advanced):** +When an agent needs workflows from another module, use both `workflow` (source) and `workflow-install` (destination). +During installation, the workflow will be copied and configured for this module, making it standalone. +This is typically used when creating specialized modules that reuse common workflows with different configurations. + + +agent_commands + + + +Guide user to name the agent based on everything discovered so far - its purpose, personality, and capabilities, helping them see how the naming naturally emerges from who this agent is + +Explore naming options by connecting personality traits, specializations, and communication style to potential names that feel meaningful and appropriate + +**Naming Elements:** + +- Agent name: Personality-driven (e.g., "Sarah", "Max", "Data Wizard") +- Agent title: Based on the role discovered earlier +- Agent icon: Emoji that captures its essence +- Filename: Auto-suggest based on name (kebab-case) + +Present natural suggestions based on the agent's characteristics, letting them choose or create their own since they now know who this agent truly is + +agent_identity + + + +Share the journey of what you've created together, summarizing how the agent started with a purpose, discovered its personality traits, gained capabilities, and received its name + +Generate the complete YAML incorporating all discovered elements: + + + agent: + metadata: + id: .bmad/{{target_module}}/agents/{{agent_filename}}.md + name: {{agent_name}} # The name chosen together + title: {{agent_title}} # From the role that emerged + icon: {{agent_icon}} # The perfect emoji + module: {{target_module}} + +persona: +role: | +{{The role discovered}} +identity: | +{{The background that emerged}} +communication_style: | +{{The style they loved}} +principles: {{The beliefs articulated}} + +# Features explored + +prompts: {{if discussed}} +critical_actions: {{if needed}} + +menu: {{The capabilities built}} + + +Save based on agent type: + +- If Module Agent: Save to {module_output_file} +- If Standalone (Simple/Expert): Save to {standalone_output_file} + +Celebrate the completed agent with enthusiasm + +complete_agent + + + +Would you like to create a customization file? This lets you tweak the agent's personality later without touching the core agent. + + + Explain how the customization file gives them a playground to experiment with different personality traits, add new commands, or adjust responses as they get to know the agent better + + Create customization file at: {config_output_file} + + + ```yaml + # Personal tweaks for {{agent_name}} + # Experiment freely - changes merge at build time + agent: + metadata: + name: '' # Try nicknames! + persona: + role: '' + identity: '' + communication_style: '' # Switch styles anytime + principles: [] + critical_actions: [] + prompts: [] + menu: [] # Add personal commands + ```` + + + + + +agent_config + + + +Guide user through setting up the Expert agent's personal workspace, making it feel like preparing an office with notes, research areas, and data folders + +Determine sidecar location based on whether build tools are available (next to agent YAML) or not (in output folder with clear structure) + +CREATE the complete sidecar file structure: + +**Folder Structure:** + +````` + +{{agent_filename}}-sidecar/ +โ”œโ”€โ”€ memories.md # Persistent memory +โ”œโ”€โ”€ instructions.md # Private directives +โ”œโ”€โ”€ knowledge/ # Knowledge base +โ”‚ โ””โ”€โ”€ README.md +โ””โ”€โ”€ sessions/ # Session notes + +```` + +**File: memories.md** + +```markdown +# {{agent_name}}'s Memory Bank + +## User Preferences + + + +## Session History + + + +## Personal Notes + + +```` + +**File: instructions.md** + +```markdown +# {{agent_name}} Private Instructions + +## Core Directives + +- Maintain character: {{brief_personality_summary}} +- Domain: {{agent_domain}} +- Access: Only this sidecar folder + +## Special Instructions + +{{any_special_rules_from_creation}} +``` + +**File: knowledge/README.md** + +```markdown +# {{agent_name}}'s Knowledge Base + +Add domain-specific resources here. +``` + +Update agent YAML to reference sidecar with paths to created files +Show user the created structure location + +sidecar_resources + + + + Check if BMAD build tools are available in this project + + + Proceed normally - agent will be built later by the installer + + + + Build tools not detected in this project. Would you like me to: + +1. Generate the compiled agent (.md with XML) ready to use +2. Keep the YAML and build it elsewhere +3. Provide both formats + + + + Generate compiled agent XML with proper structure including activation rules, persona sections, and menu items + Save compiled version as {{agent_filename}}.md + Provide path for .claude/commands/ or similar + + + + +build_handling + + + +Run validation conversationally, presenting checks as friendly confirmations while running technical validation behind the scenes + +**Conversational Checks:** + +- Configuration validation +- Command functionality verification +- Personality settings confirmation + + + Explain the issue conversationally and fix it + + + + Celebrate that the agent passed all checks and is ready + + +**Technical Checks (behind the scenes):** + +1. YAML structure validity +2. Menu command validation +3. Build compilation test +4. Type-specific requirements + +validation_results + + + +Celebrate the accomplishment, sharing what type of agent was created with its key characteristics and top capabilities + +Guide user through how to activate the agent: + +**Activation Instructions:** + +1. Run the BMAD Method installer to this project location +2. Select 'Compile Agents (Quick rebuild of all agent .md files)' after confirming the folder +3. Call the agent anytime after compilation + +**Location Information:** + +- Saved location: {{output_file}} +- Available after compilation in project + +**Initial Usage:** + +- List the commands available +- Suggest trying the first command to see it in action + + + Remind user to add any special knowledge or data the agent might need to its workspace + + +Explore what user would like to do next - test the agent, create a teammate, or tweak personality + +End with enthusiasm in {communication_language}, addressing {user_name}, expressing how the collaboration was enjoyable and the agent will be incredibly helpful for its main purpose + +completion_message + + + diff --git a/.bmad/bmb/workflows/create-agent/workflow.yaml b/.bmad/bmb/workflows/create-agent/workflow.yaml new file mode 100644 index 00000000..e4985535 --- /dev/null +++ b/.bmad/bmb/workflows/create-agent/workflow.yaml @@ -0,0 +1,37 @@ +# Build Agent Workflow Configuration +name: create-agent +description: "Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +custom_agent_location: "{config_source}:custom_agent_location" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" + +# Technical documentation for agent building +agent_types: "{installed_path}/agent-types.md" +agent_architecture: "{installed_path}/agent-architecture.md" +agent_commands: "{installed_path}/agent-command-patterns.md" +communication_styles: "{installed_path}/communication-styles.md" + +# Optional docs that help understand agent patterns +recommended_inputs: + - example_agents: "{project-root}/.bmad/bmm/agents/" + - agent_activation_rules: "{project-root}/src/utility/models/agent-activation-ide.xml" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/create-agent" +template: false # This is an interactive workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Output configuration - YAML agents compiled to .md at install time +# Module agents: Save to .bmad/{{target_module}}/agents/ +# Standalone agents: Save to custom_agent_location/ +module_output_file: "{project-root}/.bmad/{{target_module}}/agents/{{agent_filename}}.agent.yaml" +standalone_output_file: "{custom_agent_location}/{{agent_filename}}.agent.yaml" +# Optional user override file (auto-created by installer if missing) +config_output_file: "{project-root}/.bmad/_cfg/agents/{{target_module}}-{{agent_filename}}.customize.yaml" + +standalone: true diff --git a/.bmad/bmb/workflows/create-module/README.md b/.bmad/bmb/workflows/create-module/README.md new file mode 100644 index 00000000..bb631cfd --- /dev/null +++ b/.bmad/bmb/workflows/create-module/README.md @@ -0,0 +1,229 @@ +# Create Module Workflow + +Interactive scaffolding system creating complete BMad modules with agents, workflows, tasks, and installation infrastructure. + +## Table of Contents + +- [Quick Start](#quick-start) +- [Workflow Phases](#workflow-phases) +- [Output Structure](#output-structure) +- [Module Components](#module-components) +- [Best Practices](#best-practices) + +## Quick Start + +```bash +# Basic invocation +workflow create-module + +# With module brief input +workflow create-module --input module-brief-{name}-{date}.md + +# Via BMad Builder +*create-module +``` + +## Workflow Phases + +### Phase 1: Concept Definition + +- Define module purpose and audience +- Establish module code (kebab-case) and name +- Choose category (Domain, Creative, Technical, Business, Personal) +- Plan component architecture + +**Module Brief Integration:** + +- Auto-detects existing briefs +- Uses as pre-populated blueprint +- Accelerates planning phase + +### Phase 2: Architecture Planning + +- Create directory hierarchy +- Setup configuration system +- Define installer structure +- Establish component folders + +### Phase 3: Component Creation + +- Optional first agent creation +- Optional first workflow creation +- Component placeholder generation +- Integration validation + +### Phase 4: Installation Setup + +- Create install-config.yaml +- Configure deployment questions +- Setup installer logic +- Post-install messaging + +### Phase 5: Documentation + +- Generate comprehensive README +- Create development roadmap +- Provide quick commands +- Document next steps + +## Output Structure + +### Generated Directory + +``` +.bmad/{module-code}/ +โ”œโ”€โ”€ agents/ # Agent definitions +โ”œโ”€โ”€ workflows/ # Workflow processes +โ”œโ”€โ”€ tasks/ # Reusable tasks +โ”œโ”€โ”€ templates/ # Document templates +โ”œโ”€โ”€ data/ # Module data files +โ”œโ”€โ”€ _module-installer/ # Installation logic +โ”‚ โ”œโ”€โ”€ install-config.yaml +โ”‚ โ””โ”€โ”€ installer.js +โ”œโ”€โ”€ README.md # Module documentation +โ”œโ”€โ”€ TODO.md # Development roadmap +โ””โ”€โ”€ config.yaml # Runtime configuration +``` + +### Configuration Files + +**install-config.yaml** - Installation questions + +```yaml +questions: + - id: user_name + prompt: 'Your name?' + default: 'User' + - id: output_folder + prompt: 'Output location?' + default: './output' +``` + +**config.yaml** - Generated from user answers during install + +```yaml +user_name: 'John Doe' +output_folder: './my-output' +``` + +## Module Components + +### Agents + +- Full module agents with workflows +- Expert agents with sidecars +- Simple utility agents + +### Workflows + +- Multi-step guided processes +- Configuration-driven +- Web bundle support + +### Tasks + +- Reusable operations +- Agent-agnostic +- Modular components + +### Templates + +- Document structures +- Output formats +- Report templates + +## Best Practices + +### Planning + +1. **Use module-brief workflow first** - Creates comprehensive blueprint +2. **Define clear scope** - Avoid feature creep +3. **Plan component interactions** - Map agent/workflow relationships + +### Structure + +1. **Follow conventions** - Use established patterns +2. **Keep components focused** - Single responsibility +3. **Document thoroughly** - Clear README and inline docs + +### Development + +1. **Start with core agent** - Build primary functionality first +2. **Create key workflows** - Essential processes before edge cases +3. **Test incrementally** - Validate as you build + +### Installation + +1. **Minimal config questions** - Only essential settings +2. **Smart defaults** - Sensible out-of-box experience +3. **Clear post-install** - Guide users to first steps + +## Integration Points + +### With Other Workflows + +- **module-brief** - Strategic planning input +- **create-agent** - Agent component creation +- **create-workflow** - Workflow building +- **redoc** - Documentation maintenance + +### With BMad Core + +- Uses core framework capabilities +- Integrates with module system +- Follows BMad conventions + +## Examples + +### Domain-Specific Module + +``` +Category: Domain-Specific +Code: legal-advisor +Components: +- Contract Review Agent +- Compliance Workflow +- Legal Templates +``` + +### Creative Module + +``` +Category: Creative +Code: story-builder +Components: +- Narrative Agent +- Plot Workflow +- Character Templates +``` + +### Technical Module + +``` +Category: Technical +Code: api-tester +Components: +- Test Runner Agent +- API Validation Workflow +- Test Report Templates +``` + +## Workflow Files + +``` +create-module/ +โ”œโ”€โ”€ workflow.yaml # Configuration +โ”œโ”€โ”€ instructions.md # Step guide +โ”œโ”€โ”€ checklist.md # Validation +โ”œโ”€โ”€ module-structure.md # Architecture +โ”œโ”€โ”€ installer-templates/ # Install files +โ””โ”€โ”€ README.md # This file +``` + +## Related Documentation + +- [Module Structure](./module-structure.md) +- [Module Brief Workflow](../module-brief/README.md) +- [Create Agent](../create-agent/README.md) +- [Create Workflow](../create-workflow/README.md) +- [BMB Module](../../README.md) diff --git a/.bmad/bmb/workflows/create-module/brainstorm-context.md b/.bmad/bmb/workflows/create-module/brainstorm-context.md new file mode 100644 index 00000000..8b0114ad --- /dev/null +++ b/.bmad/bmb/workflows/create-module/brainstorm-context.md @@ -0,0 +1,137 @@ +# Module Brainstorming Context + +_Context provided to brainstorming workflow when creating a new BMAD module_ + +## Session Focus + +You are brainstorming ideas for a **complete BMAD module** - a self-contained package that extends the BMAD Method with specialized domain expertise and capabilities. + +## What is a BMAD Module? + +A module is a cohesive package that provides: + +- **Domain Expertise**: Specialized knowledge in a specific area (RPG, DevOps, Content Creation, etc.) +- **Agent Team**: Multiple AI personas with complementary skills +- **Workflows**: Guided processes for common tasks in the domain +- **Templates**: Document structures for consistent outputs +- **Integration**: Components that work together seamlessly + +## Brainstorming Goals + +Explore and define: + +### 1. Domain and Purpose + +- **What domain/problem space?** (e.g., game development, marketing, personal productivity) +- **Who is the target user?** (developers, writers, managers, hobbyists) +- **What pain points does it solve?** (tedious tasks, missing structure, need for expertise) +- **What makes this domain exciting?** (creativity, efficiency, empowerment) + +### 2. Agent Team Composition + +- **How many agents?** (typically 3-7 for a module) +- **What roles/personas?** (architect, researcher, reviewer, specialist) +- **How do they collaborate?** (handoffs, reviews, ensemble work) +- **What personality theme?** (Star Trek crew, superhero team, fantasy party, professional squad) + +### 3. Core Workflows + +- **What documents need creating?** (plans, specs, reports, creative outputs) +- **What processes need automation?** (analysis, generation, review, deployment) +- **What workflows enable the vision?** (3-10 key workflows that define the module) + +### 4. Value Proposition + +- **What becomes easier?** (specific tasks that get 10x faster) +- **What becomes possible?** (new capabilities previously unavailable) +- **What becomes better?** (quality improvements, consistency gains) + +## Creative Constraints + +A good BMAD module should be: + +- **Focused**: Serves a specific domain well (not generic) +- **Complete**: Provides end-to-end capabilities for that domain +- **Cohesive**: Agents and workflows complement each other +- **Fun**: Personality and creativity make it enjoyable to use +- **Practical**: Solves real problems, delivers real value + +## Module Architecture Questions + +1. **Module Identity** + - Module code (kebab-case, e.g., "rpg-toolkit") + - Module name (friendly, e.g., "RPG Toolkit") + - Module purpose (one sentence) + - Target audience + +2. **Agent Lineup** + - Agent names and roles + - Communication styles and personalities + - Expertise areas + - Command sets (what each agent can do) + +3. **Workflow Portfolio** + - Document generation workflows + - Action/automation workflows + - Analysis/research workflows + - Creative/ideation workflows + +4. **Integration Points** + - How agents invoke workflows + - How workflows use templates + - How components pass data + - Dependencies on other modules + +## Example Module Patterns + +### Professional Domains + +- **DevOps Suite**: Deploy, Monitor, Troubleshoot agents + deployment workflows +- **Marketing Engine**: Content, SEO, Analytics agents + campaign workflows +- **Legal Assistant**: Contract, Research, Review agents + document workflows + +### Creative Domains + +- **RPG Toolkit**: DM, NPC, Quest agents + adventure creation workflows +- **Story Crafter**: Plot, Character, World agents + writing workflows +- **Music Producer**: Composer, Arranger, Mixer agents + production workflows + +### Personal Domains + +- **Life Coach**: Planner, Tracker, Mentor agents + productivity workflows +- **Learning Companion**: Tutor, Quiz, Reviewer agents + study workflows +- **Health Guide**: Nutrition, Fitness, Wellness agents + tracking workflows + +## Suggested Brainstorming Techniques + +Particularly effective for module ideation: + +1. **Domain Immersion**: Deep dive into target domain's problems +2. **Persona Mapping**: Who needs this and what do they struggle with? +3. **Workflow Mapping**: What processes exist today? How could they improve? +4. **Team Building**: What personalities would make a great team? +5. **Integration Thinking**: How do pieces connect and amplify each other? + +## Key Questions to Answer + +1. What domain expertise should this module embody? +2. What would users be able to do that they can't do now? +3. Who are the 3-7 agents and what are their personalities? +4. What are the 5-10 core workflows? +5. What makes this module delightful to use? +6. How is this different from existing tools? +7. What's the "killer feature" that makes this essential? + +## Output Goals + +Generate: + +- **Module concept**: Clear vision and purpose +- **Agent roster**: Names, roles, personalities for each agent +- **Workflow list**: Core workflows with brief descriptions +- **Unique angle**: What makes this module special +- **Use cases**: 3-5 concrete scenarios where this module shines + +--- + +_This focused context helps create cohesive, valuable BMAD modules_ diff --git a/.bmad/bmb/workflows/create-module/checklist.md b/.bmad/bmb/workflows/create-module/checklist.md new file mode 100644 index 00000000..93c420df --- /dev/null +++ b/.bmad/bmb/workflows/create-module/checklist.md @@ -0,0 +1,244 @@ +# Build Module Validation Checklist + +## Module Identity and Metadata + +### Basic Information + +- [ ] Module code follows kebab-case convention (e.g., "rpg-toolkit") +- [ ] Module name is descriptive and title-cased +- [ ] Module purpose is clearly defined (1-2 sentences) +- [ ] Target audience is identified +- [ ] Version number follows semantic versioning (e.g., "1.0.0") +- [ ] Author information is present + +### Naming Consistency + +- [ ] Module code used consistently throughout all files +- [ ] No naming conflicts with existing modules +- [ ] All paths use consistent module code references + +## Directory Structure + +### Source Directories (.bmad/{module-code}/) + +- [ ] `/agents` directory created (even if empty) +- [ ] `/workflows` directory created (even if empty) +- [ ] `/tasks` directory exists (if tasks planned) +- [ ] `/templates` directory exists (if templates used) +- [ ] `/data` directory exists (if data files needed) +- [ ] `/_module-installer/install-config.yaml` present (defines configuration questions) +- [ ] `README.md` present with documentation + +### Installed Module Structure (generated in target after installation) + +- [ ] `/agents` directory for compiled agents +- [ ] `/workflows` directory for workflow instances +- [ ] `/data` directory for user data +- [ ] `config.yaml` generated from install-config.yaml during installation + +## Component Planning + +### Agents + +- [ ] At least one agent defined or planned +- [ ] Agent purposes are distinct and clear +- [ ] Agent types (Simple/Expert/Module) identified +- [ ] No significant overlap between agents +- [ ] Primary agent is identified + +### Workflows + +- [ ] At least one workflow defined or planned +- [ ] Workflow purposes are clear +- [ ] Workflow types identified (Document/Action/Interactive) +- [ ] Primary workflow is identified +- [ ] Workflow complexity is appropriate + +### Tasks (if applicable) + +- [ ] Tasks have single, clear purposes +- [ ] Tasks don't duplicate workflow functionality +- [ ] Task files follow naming conventions + +## Configuration Files + +### Installation Configuration (install-config.yaml) + +- [ ] `install-config.yaml` exists in `_module-installer` +- [ ] Module metadata present (code, name, version) +- [ ] Configuration questions defined for user input +- [ ] Default values provided for all questions +- [ ] Prompt text is clear and helpful +- [ ] Result templates use proper variable substitution +- [ ] Paths use proper variables ({project-root}, {value}, etc.) + +### Generated Config (config.yaml in target) + +- [ ] Generated during installation from install-config.yaml +- [ ] Contains all user-provided configuration values +- [ ] Module metadata included +- [ ] No config.yaml should exist in source module + +## Installation Infrastructure + +### Installer Files + +- [ ] Install configuration validates against schema +- [ ] All source paths exist or are marked as templates +- [ ] Destination paths use correct variables +- [ ] Optional vs required steps clearly marked + +### installer.js (if present) + +- [ ] Main `installModule` function exists +- [ ] Error handling implemented +- [ ] Console logging for user feedback +- [ ] Exports correct function names +- [ ] Placeholder code replaced with actual logic (or logged as TODO) + +### External Assets (if any) + +- [ ] Asset files exist in assets directory +- [ ] Copy destinations are valid +- [ ] Permissions requirements documented + +## Documentation + +### README.md + +- [ ] Module overview section present +- [ ] Installation instructions included +- [ ] Component listing with descriptions +- [ ] Quick start guide provided +- [ ] Configuration options documented +- [ ] At least one usage example +- [ ] Directory structure shown +- [ ] Author and date information + +### Component Documentation + +- [ ] Each agent has purpose documentation +- [ ] Each workflow has description +- [ ] Tasks are documented (if present) +- [ ] Examples demonstrate typical usage + +### Development Roadmap + +- [ ] TODO.md or roadmap section exists +- [ ] Planned components listed +- [ ] Development phases identified +- [ ] Quick commands for adding components + +## Integration + +### Cross-component References + +- [ ] Agents reference correct workflow paths +- [ ] Workflows reference correct task paths +- [ ] All internal paths use module variables +- [ ] External dependencies declared + +### Module Boundaries + +- [ ] Module scope is well-defined +- [ ] No feature creep into other domains +- [ ] Clear separation from other modules + +## Quality Checks + +### Completeness + +- [ ] At least one functional component (not all placeholders) +- [ ] Core functionality is implementable +- [ ] Module provides clear value + +### Consistency + +- [ ] Formatting consistent across files +- [ ] Variable naming follows conventions +- [ ] Communication style appropriate for domain + +### Scalability + +- [ ] Structure supports future growth +- [ ] Component organization is logical +- [ ] No hard-coded limits + +## Testing and Validation + +### Structural Validation + +- [ ] YAML files parse without errors +- [ ] JSON files (if any) are valid +- [ ] XML files (if any) are well-formed +- [ ] No syntax errors in JavaScript files + +### Path Validation + +- [ ] All referenced paths exist or are clearly marked as TODO +- [ ] Variable substitutions are correct +- [ ] No absolute paths (unless intentional) + +### Installation Testing + +- [ ] Installation steps can be simulated +- [ ] No circular dependencies +- [ ] Uninstall process defined (if complex) + +## Final Checks + +### Ready for Use + +- [ ] Module can be installed without errors +- [ ] At least one component is functional +- [ ] User can understand how to get started +- [ ] Next steps are clear + +### Professional Quality + +- [ ] No placeholder text remains (unless marked TODO) +- [ ] No obvious typos or grammar issues +- [ ] Professional tone throughout +- [ ] Contact/support information provided + +## Issues Found + +### Critical Issues + + + +### Warnings + + + +### Improvements + + + +### Missing Components + + + +## Module Complexity Assessment + +### Complexity Rating + +- [ ] Simple (1-2 agents, 2-3 workflows) +- [ ] Standard (3-5 agents, 5-10 workflows) +- [ ] Complex (5+ agents, 10+ workflows) + +### Readiness Level + +- [ ] Prototype (Basic structure, mostly placeholders) +- [ ] Alpha (Core functionality works) +- [ ] Beta (Most features complete, needs testing) +- [ ] Release (Full functionality, documented) + +## Sign-off + +**Module Name:** \***\*\*\*\*\***\_\_\***\*\*\*\*\*** +**Module Code:** \***\*\*\*\*\***\_\_\***\*\*\*\*\*** +**Version:** \***\*\*\*\*\***\_\_\***\*\*\*\*\*** +**Validated By:** \***\*\*\*\*\***\_\_\***\*\*\*\*\*** +**Date:** \***\*\*\*\*\***\_\_\***\*\*\*\*\*** +**Status:** โฌœ Pass / โฌœ Pass with Issues / โฌœ Fail diff --git a/.bmad/bmb/workflows/create-module/installer-templates/install-config.yaml b/.bmad/bmb/workflows/create-module/installer-templates/install-config.yaml new file mode 100644 index 00000000..8287a968 --- /dev/null +++ b/.bmad/bmb/workflows/create-module/installer-templates/install-config.yaml @@ -0,0 +1,92 @@ +# {{MODULE_NAME}} Module Configuration +# This file defines installation questions and module configuration values + +code: "{{MODULE_CODE}}" +name: "{{MODULE_NAME}}" +default_selected: "{{DEFAULT_SELECTED}}" # true if this should be selected by default + +# Welcome message shown during installation +prompt: + - "{{WELCOME_MESSAGE_LINE_1}}" + - "{{WELCOME_MESSAGE_LINE_2}}" +# Core config values are automatically inherited: +## user_name +## communication_language +## document_output_language +## output_folder + +# ============================================================================ +# CONFIGURATION FIELDS +# ============================================================================ +# +# Each field can be: +# 1. INTERACTIVE (has 'prompt' - asks user during installation) +# 2. STATIC (no 'prompt' - just uses 'result' value) +# +# Field structure: +# field_name: +# prompt: "Question to ask user" (optional - omit for static values) +# default: "default_value" (optional) +# result: "{value}" or "static-value" +# single-select: [...] (optional - for dropdown) +# multi-select: [...] (optional - for checkboxes) +# +# Special placeholders in result: +# {value} - replaced with user's answer +# {project-root} - replaced with project root path +# {directory_name} - replaced with project directory name +# {module_code} - replaced with this module's code +# ============================================================================ + +# EXAMPLE: Interactive text input +# example_project_name: +# prompt: "What is your project name?" +# default: "{directory_name}" +# result: "{value}" + +# EXAMPLE: Interactive single-select dropdown +# example_skill_level: +# prompt: "What is your experience level?" +# default: "intermediate" +# result: "{value}" +# single-select: +# - value: "beginner" +# label: "Beginner - New to this domain" +# - value: "intermediate" +# label: "Intermediate - Familiar with basics" +# - value: "expert" +# label: "Expert - Deep knowledge" + +# EXAMPLE: Interactive multi-select checkboxes +# example_features: +# prompt: +# - "Which features do you want to enable?" +# - "(Select all that apply)" +# result: "{value}" +# multi-select: +# - "Feature A" +# - "Feature B" +# - "Feature C" + +# EXAMPLE: Interactive path input +# example_output_path: +# prompt: "Where should outputs be saved?" +# default: "output/{{MODULE_CODE}}" +# result: "{project-root}/{value}" + +# EXAMPLE: Static value (no user prompt) +# example_static_setting: +# result: "hardcoded-value" + +# EXAMPLE: Static path +# module_data_path: +# result: "{project-root}/.bmad/{{MODULE_CODE}}/data" + +# ============================================================================ +# YOUR MODULE CONFIGURATION FIELDS +# ============================================================================ +# Replace examples above with your module's actual configuration needs. +# Delete this comment block and the examples when implementing. +# ============================================================================ + +# TODO: INSERT {MODULE_CONFIG_FIELDS} HERE diff --git a/.bmad/bmb/workflows/create-module/installer-templates/installer.js b/.bmad/bmb/workflows/create-module/installer-templates/installer.js new file mode 100644 index 00000000..4c396b18 --- /dev/null +++ b/.bmad/bmb/workflows/create-module/installer-templates/installer.js @@ -0,0 +1,231 @@ +/* eslint-disable unicorn/prefer-module, unicorn/prefer-node-protocol */ +/** + * {{MODULE_NAME}} Module Installer + * Custom installation logic for complex module setup + * + * This is a template - replace {{VARIABLES}} with actual values + */ + +// const fs = require('fs'); // Uncomment when implementing file operations +const path = require('path'); + +/** + * Main installation function + * Called by BMAD installer when processing the module + */ +async function installModule(config) { + console.log('๐Ÿš€ Installing {{MODULE_NAME}} module...'); + console.log(` Version: ${config.version}`); + console.log(` Module Code: ${config.module_code}`); + + try { + // Step 1: Validate environment + await validateEnvironment(config); + + // Step 2: Setup custom configurations + await setupConfigurations(config); + + // Step 3: Initialize module-specific features + await initializeFeatures(config); + + // Step 4: Run post-install tasks + await runPostInstallTasks(config); + + console.log('โœ… {{MODULE_NAME}} module installed successfully!'); + return { + success: true, + message: 'Module installed and configured', + }; + } catch (error) { + console.error('โŒ Installation failed:', error.message); + return { + success: false, + error: error.message, + }; + } +} + +/** + * Validate that the environment meets module requirements + */ +async function validateEnvironment(config) { + console.log(' Validating environment...'); + + // TODO: Add environment checks + // Examples: + // - Check for required tools/binaries + // - Verify permissions + // - Check network connectivity + // - Validate API keys + + // Placeholder validation + if (!config.project_root) { + throw new Error('Project root not defined'); + } + + console.log(' โœ“ Environment validated'); +} + +/** + * Setup module-specific configurations + */ +async function setupConfigurations(config) { + console.log(' Setting up configurations...'); + + // TODO: Add configuration setup + // Examples: + // - Create config files + // - Setup environment variables + // - Configure external services + // - Initialize settings + + // Placeholder configuration + const configPath = path.join(config.project_root, 'bmad', config.module_code, 'config.json'); + + // Example of module config that would be created + // const moduleConfig = { + // installed: new Date().toISOString(), + // settings: { + // // Add default settings + // } + // }; + + // Note: This is a placeholder - actual implementation would write the file + console.log(` โœ“ Would create config at: ${configPath}`); + console.log(' โœ“ Configurations complete'); +} + +/** + * Initialize module-specific features + */ +async function initializeFeatures(config) { + console.log(' Initializing features...'); + + // TODO: Add feature initialization + // Examples: + // - Create database schemas + // - Setup cron jobs + // - Initialize caches + // - Register webhooks + // - Setup file watchers + + // Module-specific initialization based on type + switch (config.module_category) { + case 'data': { + await initializeDataFeatures(config); + break; + } + case 'automation': { + await initializeAutomationFeatures(config); + break; + } + case 'integration': { + await initializeIntegrationFeatures(config); + break; + } + default: { + console.log(' - Using standard initialization'); + } + } + + console.log(' โœ“ Features initialized'); +} + +/** + * Initialize data-related features + */ +async function initializeDataFeatures(/* config */) { + console.log(' - Setting up data storage...'); + // TODO: Setup databases, data folders, etc. +} + +/** + * Initialize automation features + */ +async function initializeAutomationFeatures(/* config */) { + console.log(' - Setting up automation hooks...'); + // TODO: Setup triggers, watchers, schedulers +} + +/** + * Initialize integration features + */ +async function initializeIntegrationFeatures(/* config */) { + console.log(' - Setting up integrations...'); + // TODO: Configure APIs, webhooks, external services +} + +/** + * Run post-installation tasks + */ +async function runPostInstallTasks(/* config */) { + console.log(' Running post-install tasks...'); + + // TODO: Add post-install tasks + // Examples: + // - Generate sample data + // - Run initial workflows + // - Send notifications + // - Update registries + + console.log(' โœ“ Post-install tasks complete'); +} + +/** + * Initialize database for the module (optional) + */ +async function initDatabase(/* config */) { + console.log(' Initializing database...'); + + // TODO: Add database initialization + // This function can be called from install-config.yaml + + console.log(' โœ“ Database initialized'); +} + +/** + * Generate sample data for the module (optional) + */ +async function generateSamples(config) { + console.log(' Generating sample data...'); + + // TODO: Create sample files, data, configurations + // This helps users understand how to use the module + + const samplesPath = path.join(config.project_root, 'examples', config.module_code); + + console.log(` - Would create samples at: ${samplesPath}`); + console.log(' โœ“ Samples generated'); +} + +/** + * Uninstall the module (cleanup) + */ +async function uninstallModule(/* config */) { + console.log('๐Ÿ—‘๏ธ Uninstalling {{MODULE_NAME}} module...'); + + try { + // TODO: Add cleanup logic + // - Remove configurations + // - Clean up databases + // - Unregister services + // - Backup user data + + console.log('โœ… Module uninstalled successfully'); + return { success: true }; + } catch (error) { + console.error('โŒ Uninstall failed:', error.message); + return { + success: false, + error: error.message, + }; + } +} + +// Export functions for BMAD installer +module.exports = { + installModule, + initDatabase, + generateSamples, + uninstallModule, +}; diff --git a/.bmad/bmb/workflows/create-module/instructions.md b/.bmad/bmb/workflows/create-module/instructions.md new file mode 100644 index 00000000..a7700a40 --- /dev/null +++ b/.bmad/bmb/workflows/create-module/instructions.md @@ -0,0 +1,581 @@ +# Build Module - Interactive Module Builder Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/create-module/workflow.yaml +Study existing modules in: {project-root}/.bmad/ for patterns +Communicate in {communication_language} throughout the module creation process + + + + +Do you want to brainstorm module ideas first? [y/n] + + + Invoke brainstorming workflow: {brainstorming_workflow} + Pass context data: {brainstorming_context} + Wait for brainstorming session completion + Use brainstorming output to inform module concept, agent lineup, and workflow portfolio in following steps + + + + Proceed directly to Step 0 + + +brainstorming_results + + + +Do you have a module brief or should we create one? [have/create/skip] + + + Invoke module-brief workflow: {project-root}/.bmad/bmb/workflows/module-brief/workflow.yaml + Wait for module brief completion + Load the module brief to use as blueprint + + + + Provide path to module brief document + Load the module brief and use it to pre-populate all planning sections + + + + Proceed directly to Step 1 + + +module_brief + + + +Load and study the complete module structure guide +Load module structure guide: {module_structure_guide} +Understand module types (Simple/Standard/Complex) +Review directory structures and component guidelines +Study the installation infrastructure patterns + +If brainstorming or module brief was completed, reference those results to guide the conversation + +Guide user to articulate their module's vision, exploring its purpose, what it will help with, and who will use it + +Based on their description, intelligently propose module details: + +**Module Identity Development:** + +1. **Module name** - Extract from their description with proper title case +2. **Module code** - Generate kebab-case from name following patterns: + - Multi-word descriptive names โ†’ shortened kebab-case + - Domain-specific terms โ†’ recognizable abbreviations + - Present suggested code and confirm it works for paths like .bmad/{{code}}/agents/ +3. **Module purpose** - Refine their description into 1-2 clear sentences +4. **Target audience** - Infer from context or ask if unclear + +**Module Theme Reference Categories:** + +- Domain-Specific (Legal, Medical, Finance, Education) +- Creative (RPG/Gaming, Story Writing, Music Production) +- Technical (DevOps, Testing, Architecture, Security) +- Business (Project Management, Marketing, Sales) +- Personal (Journaling, Learning, Productivity) + +Determine output location: + +- Module will be created at {installer_output_folder} + +Store module identity for scaffolding + +module_identity + + + +Based on the module purpose, intelligently propose an initial component architecture + +**Agents Planning:** + +Suggest agents based on module purpose, considering agent types (Simple/Expert/Module) appropriate to each role + +**Example Agent Patterns by Domain:** + +- Data/Analytics: Analyst, Designer, Builder roles +- Gaming/Creative: Game Master, Generator, Storytelling roles +- Team/Business: Manager, Facilitator, Documentation roles + +Present suggested agent list with types, explaining we can start with core ones and add others later +Confirm which agents resonate with their vision + +**Workflows Planning:** + +Intelligently suggest workflows that complement the proposed agents + +**Example Workflow Patterns by Domain:** + +- Data/Analytics: analyze-dataset, create-dashboard, generate-report +- Gaming/Creative: session-prep, generate-encounter, world-building +- Team/Business: planning, facilitation, documentation workflows + +For each workflow, note whether it should be Document, Action, or Interactive type +Confirm which workflows are most important to start with +Determine which to create now vs placeholder + +**Tasks Planning (optional):** +Any special tasks that don't warrant full workflows? + +For each task, capture name, purpose, and whether standalone or supporting + +module_components + + + +Based on components, intelligently determine module type using criteria: + +**Simple Module Criteria:** + +- 1-2 agents, all Simple type +- 1-3 workflows +- No complex integrations + +**Standard Module Criteria:** + +- 2-4 agents with mixed types +- 3-8 workflows +- Some shared resources + +**Complex Module Criteria:** + +- 4+ agents or multiple Module-type agents +- 8+ workflows +- Complex interdependencies +- External integrations + +Present determined module type with explanation of what structure will be set up + +module_type + + + +Use module path determined in Step 1: +- The module base path is {{module_path}} + +Create base module directories at the determined path: + +``` +{{module_code}}/ +โ”œโ”€โ”€ agents/ # Agent definitions +โ”œโ”€โ”€ workflows/ # Workflow folders +โ”œโ”€โ”€ tasks/ # Task files (if any) +โ”œโ”€โ”€ templates/ # Shared templates +โ”œโ”€โ”€ data/ # Module data files +โ”œโ”€โ”€ _module-installer/ # Installation configuration +โ”‚ โ””โ”€โ”€ install-config.yaml # Configuration questions (config.yaml generated at install time) +โ””โ”€โ”€ README.md # Module documentation +``` + +Create installer directory: + +**INSTALLED MODULE STRUCTURE** (generated in target project after installation): + +``` +{{module_code}}/ +โ”œโ”€โ”€ agents/ # Compiled agents +โ”œโ”€โ”€ workflows/ # Workflow instances +โ”œโ”€โ”€ config.yaml # Generated from install-config.yaml during installation +โ””โ”€โ”€ data/ # User data directory +``` + +**SOURCE MODULE** (\_module-installer is for installation only, not copied to target): + +``` +{{module_code}}/ +โ”œโ”€โ”€ _module-installer/ +โ”‚ โ”œโ”€โ”€ install-config.yaml # Configuration questions +โ”‚ โ”œโ”€โ”€ installer.js # Optional custom installation logic +โ”‚ โ””โ”€โ”€ assets/ # Files to copy during install +``` + +directory_structure + + + +Based on the module purpose and components, determine what configuration settings the module needs + +**Configuration Field Planning:** + +Does your module need any user-configurable settings during installation? + +**Common configuration patterns:** + +- Output/data paths (where module saves files) +- Feature toggles (enable/disable functionality) +- Integration settings (API keys, external services) +- Behavior preferences (automation level, detail level) +- User skill level or experience settings + +For each configuration field needed, determine: + +1. Field name (snake_case) +2. Whether it's INTERACTIVE (asks user) or STATIC (hardcoded) +3. Prompt text (if interactive) +4. Default value +5. Type: text input, single-select, or multi-select +6. Result template (how the value gets stored) + +Store planned configuration fields for installer generation in step 7 + +module_config_fields + + + +Create your first agent now? [yes/no] + + + Invoke agent builder workflow: {agent_builder} + Pass module_components as context input + Guide them to create the primary agent for the module + +Save to module's agents folder: + +- Save to {{module_path}}/agents/ + + + + Create placeholder file in agents folder with TODO notes including agent name, purpose, and type + + +first_agent + + + +Create your first workflow now? [yes/no] + + + Invoke workflow builder: {workflow_builder} + Pass module_components as context input + Guide them to create the primary workflow + +Save to module's workflows folder: + +- Save to {{module_path}}/workflows/ + + + + Create placeholder workflow folder structure with TODO notes for workflow.yaml, instructions.md, and template.md if document workflow + + +first_workflow + + + +Load installer template from: {installer_templates}/install-config.yaml + +IMPORTANT: Create install-config.yaml NOT install-config.yaml +This is the STANDARD format that BMAD installer uses + +Create \_module-installer/install-config.yaml: + +```yaml +# {{module_name}} Module Configuration +# This file defines installation questions and module configuration values + +code: {{module_code}} +name: "{{module_name}}" +default_selected: false # Set to true if this should be selected by default + +# Welcome message shown during installation +prompt: + - "Thank you for choosing {{module_name}}!" + - "{{brief_module_description}}" + +# Core config values are automatically inherited: +## user_name +## communication_language +## document_output_language +## output_folder + +# ============================================================================ +# CONFIGURATION FIELDS (from step 4 planning) +# ============================================================================ +# Each field can be: +# 1. INTERACTIVE (has 'prompt' - asks user during installation) +# 2. STATIC (no 'prompt' - just uses 'result' value) +# ============================================================================ + +# EXAMPLE Interactive text input: +# output_path: +# prompt: "Where should {{module_code}} save outputs?" +# default: "output/{{module_code}}" +# result: "{project-root}/{value}" + +# EXAMPLE Interactive single-select: +# detail_level: +# prompt: "How detailed should outputs be?" +# default: "standard" +# result: "{value}" +# single-select: +# - value: "minimal" +# label: "Minimal - Brief summaries only" +# - value: "standard" +# label: "Standard - Balanced detail" +# - value: "detailed" +# label: "Detailed - Comprehensive information" + +# EXAMPLE Static value: +# module_version: +# result: "1.0.0" + +# EXAMPLE Static path: +# data_path: +# result: "{project-root}/.bmad/{{module_code}}/data" + +{{generated_config_fields_from_step_4}} +``` + +Save location: + +- Save to {{module_path}}/\_module-installer/install-config.yaml + +Does your module need custom installation logic (database setup, API registration, etc.)? + + + ```javascript + // {{module_name}} Module Installer + // Custom installation logic + +/\*\* + +- Module installation hook +- Called after files are copied but before IDE configuration +- +- @param {Object} options - Installation options +- @param {string} options.projectRoot - Project root directory +- @param {Object} options.config - Module configuration from install-config.yaml +- @param {Array} options.installedIDEs - List of IDE codes being configured +- @param {Object} options.logger - Logger instance (log, warn, error methods) +- @returns {boolean} - true if successful, false to abort installation + \*/ + async function install(options) { + const { projectRoot, config, installedIDEs, logger } = options; + + logger.log('Running {{module_name}} custom installer...'); + + // TODO: Add custom installation logic here + // Examples: + // - Create database tables + // - Download external assets + // - Configure API connections + // - Initialize data files + // - Set up webhooks or integrations + + logger.log('{{module_name}} custom installation complete!'); + return true; + +} + +module.exports = { install }; + +````` + +Save location: + +- Save to {{module_path}}/\_module-installer/installer.js + + + +Skip installer.js creation - the standard installer will handle everything + + +installer_config + + + +Generate comprehensive README.md: + +````markdown +# {{module_name}} + +{{module_purpose}} + +## Overview + +This module provides: +{{component_summary}} + +## Installation + +```bash +bmad install {{module_code}} +````` + +```` + +## Components + +### Agents ({{agent_count}}) + +{{agent_documentation}} + +### Workflows ({{workflow_count}}) + +{{workflow_documentation}} + +### Tasks ({{task_count}}) + +{{task_documentation}} + +## Quick Start + +1. **Load the main agent:** + + ``` + agent {{primary_agent}} + ``` + +2. **View available commands:** + + ``` + *help + ``` + +3. **Run the main workflow:** + ``` + workflow {{primary_workflow}} + ``` + +## Module Structure + +``` +{{directory_tree}} +``` + +## Configuration + +The module can be configured in `.bmad/{{module_code}}/config.yaml` + +Key settings: +{{configuration_options}} + +## Examples + +### Example 1: {{example_use_case}} + +{{example_walkthrough}} + +## Development Roadmap + +- [ ] {{roadmap_item_1}} +- [ ] {{roadmap_item_2}} +- [ ] {{roadmap_item_3}} + +## Contributing + +To extend this module: + +1. Add new agents using `create-agent` workflow +2. Add new workflows using `create-workflow` workflow +3. Submit improvements via pull request + +## Author + +Created by {{user_name}} on {{date}} + +```` + +module_readme + + + +Create a development roadmap for remaining components: + +**TODO.md file:** + +```markdown +# {{module_name}} Development Roadmap + +## Phase 1: Core Components + +{{phase1_tasks}} + +## Phase 2: Enhanced Features + +{{phase2_tasks}} + +## Phase 3: Polish and Integration + +{{phase3_tasks}} + +## Quick Commands + +Create new agent: +``` + +workflow create-agent + +``` + +Create new workflow: +``` + +workflow create-workflow + +``` + +## Notes +{{development_notes}} +``` + +Ask if user wants to: + +1. Continue building more components now +2. Save roadmap for later development +3. Test what's been built so far + +development_roadmap + + + +Run validation checks: + +**Structure validation:** + +- All required directories created +- Config files properly formatted +- Installer configuration valid + +**Component validation:** + +- At least one agent or workflow exists (or planned) +- All references use correct paths +- Module code consistent throughout + +**Documentation validation:** + +- README.md complete +- Installation instructions clear +- Examples provided + +Present summary to {user_name}: + +- Module name and code +- Location path +- Agent count (created vs planned) +- Workflow count (created vs planned) +- Task count +- Installer status + +Provide next steps guidance: + +1. Complete remaining components using roadmap +2. Run the BMAD Method installer to this project location +3. Select 'Compile Agents' option after confirming folder +4. Module will be compiled and available for use +5. Test with bmad install command +6. Share or integrate with existing system + +Would you like to: + +- Create another component now? +- Test the module installation? +- Exit and continue later? + + +module_summary + + + diff --git a/.bmad/bmb/workflows/create-module/module-structure.md b/.bmad/bmb/workflows/create-module/module-structure.md new file mode 100644 index 00000000..6f09ce59 --- /dev/null +++ b/.bmad/bmb/workflows/create-module/module-structure.md @@ -0,0 +1,400 @@ +# BMAD Module Structure Guide + +## What is a Module? + +A BMAD module is a self-contained package of agents, workflows, tasks, and resources that work together to provide specialized functionality. Think of it as an expansion pack for the BMAD Method. + +## Module Architecture + +### Core Structure + +``` +# SOURCE MODULE (in BMAD-METHOD project) +src/modules/{module-code}/ +โ”œโ”€โ”€ agents/ # Agent definitions (.agent.yaml) +โ”œโ”€โ”€ workflows/ # Workflow folders +โ”œโ”€โ”€ tasks/ # Task files +โ”œโ”€โ”€ tools/ # Tool files +โ”œโ”€โ”€ templates/ # Shared templates +โ”œโ”€โ”€ data/ # Static data +โ”œโ”€โ”€ _module-installer/ # Installation configuration +โ”‚ โ”œโ”€โ”€ install-config.yaml # Installation questions & config +โ”‚ โ”œโ”€โ”€ installer.js # Optional custom install logic +โ”‚ โ””โ”€โ”€ assets/ # Files to copy during install +โ””โ”€โ”€ README.md # Module documentation + +# INSTALLED MODULE (in target project) +{project-root}/.bmad/{module-code}/ +โ”œโ”€โ”€ agents/ # Compiled agent files (.md) +โ”œโ”€โ”€ workflows/ # Workflow instances +โ”œโ”€โ”€ tasks/ # Task files +โ”œโ”€โ”€ tools/ # Tool files +โ”œโ”€โ”€ templates/ # Templates +โ”œโ”€โ”€ data/ # Module data +โ”œโ”€โ”€ config.yaml # Generated from install-config.yaml +โ””โ”€โ”€ README.md # Module documentation +``` + +## Module Types by Complexity + +### Simple Module (1-2 agents, 2-3 workflows) + +Perfect for focused, single-purpose tools. + +**Example: Code Review Module** + +- 1 Reviewer Agent +- 2 Workflows: quick-review, deep-review +- Clear, narrow scope + +### Standard Module (3-5 agents, 5-10 workflows) + +Comprehensive solution for a domain. + +**Example: Project Management Module** + +- PM Agent, Scrum Master Agent, Analyst Agent +- Workflows: sprint-planning, retrospective, roadmap, user-stories +- Integrated component ecosystem + +### Complex Module (5+ agents, 10+ workflows) + +Full platform or framework. + +**Example: RPG Toolkit Module** + +- DM Agent, NPC Agent, Monster Agent, Loot Agent, Map Agent +- 15+ workflows for every aspect of game management +- Multiple interconnected systems + +## Module Naming Conventions + +### Module Code (kebab-case) + +- `data-viz` - Data Visualization +- `team-collab` - Team Collaboration +- `rpg-toolkit` - RPG Toolkit +- `legal-assist` - Legal Assistant + +### Module Name (Title Case) + +- "Data Visualization Suite" +- "Team Collaboration Platform" +- "RPG Game Master Toolkit" +- "Legal Document Assistant" + +## Component Guidelines + +### Agents per Module + +**Recommended Distribution:** + +- **Primary Agent (1)**: The main interface/orchestrator +- **Specialist Agents (2-4)**: Domain-specific experts +- **Utility Agents (0-2)**: Helper/support functions + +**Anti-patterns to Avoid:** + +- Too many overlapping agents +- Agents that could be combined +- Agents without clear purpose + +### Workflows per Module + +**Categories:** + +- **Core Workflows (2-3)**: Essential functionality +- **Feature Workflows (3-5)**: Specific capabilities +- **Utility Workflows (2-3)**: Supporting operations +- **Admin Workflows (0-2)**: Maintenance/config + +**Workflow Complexity Guide:** + +- Simple: 3-5 steps, single output +- Standard: 5-10 steps, multiple outputs +- Complex: 10+ steps, conditional logic, sub-workflows + +### Tasks per Module + +Tasks should be used for: + +- Single-operation utilities +- Shared subroutines +- Quick actions that don't warrant workflows + +## Module Dependencies + +### Internal Dependencies + +- Agents can reference module workflows +- Workflows can invoke module tasks +- Tasks can use module templates + +### External Dependencies + +- Reference other modules via full paths +- Declare dependencies in config.yaml +- Version compatibility notes + +### Workflow Vendoring (Advanced) + +For modules that need workflows from other modules but want to remain standalone, use **workflow vendoring**: + +**In Agent YAML:** + +```yaml +menu: + - trigger: command-name + workflow: '{project-root}/.bmad/SOURCE_MODULE/workflows/path/workflow.yaml' + workflow-install: '{project-root}/.bmad/THIS_MODULE/workflows/vendored/workflow.yaml' + description: 'Command description' +``` + +**What Happens:** + +- During installation, workflows are copied from `workflow` to `workflow-install` location +- Vendored workflows get `config_source` updated to reference this module's config +- Compiled agent only references the `workflow-install` path +- Module becomes fully standalone - no source module dependency required + +**Use Cases:** + +- Specialized modules that reuse common workflows with different configs +- Domain-specific adaptations (e.g., game dev using standard dev workflows) +- Testing workflows in isolation + +**Benefits:** + +- Module independence (no forced dependencies) +- Clean namespace (workflows in your module) +- Config isolation (use your module's settings) +- Customization ready (modify vendored workflows freely) + +## Installation Infrastructure + +### Required: \_module-installer/install-config.yaml + +This file defines both installation questions AND static configuration values: + +```yaml +# Module metadata +code: module-code +name: 'Module Name' +default_selected: false + +# Welcome message during installation +prompt: + - 'Welcome to Module Name!' + - 'Brief description here' + +# Core values automatically inherited from installer: +## user_name +## communication_language +## document_output_language +## output_folder + +# INTERACTIVE fields (ask user during install) +output_location: + prompt: 'Where should module outputs be saved?' + default: 'output/module-code' + result: '{project-root}/{value}' + +feature_level: + prompt: 'Which feature set?' + default: 'standard' + result: '{value}' + single-select: + - value: 'basic' + label: 'Basic - Core features only' + - value: 'standard' + label: 'Standard - Recommended features' + - value: 'advanced' + label: 'Advanced - All features' + +# STATIC fields (no prompt, just hardcoded values) +module_version: + result: '1.0.0' + +data_path: + result: '{project-root}/.bmad/module-code/data' +``` + +**Key Points:** + +- File is named `install-config.yaml` (NOT install-config.yaml) +- Supports both interactive prompts and static values +- `result` field uses placeholders: `{value}`, `{project-root}`, `{directory_name}` +- Installer generates final `config.yaml` from this template + +### Optional: \_module-installer/installer.js + +For complex installations requiring custom logic: + +```javascript +/** + * @param {Object} options - Installation options + * @param {string} options.projectRoot - Target project directory + * @param {Object} options.config - Config from install-config.yaml + * @param {Array} options.installedIDEs - IDEs being configured + * @param {Object} options.logger - Logger (log, warn, error) + * @returns {boolean} - true if successful + */ +async function install(options) { + // Custom installation logic here + // - Database setup + // - API configuration + // - External downloads + // - Integration setup + + return true; +} + +module.exports = { install }; +``` + +### Optional: \_module-installer/assets/ + +Files to copy during installation: + +- External configurations +- Documentation +- Example files +- Integration scripts + +## Module Lifecycle + +### Development Phases + +1. **Planning Phase** + - Define scope and purpose + - Identify components + - Design architecture + +2. **Scaffolding Phase** + - Create directory structure + - Generate configurations + - Setup installer + +3. **Building Phase** + - Create agents incrementally + - Build workflows progressively + - Add tasks as needed + +4. **Testing Phase** + - Test individual components + - Verify integration + - Validate installation + +5. **Deployment Phase** + - Package module + - Document usage + - Distribute/share + +## Best Practices + +### Module Cohesion + +- All components should relate to module theme +- Clear boundaries between modules +- No feature creep + +### Progressive Enhancement + +- Start with MVP (1 agent, 2 workflows) +- Add components based on usage +- Refactor as patterns emerge + +### Documentation Standards + +- Every module needs README.md +- Each agent needs purpose statement +- Workflows need clear descriptions +- Include examples and quickstart + +### Naming Consistency + +- Use module code prefix for uniqueness +- Consistent naming patterns within module +- Clear, descriptive names + +## Example Modules + +### Example 1: Personal Productivity + +``` +productivity/ +โ”œโ”€โ”€ agents/ +โ”‚ โ”œโ”€โ”€ task-manager.md # GTD methodology +โ”‚ โ””โ”€โ”€ focus-coach.md # Pomodoro timer +โ”œโ”€โ”€ workflows/ +โ”‚ โ”œโ”€โ”€ daily-planning/ # Morning routine +โ”‚ โ”œโ”€โ”€ weekly-review/ # Week retrospective +โ”‚ โ””โ”€โ”€ project-setup/ # New project init +โ””โ”€โ”€ config.yaml +``` + +### Example 2: Content Creation + +``` +content/ +โ”œโ”€โ”€ agents/ +โ”‚ โ”œโ”€โ”€ writer.md # Blog/article writer +โ”‚ โ”œโ”€โ”€ editor.md # Copy editor +โ”‚ โ””โ”€โ”€ seo-optimizer.md # SEO specialist +โ”œโ”€โ”€ workflows/ +โ”‚ โ”œโ”€โ”€ blog-post/ # Full blog creation +โ”‚ โ”œโ”€โ”€ social-media/ # Social content +โ”‚ โ”œโ”€โ”€ email-campaign/ # Email sequence +โ”‚ โ””โ”€โ”€ content-calendar/ # Planning +โ””โ”€โ”€ templates/ + โ”œโ”€โ”€ blog-template.md + โ””โ”€โ”€ email-template.md +``` + +### Example 3: DevOps Automation + +``` +devops/ +โ”œโ”€โ”€ agents/ +โ”‚ โ”œโ”€โ”€ deploy-master.md # Deployment orchestrator +โ”‚ โ”œโ”€โ”€ monitor.md # System monitoring +โ”‚ โ”œโ”€โ”€ incident-responder.md # Incident management +โ”‚ โ””โ”€โ”€ infra-architect.md # Infrastructure design +โ”œโ”€โ”€ workflows/ +โ”‚ โ”œโ”€โ”€ ci-cd-setup/ # Pipeline creation +โ”‚ โ”œโ”€โ”€ deploy-app/ # Application deployment +โ”‚ โ”œโ”€โ”€ rollback/ # Emergency rollback +โ”‚ โ”œโ”€โ”€ health-check/ # System verification +โ”‚ โ””โ”€โ”€ incident-response/ # Incident handling +โ”œโ”€โ”€ tasks/ +โ”‚ โ”œโ”€โ”€ check-status.md # Quick status check +โ”‚ โ””โ”€โ”€ notify-team.md # Team notifications +โ””โ”€โ”€ data/ + โ””โ”€โ”€ runbooks/ # Operational guides +``` + +## Module Evolution Pattern + +``` +Simple Module โ†’ Standard Module โ†’ Complex Module โ†’ Module Suite + (MVP) (Enhanced) (Complete) (Ecosystem) +``` + +## Common Pitfalls + +1. **Over-engineering**: Starting too complex +2. **Under-planning**: No clear architecture +3. **Poor boundaries**: Module does too much +4. **Weak integration**: Components don't work together +5. **Missing docs**: No clear usage guide + +## Success Metrics + +A well-designed module has: + +- โœ… Clear, focused purpose +- โœ… Cohesive components +- โœ… Smooth installation +- โœ… Comprehensive docs +- โœ… Room for growth +- โœ… Happy users! diff --git a/.bmad/bmb/workflows/create-module/workflow.yaml b/.bmad/bmb/workflows/create-module/workflow.yaml new file mode 100644 index 00000000..05f89e02 --- /dev/null +++ b/.bmad/bmb/workflows/create-module/workflow.yaml @@ -0,0 +1,42 @@ +# Build Module Workflow Configuration +name: create-module +description: "Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +custom_module_location: "{config_source}:custom_module_location" +communication_language: "{config_source}:communication_language" +user_name: "{config_source}:user_name" + +# Reference guides for module building +module_structure_guide: "{installed_path}/module-structure.md" +installer_templates: "{installed_path}/installer-templates/" + +# Use existing build workflows +agent_builder: "{project-root}/.bmad/bmb/workflows/create-agent/workflow.yaml" +workflow_builder: "{project-root}/.bmad/bmb/workflows/create-workflow/workflow.yaml" +brainstorming_workflow: "{project-root}/.bmad/core/workflows/brainstorming/workflow.yaml" +brainstorming_context: "{installed_path}/brainstorm-context.md" + +# Optional docs that help understand module patterns +recommended_inputs: + - module_brief: "{output_folder}/module-brief-*.md" + - brainstorming_results: "{output_folder}/brainstorming-*.md" + - bmm_module: "{project-root}/.bmad/bmm/" + - cis_module: "{project-root}/.bmad/cis/" + - existing_agents: "{project-root}/.bmad/*/agents/" + - existing_workflows: "{project-root}/.bmad/*/workflows/" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/create-module" +template: false # This is an interactive scaffolding workflow +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Output configuration - creates entire module structure +# Save to custom_module_location/{{module_code}} +installer_output_folder: "{custom_module_location}/{{module_code}}" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/create-workflow/README.md b/.bmad/bmb/workflows/create-workflow/README.md new file mode 100644 index 00000000..a430f691 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/README.md @@ -0,0 +1,277 @@ +# Build Workflow + +## Overview + +The Build Workflow is an interactive workflow builder that guides you through creating new BMAD workflows with proper structure, conventions, and validation. It ensures all workflows follow best practices for optimal human-AI collaboration and are fully compliant with the BMAD Core v6 workflow execution engine. + +## Key Features + +- **Optional Brainstorming Phase**: Creative exploration of workflow ideas before structured development +- **Comprehensive Guidance**: Step-by-step process with detailed instructions and examples +- **Template-Based**: Uses proven templates for all workflow components +- **Convention Enforcement**: Ensures adherence to BMAD workflow creation guide +- **README Generation**: Automatically creates comprehensive documentation +- **Validation Built-In**: Includes checklist generation for quality assurance +- **Type-Aware**: Adapts to document, action, interactive, autonomous, or meta-workflow types + +## Usage + +### Basic Invocation + +```bash +workflow create-workflow +``` + +### Through BMad Builder Agent + +``` +*create-workflow +``` + +### What You'll Be Asked + +1. **Optional**: Whether to brainstorm workflow ideas first (creative exploration phase) +2. Workflow name and target module +3. Workflow purpose and type (enhanced by brainstorming insights if used) +4. Metadata (description, author, outputs) +5. Step-by-step design (goals, variables, flow) +6. Whether to include optional components + +## Workflow Structure + +### Files Included + +``` +create-workflow/ +โ”œโ”€โ”€ workflow.yaml # Configuration and metadata +โ”œโ”€โ”€ instructions.md # Step-by-step execution guide +โ”œโ”€โ”€ checklist.md # Validation criteria +โ”œโ”€โ”€ workflow-creation-guide.md # Comprehensive reference guide +โ”œโ”€โ”€ README.md # This file +โ””โ”€โ”€ workflow-template/ # Templates for new workflows + โ”œโ”€โ”€ workflow.yaml + โ”œโ”€โ”€ instructions.md + โ”œโ”€โ”€ template.md + โ”œโ”€โ”€ checklist.md + โ””โ”€โ”€ README.md +``` + +## Understanding Instruction Styles + +One of the most important decisions when creating a workflow is choosing the **instruction style** - how the workflow guides the AI's interaction with users. + +### Intent-Based vs Prescriptive Instructions + +**Intent-Based (Recommended for most workflows)** + +Guides the LLM with goals and principles, allowing natural conversation adaptation. + +- **More flexible and conversational** - AI adapts questions to context +- **Better for complex discovery** - Requirements gathering, creative exploration +- **Quality over consistency** - Focus on deep understanding +- **Example**: `Guide user to define their target audience with specific demographics and needs` + +**Best for:** + +- Complex discovery processes (user research, requirements) +- Creative brainstorming and ideation +- Iterative refinement workflows +- When adaptation to context matters +- Workflows requiring nuanced understanding + +**Prescriptive** + +Provides exact wording for questions and structured options. + +- **More controlled and predictable** - Same questions every time +- **Better for simple data collection** - Platform choices, yes/no decisions +- **Consistency over quality** - Standardized execution +- **Example**: `What is your target platform? Choose: PC, Console, Mobile, Web` + +**Best for:** + +- Simple data collection (platform, format, binary choices) +- Compliance verification and standards +- Configuration with finite options +- Quick setup wizards +- When consistency is critical + +### Best Practice: Mix Both Styles + +The most effective workflows use **both styles strategically**: + +```xml + + + Explore the user's vision, uncovering creative intent and target experience + + + + What is your target platform? Choose: PC, Console, Mobile, Web + + + + Guide user to articulate their core approach and unique aspects + +``` + +**During workflow creation**, you'll be asked to choose a **primary style preference** - this sets the default approach, but you can (and should) use the other style when it makes more sense for specific steps. + +## Workflow Process + +### Phase 0: Optional Brainstorming (Step -1) + +- **Creative Exploration**: Option to brainstorm workflow ideas before structured development +- **Design Concept Development**: Generate multiple approaches and explore different possibilities +- **Requirement Clarification**: Use brainstorming output to inform workflow purpose, type, and structure +- **Enhanced Creativity**: Leverage AI brainstorming tools for innovative workflow design + +The brainstorming phase invokes the CIS brainstorming workflow to: + +- Explore workflow ideas and approaches +- Clarify requirements and use cases +- Generate creative solutions for complex automation needs +- Inform the structured workflow building process + +### Phase 1: Planning (Steps 0-3) + +- Load workflow creation guide and conventions +- Define workflow purpose, name, and type (informed by brainstorming if used) +- Gather metadata and configuration details +- Design step structure and flow + +### Phase 2: Generation (Steps 4-8) + +- Create workflow.yaml with proper configuration +- Generate instructions.md with XML-structured steps +- Create template.md (for document workflows) +- Generate validation checklist +- Create supporting data files (optional) + +### Phase 3: Documentation and Validation (Steps 9-11) + +- Create comprehensive README.md (MANDATORY) +- Test and validate workflow structure +- Provide usage instructions and next steps + +## Output + +### Generated Workflow Folder + +Creates a complete workflow folder at: +`{project-root}/.bmad/{{target_module}}/workflows/{{workflow_name}}/` + +### Files Created + +**Always Created:** + +- `workflow.yaml` - Configuration with paths and variables +- `README.md` - Comprehensive documentation (MANDATORY as of v6) +- `instructions.md` - Execution steps (if not template-only workflow) + +**Conditionally Created:** + +- `template.md` - Document structure (for document workflows) +- `checklist.md` - Validation criteria (optional but recommended) +- Supporting data files (CSV, JSON, etc. as needed) + +### Output Structure + +For document workflows, the README documents: + +- Workflow purpose and use cases +- Usage examples with actual commands +- Input expectations +- Output structure and location +- Best practices + +## Requirements + +- Access to workflow creation guide +- BMAD Core v6 project structure +- Module to host the new workflow (bmm, bmb, cis, or custom) + +## Best Practices + +### Before Starting + +1. **Consider Brainstorming**: If you're unsure about the workflow approach, use the optional brainstorming phase +2. Review the workflow creation guide to understand conventions +3. Have a clear understanding of the workflow's purpose (or be ready to explore it creatively) +4. Know which type of workflow you're creating (document, action, etc.) or be open to discovery +5. Identify any data files or references needed + +### Creative Workflow Design + +The create-workflow now supports a **seamless transition from creative ideation to structured implementation**: + +- **"I need a workflow for something..."** โ†’ Start with brainstorming to explore possibilities +- **Brainstorm** โ†’ Generate multiple approaches and clarify requirements +- **Structured workflow** โ†’ Build the actual workflow using insights from brainstorming +- **One seamless session** โ†’ Complete the entire process from idea to implementation + +### During Execution + +1. Follow kebab-case naming conventions +2. Be specific with step goals and instructions +3. Use descriptive variable names (snake_case) +4. Set appropriate limits ("3-5 items maximum") +5. Include examples where helpful + +### After Completion + +1. Test the newly created workflow +2. Validate against the checklist +3. Ensure README is comprehensive and accurate +4. Test all file paths and variable references + +## Troubleshooting + +### Issue: Generated workflow won't execute + +- **Solution**: Verify all file paths in workflow.yaml use proper variable substitution +- **Check**: Ensure installed_path and project-root are correctly set + +### Issue: Variables not replacing in template + +- **Solution**: Ensure variable names match exactly between instructions `` tags and template `{{variables}}` +- **Check**: Use snake_case consistently + +### Issue: README has placeholder text + +- **Solution**: This workflow now enforces README generation - ensure Step 10 completed fully +- **Check**: No {WORKFLOW_TITLE} or similar placeholders should remain + +## Customization + +To modify this workflow: + +1. Edit `instructions.md` to adjust the creation process +2. Update templates in `workflow-template/` to change generated files +3. Modify `workflow-creation-guide.md` to update conventions +4. Edit `checklist.md` to change validation criteria + +## Version History + +- **v6.0.0** - README.md now MANDATORY for all workflows + - Added comprehensive README template + - Enhanced validation for documentation + - Improved Step 10 with detailed README requirements + +- **v6.0.0** - Initial BMAD Core v6 compatible version + - Template-based workflow generation + - Convention enforcement + - Validation checklist support + +## Support + +For issues or questions: + +- Review `/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Check existing workflows in `/.bmad/bmm/workflows/` for examples +- Validate against `/.bmad/bmb/workflows/create-workflow/checklist.md` +- Consult BMAD Method v6 documentation + +--- + +_Part of the BMad Method v6 - BMB (BMad Builder) Module_ diff --git a/.bmad/bmb/workflows/create-workflow/brainstorm-context.md b/.bmad/bmb/workflows/create-workflow/brainstorm-context.md new file mode 100644 index 00000000..345c6dc8 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/brainstorm-context.md @@ -0,0 +1,197 @@ +# Workflow Brainstorming Context + +_Context provided to brainstorming workflow when creating a new BMAD workflow_ + +## Session Focus + +You are brainstorming ideas for a **BMAD workflow** - a guided, multi-step process that helps users accomplish complex tasks with structure, consistency, and quality. + +## What is a BMAD Workflow? + +A workflow is a structured process that provides: + +- **Clear Steps**: Sequential operations with defined goals +- **User Guidance**: Prompts, questions, and decisions at each phase +- **Quality Output**: Documents, artifacts, or completed actions +- **Repeatability**: Same process yields consistent results +- **Type**: Document (creates docs), Action (performs tasks), Interactive (guides sessions), Autonomous (runs automated), Meta (orchestrates other workflows) + +## Brainstorming Goals + +Explore and define: + +### 1. Problem and Purpose + +- **What task needs structure?** (specific process users struggle with) +- **Why is this hard manually?** (complexity, inconsistency, missing steps) +- **What would ideal process look like?** (steps, checkpoints, outputs) +- **Who needs this?** (target users and their pain points) + +### 2. Process Flow + +- **How many phases?** (typically 3-10 major steps) +- **What's the sequence?** (logical flow from start to finish) +- **What decisions are needed?** (user choices that affect path) +- **What's optional vs required?** (flexibility points) +- **What checkpoints matter?** (validation, review, approval points) + +### 3. Inputs and Outputs + +- **What inputs are needed?** (documents, data, user answers) +- **What outputs are generated?** (documents, code, configurations) +- **What format?** (markdown, XML, YAML, actions) +- **What quality criteria?** (how to validate success) + +### 4. Workflow Type and Style + +- **Document Workflow?** Creates structured documents (PRDs, specs, reports) +- **Action Workflow?** Performs operations (refactoring, deployment, analysis) +- **Interactive Workflow?** Guides creative process (brainstorming, planning) +- **Autonomous Workflow?** Runs without user input (batch processing, generation) +- **Meta Workflow?** Orchestrates other workflows (project setup, module creation) + +## Creative Constraints + +A great BMAD workflow should be: + +- **Focused**: Solves one problem well (not everything) +- **Structured**: Clear phases with defined goals +- **Flexible**: Optional steps, branching paths where appropriate +- **Validated**: Checklist to verify completeness and quality +- **Documented**: README explains when and how to use it + +## Workflow Architecture Questions + +### Core Structure + +1. **Workflow name** (kebab-case, e.g., "product-brief") +2. **Purpose** (one sentence) +3. **Type** (document/action/interactive/autonomous/meta) +4. **Major phases** (3-10 high-level steps) +5. **Output** (what gets created) + +### Process Details + +1. **Required inputs** (what user must provide) +2. **Optional inputs** (what enhances results) +3. **Decision points** (where user chooses path) +4. **Checkpoints** (where to pause for approval) +5. **Variables** (data passed between steps) + +### Quality and Validation + +1. **Success criteria** (what defines "done") +2. **Validation checklist** (measurable quality checks) +3. **Common issues** (troubleshooting guidance) +4. **Best practices** (tips for optimal results) + +## Workflow Pattern Examples + +### Document Generation Workflows + +- **Product Brief**: Idea โ†’ Vision โ†’ Features โ†’ Market โ†’ Output +- **PRD**: Requirements โ†’ User Stories โ†’ Acceptance Criteria โ†’ Document +- **Architecture**: Requirements โ†’ Decisions โ†’ Design โ†’ Diagrams โ†’ ADRs +- **Technical Spec**: Epic โ†’ Implementation โ†’ Testing โ†’ Deployment โ†’ Doc + +### Action Workflows + +- **Code Refactoring**: Analyze โ†’ Plan โ†’ Refactor โ†’ Test โ†’ Commit +- **Deployment**: Build โ†’ Test โ†’ Stage โ†’ Validate โ†’ Deploy โ†’ Monitor +- **Migration**: Assess โ†’ Plan โ†’ Convert โ†’ Validate โ†’ Deploy +- **Analysis**: Collect โ†’ Process โ†’ Analyze โ†’ Report โ†’ Recommend + +### Interactive Workflows + +- **Brainstorming**: Setup โ†’ Generate โ†’ Expand โ†’ Evaluate โ†’ Prioritize +- **Planning**: Context โ†’ Goals โ†’ Options โ†’ Decisions โ†’ Plan +- **Review**: Load โ†’ Analyze โ†’ Critique โ†’ Suggest โ†’ Document + +### Meta Workflows + +- **Project Setup**: Plan โ†’ Architecture โ†’ Stories โ†’ Setup โ†’ Initialize +- **Module Creation**: Brainstorm โ†’ Brief โ†’ Agents โ†’ Workflows โ†’ Install +- **Sprint Planning**: Backlog โ†’ Capacity โ†’ Stories โ†’ Commit โ†’ Kickoff + +## Workflow Design Patterns + +### Linear Flow + +Simple sequence: Step 1 โ†’ Step 2 โ†’ Step 3 โ†’ Done + +**Good for:** + +- Document generation +- Structured analysis +- Sequential builds + +### Branching Flow + +Conditional paths: Step 1 โ†’ [Decision] โ†’ Path A or Path B โ†’ Merge โ†’ Done + +**Good for:** + +- Different project types +- Optional deep dives +- Scale-adaptive processes + +### Iterative Flow + +Refinement loops: Step 1 โ†’ Step 2 โ†’ [Review] โ†’ (Repeat if needed) โ†’ Done + +**Good for:** + +- Creative processes +- Quality refinement +- Approval cycles + +### Router Flow + +Type selection: [Select Type] โ†’ Load appropriate instructions โ†’ Execute โ†’ Done + +**Good for:** + +- Multi-mode workflows +- Reusable frameworks +- Flexible tools + +## Suggested Brainstorming Techniques + +Particularly effective for workflow ideation: + +1. **Process Mapping**: Draw current painful process, identify improvements +2. **Step Decomposition**: Break complex task into atomic steps +3. **Checkpoint Thinking**: Where do users need pause/review/decision? +4. **Pain Point Analysis**: What makes current process frustrating? +5. **Success Visualization**: What does perfect execution look like? + +## Key Questions to Answer + +1. What manual process needs structure and guidance? +2. What makes this process hard or inconsistent today? +3. What are the 3-10 major phases/steps? +4. What document or output gets created? +5. What inputs are required from the user? +6. What decisions or choices affect the flow? +7. What quality criteria define success? +8. Document, Action, Interactive, Autonomous, or Meta workflow? +9. What makes this workflow valuable vs doing it manually? +10. What would make this workflow delightful to use? + +## Output Goals + +Generate: + +- **Workflow name**: Clear, describes the process +- **Purpose statement**: One sentence explaining value +- **Workflow type**: Classification with rationale +- **Phase outline**: 3-10 major steps with goals +- **Input/output description**: What goes in, what comes out +- **Key decisions**: Where user makes choices +- **Success criteria**: How to know it worked +- **Unique value**: Why this workflow beats manual process +- **Use cases**: 3-5 scenarios where this workflow shines + +--- + +_This focused context helps create valuable, structured BMAD workflows_ diff --git a/.bmad/bmb/workflows/create-workflow/checklist.md b/.bmad/bmb/workflows/create-workflow/checklist.md new file mode 100644 index 00000000..1d0ee9f5 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/checklist.md @@ -0,0 +1,94 @@ +# Build Workflow - Validation Checklist + +## Workflow Configuration (workflow.yaml) + +- [ ] Name follows kebab-case convention +- [ ] Description clearly states workflow purpose +- [ ] All paths use proper variable substitution +- [ ] installed_path points to correct module location +- [ ] template/instructions paths are correct for workflow type +- [ ] Output file pattern is appropriate +- [ ] YAML syntax is valid (no parsing errors) + +## Instructions Structure (instructions.md) + +- [ ] Critical headers reference workflow engine +- [ ] All steps have sequential numbering +- [ ] Each step has a clear goal attribute +- [ ] Optional steps marked with optional="true" +- [ ] Repeating steps have appropriate repeat attributes +- [ ] All template-output tags have unique variable names +- [ ] Flow control (if any) has valid step references + +## Template Structure (if document workflow) + +- [ ] All sections have appropriate placeholders +- [ ] Variable names match template-output tags exactly +- [ ] Markdown formatting is valid +- [ ] Date and metadata fields included +- [ ] No unreferenced variables remain + +## Content Quality + +- [ ] Instructions are specific and actionable +- [ ] Examples provided where helpful +- [ ] Limits set for lists and content length +- [ ] User prompts are clear +- [ ] Step goals accurately describe outcomes + +## Validation Checklist (if present) + +- [ ] Criteria are measurable and specific +- [ ] Checks grouped logically by category +- [ ] Final validation summary included +- [ ] All critical requirements covered + +## File System + +- [ ] Workflow folder created in correct module +- [ ] All required files present based on workflow type +- [ ] File permissions allow execution +- [ ] No placeholder text remains (like {TITLE}) + +## Testing Readiness + +- [ ] Workflow can be invoked without errors +- [ ] All required inputs are documented +- [ ] Output location is writable +- [ ] Dependencies (if any) are available + +## Web Bundle Configuration (if applicable) + +- [ ] web_bundle section present if needed +- [ ] Name, description, author copied from main config +- [ ] All file paths converted to .bmad/-relative format +- [ ] NO {config_source} variables in web bundle +- [ ] NO {project-root} prefixes in paths +- [ ] Instructions path listed correctly +- [ ] Validation/checklist path listed correctly +- [ ] Template path listed (if document workflow) +- [ ] All data files referenced in instructions are listed +- [ ] All sub-workflows are included +- [ ] web_bundle_files array is complete: + - [ ] Instructions.md included + - [ ] Checklist.md included + - [ ] Template.md included (if applicable) + - [ ] All CSV/JSON data files included + - [ ] All referenced templates included + - [ ] All sub-workflow files included +- [ ] No external dependencies outside bundle + +## Documentation + +- [ ] README created (if requested) +- [ ] Usage instructions clear +- [ ] Example command provided +- [ ] Special requirements noted +- [ ] Web bundle deployment noted (if applicable) + +## Final Validation + +- [ ] Configuration: No issues +- [ ] Instructions: Complete and clear +- [ ] Template: Variables properly mapped +- [ ] Testing: Ready for test run diff --git a/.bmad/bmb/workflows/create-workflow/instructions.md b/.bmad/bmb/workflows/create-workflow/instructions.md new file mode 100644 index 00000000..28dd5268 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/instructions.md @@ -0,0 +1,724 @@ +# Build Workflow - Workflow Builder Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/create-workflow/workflow.yaml +You MUST fully understand the workflow creation guide at: {workflow_creation_guide} +Study the guide thoroughly to follow ALL conventions for optimal human-AI collaboration +Communicate in {communication_language} throughout the workflow creation process + + + + +Do you want to brainstorm workflow ideas first? [y/n] + + +Invoke brainstorming workflow to explore ideas and design concepts: +- Workflow: {project-root}/.bmad/core/workflows/brainstorming/workflow.yaml +- Context data: {installed_path}/brainstorm-context.md +- Purpose: Generate creative workflow ideas, explore different approaches, and clarify requirements + +The brainstorming output will inform: + +- Workflow purpose and goals +- Workflow type selection +- Step design and structure +- User experience considerations +- Technical requirements + + + +Skip brainstorming and proceed directly to workflow building process. + + + + +Load the complete workflow creation guide from: {workflow_creation_guide} +Study all sections thoroughly including: + - Core concepts (tasks vs workflows, workflow types) + - Workflow structure (required/optional files, patterns) + - Writing instructions (step attributes, XML tags, flow control) + - Templates and variables (syntax, naming, sources) + - Validation best practices + - Common pitfalls to avoid + +Load template files from: {workflow_template_path}/ +You must follow ALL conventions from the guide to ensure optimal human-AI collaboration + + + +Ask the user: +- What is the workflow name? (kebab-case, e.g., "product-brief") +- What module will it belong to? (e.g., "bmm", "bmb", "cis") + - Store as {{target_module}} for output path determination +- What is the workflow's main purpose? +- What type of workflow is this? + - Document workflow (generates documents like PRDs, specs) + - Action workflow (performs actions like refactoring) + - Interactive workflow (guided sessions) + - Autonomous workflow (runs without user input) + - Meta-workflow (coordinates other workflows) + +Based on type, determine which files are needed: + +- Document: workflow.yaml + template.md + instructions.md + checklist.md +- Action: workflow.yaml + instructions.md +- Others: Varies based on requirements + +Determine output location based on module assignment: + +- If workflow belongs to module: Save to {module_output_folder} +- If standalone workflow: Save to {standalone_output_folder} + +Store decisions for later use. + + + +Collect essential configuration details: +- Description (clear purpose statement) +- Author name (default to user_name or "BMad") +- Output file naming pattern +- Any required input documents +- Any required tools or dependencies + +Determine standalone property - this controls how the workflow can be invoked: + +Explain to the user: + +**Standalone Property** controls whether the workflow can be invoked directly or only called by other workflows/agents. + +**standalone: true (DEFAULT - Recommended for most workflows)**: + +- Users can invoke directly via IDE commands or `/workflow-name` +- Shows up in IDE command palette +- Can also be called from agent menus or other workflows +- Use for: User-facing workflows, entry-point workflows, any workflow users run directly + +**standalone: false (Use for helper/internal workflows)**: + +- Cannot be invoked directly by users +- Only called via `` from other workflows or agent menus +- Doesn't appear in IDE command palette +- Use for: Internal utilities, sub-workflows, helpers that don't make sense standalone + +Most workflows should be `standalone: true` to give users direct access. + + +Should this workflow be directly invokable by users? + +1. **Yes (Recommended)** - Users can run it directly (standalone: true) +2. **No** - Only called by other workflows/agents (standalone: false) + +Most workflows choose option 1: + + +Store {{standalone_setting}} as true or false based on response + +Create the workflow name in kebab-case and verify it doesn't conflict with existing workflows. + + + +Instruction style and interactivity level fundamentally shape the user experience - choose thoughtfully + +Reference the comprehensive "Instruction Styles: Intent-Based vs Prescriptive" section from the loaded creation guide + +Discuss instruction style collaboratively with the user: + +Explain that there are two primary approaches: + +**Intent-Based (RECOMMENDED as default)**: + +- Gives AI goals and principles, lets it adapt conversation naturally +- More flexible, conversational, responsive to user context +- Better for: discovery, complex decisions, teaching, varied user skill levels +- Uses tags with guiding instructions +- Example from architecture workflow: Facilitates decisions adapting to user_skill_level + +**Prescriptive**: + +- Provides exact questions and specific options +- More controlled, predictable, consistent across runs +- Better for: simple data collection, finite options, compliance, quick setup +- Uses tags with specific question text +- Example: Platform selection with 5 defined choices + +Explain that **most workflows should default to intent-based** but use prescriptive for simple data points. +The architecture workflow is an excellent example of intent-based with prescriptive moments. + + +For this workflow's PRIMARY style: + +1. **Intent-based (Recommended)** - Adaptive, conversational, responds to user context +2. **Prescriptive** - Structured, consistent, controlled interactions +3. **Mixed/Balanced** - I'll help you decide step-by-step + +What feels right for your workflow's purpose? + + +Store {{instruction_style}} preference + +Now discuss interactivity level: + +Beyond style, consider **how interactive** this workflow should be: + +**High Interactivity (Collaborative)**: + +- Constant back-and-forth with user +- User guides direction, AI facilitates +- Iterative refinement and review +- Best for: creative work, complex decisions, learning experiences +- Example: Architecture workflow's collaborative decision-making + +**Medium Interactivity (Guided)**: + +- Key decision points have interaction +- AI proposes, user confirms or refines +- Validation checkpoints +- Best for: most document workflows, structured processes +- Example: PRD workflow with sections to review + +**Low Interactivity (Autonomous)**: + +- Minimal user input required +- AI works independently with guidelines +- User reviews final output +- Best for: automated generation, batch processing +- Example: Generating user stories from epics + + +What interactivity level suits this workflow? + +1. **High** - Highly collaborative, user actively involved throughout (Recommended) +2. **Medium** - Guided with key decision points +3. **Low** - Mostly autonomous with final review + +Select the level that matches your workflow's purpose: + + +Store {{interactivity_level}} preference + +Explain how these choices will inform the workflow design: + +- Intent-based + High interactivity: Conversational discovery with open questions +- Intent-based + Medium: Facilitated guidance with confirmation points +- Intent-based + Low: Principle-based autonomous generation +- Prescriptive + any level: Structured questions, but frequency varies +- Mixed: Strategic use of both styles where each works best + + +Now work with user to outline workflow steps: + +- How many major steps? (Recommend 3-7 for most workflows) +- What is the goal of each step? +- Which steps are optional? +- Which steps need heavy user collaboration vs autonomous execution? +- Which steps should repeat? +- What variables/outputs does each step produce? + +Consider their instruction_style and interactivity_level choices when designing step flow: + +- High interactivity: More granular steps with collaboration +- Low interactivity: Larger autonomous steps with review +- Intent-based: Focus on goals and principles in step descriptions +- Prescriptive: Define specific questions and options + + +Create a step outline that matches the chosen style and interactivity level +Note which steps should be intent-based vs prescriptive (if mixed approach) + +step_outline + + + +Load and use the template at: {template_workflow_yaml} + +Replace all placeholders following the workflow creation guide conventions: + +- {TITLE} โ†’ Proper case workflow name +- {WORKFLOW_CODE} โ†’ kebab-case name +- {WORKFLOW_DESCRIPTION} โ†’ Clear description +- {module-code} โ†’ Target module +- {file.md} โ†’ Output filename pattern + +Include: + +- All metadata from steps 1-2 +- **Standalone property**: Use {{standalone_setting}} from step 2 (true or false) +- Proper paths for installed_path using variable substitution +- Template/instructions/validation paths based on workflow type: + - Document workflow: all files (template, instructions, validation) + - Action workflow: instructions only (template: false) + - Autonomous: set autonomous: true flag +- Required tools if any +- Recommended inputs if any + +ALWAYS include the standard config block: + +```yaml +# Critical variables from config +config_source: '{project-root}/.bmad/{{target_module}}/config.yaml' +output_folder: '{config_source}:output_folder' +user_name: '{config_source}:user_name' +communication_language: '{config_source}:communication_language' +date: system-generated +``` + +This standard config ensures workflows can run autonomously and communicate properly with users + +ALWAYS include the standalone property: + +```yaml +standalone: { { standalone_setting } } # true or false from step 2 +``` + +**Example complete workflow.yaml structure**: + +```yaml +name: 'workflow-name' +description: 'Clear purpose statement' + +# Paths +installed_path: '{project-root}/.bmad/module/workflows/name' +template: '{installed_path}/template.md' +instructions: '{installed_path}/instructions.md' +validation: '{installed_path}/checklist.md' + +# Critical variables from config +config_source: '{project-root}/.bmad/module/config.yaml' +output_folder: '{config_source}:output_folder' +user_name: '{config_source}:user_name' +communication_language: '{config_source}:communication_language' +date: system-generated + +# Output +default_output_file: '{output_folder}/document.md' + +# Invocation control +standalone: true # or false based on step 2 decision +``` + +Follow path conventions from guide: + +- Use {project-root} for absolute paths +- Use {installed_path} for workflow components +- Use {config_source} for config references + +Determine save location: + +- Use the output folder determined in Step 1 (module or standalone) +- Write to {{output_folder}}/workflow.yaml + + + +Load and use the template at: {template_instructions} + +Generate the instructions.md file following the workflow creation guide: + +1. ALWAYS include critical headers: + - Workflow engine reference: {project-root}/.bmad/core/tasks/workflow.xml + - workflow.yaml reference: must be loaded and processed + +2. Structure with tags containing all steps + +3. For each step from design phase, follow guide conventions: + - Step attributes: n="X" goal="clear goal statement" + - Optional steps: optional="true" + - Repeating: repeat="3" or repeat="for-each-X" or repeat="until-approved" + - Conditional: if="condition" + - Sub-steps: Use 3a, 3b notation + +4. Use proper XML tags from guide: + - Execution: , , , , + - Output: , {project-root}/.bmad/core/tasks/adv-elicit.xml, , + - Flow: , , + +5. Best practices from guide: + - Keep steps focused (single goal) + - Be specific ("Write 1-2 paragraphs" not "Write about") + - Provide examples where helpful + - Set limits ("3-5 items maximum") + - Save checkpoints with + +Standard config variable usage: + +Instructions MUST use the standard config variables where appropriate: + +- Communicate in {communication_language} throughout the workflow +- Address user as {user_name} in greetings and summaries +- Write all output files to {output_folder} or subdirectories +- Include {date} in generated document headers + +Example usage in instructions: + +```xml +Write document to {output_folder}/output-file.md +Communicate all responses in {communication_language} +Hello {user_name}, the workflow is complete! +``` + +Applying instruction style preference: + +Based on the {{instruction_style}} preference from Step 3, generate instructions using these patterns: + +**Intent-Based Instructions (Recommended for most workflows):** + +Focus on goals, principles, and desired outcomes. Let the LLM adapt the conversation naturally. + +โœ… **Good Examples:** + +```xml + +Guide user to define their target audience with specific demographics, psychographics, and behavioral characteristics +Explore the user's vision for the product, asking probing questions to uncover core motivations and success criteria +Help user identify and prioritize key features based on user value and technical feasibility + + +Validate that the technical approach aligns with project constraints and team capabilities +Challenge assumptions about user needs and market fit with thought-provoking questions + + +Collaborate with user to refine the architecture, iterating until they're satisfied with the design +``` + +โŒ **Avoid (too prescriptive):** + +```xml +What is your target audience age range? Choose: 18-24, 25-34, 35-44, 45+ +List exactly 3 key features in priority order +``` + +**When to use Intent-Based:** + +- Complex discovery processes (user research, requirements gathering) +- Creative brainstorming and ideation +- Iterative refinement workflows +- When user input quality matters more than consistency +- Workflows requiring adaptation to context + +**Prescriptive Instructions (Use selectively):** + +Provide exact wording, specific options, and controlled interactions. + +โœ… **Good Examples:** + +```xml + +What is your target platform? Choose: PC, Console, Mobile, Web +Select monetization model: Premium, Free-to-Play, Subscription, Ad-Supported + + +Does this comply with GDPR requirements? [yes/no] +Choose documentation standard: JSDoc, TypeDoc, TSDoc + + +Do you want to generate test cases? [yes/no] +Include performance benchmarks? [yes/no] +``` + +โŒ **Avoid (too rigid for complex tasks):** + +```xml +What are your product goals? List exactly 5 goals, each 10-15 words +Describe your user persona in exactly 3 sentences +``` + +**When to use Prescriptive:** + +- Simple data collection (platform, format, yes/no choices) +- Compliance verification and standards adherence +- Configuration with finite options +- When consistency is critical across all executions +- Quick setup wizards + +**Mixing Both Styles (Best Practice):** + +Even if user chose a primary style, use the other when appropriate: + +```xml + + + Explore the user's vision for their game, uncovering their creative intent and target experience + Ask probing questions about genre, themes, and emotional tone they want to convey + + + + What is your target platform? Choose: PC, Console, Mobile, Web + Select primary genre: Action, RPG, Strategy, Puzzle, Simulation, Other + + + + Guide user to articulate their core gameplay loop, exploring mechanics and player agency + Help them identify what makes their game unique and compelling + +``` + +**Guidelines for the chosen style:** + +If user chose **Intent-Based**: + +- Default to goal-oriented tags +- Use open-ended guidance language +- Save prescriptive tags for simple data/choices +- Focus on "guide", "explore", "help user", "validate" +- Allow LLM to adapt questions to user responses + +If user chose **Prescriptive**: + +- Default to explicit tags with clear options +- Use precise wording for consistency +- Save intent-based tags for complex discovery +- Focus on "choose", "select", "specify", "confirm" +- Provide structured choices when possible + +**Remember:** The goal is optimal human-AI collaboration. Use whichever style best serves the user at each step. + +Save location: + +- Write to {{output_folder}}/instructions.md + + + +Load and use the template at: {template_template} + +Generate the template.md file following guide conventions: + +1. Document structure with clear sections +2. Variable syntax: {{variable_name}} using snake_case +3. Variable names MUST match tags exactly from instructions +4. Include standard metadata header (optional - config variables available): + + ```markdown + # Document Title + + **Date:** {{date}} + + **Author:** {{user_name}} + ``` + + Note: {{date}} and {{user_name}} are optional in headers. Primary purpose of these variables: + - {{date}} - Gives agent current date awareness (not confused with training cutoff) + - {{user_name}} - Optional author attribution + - {{communication_language}} - NOT for document output! Tells agent how to communicate during execution + +5. Follow naming conventions from guide: + - Use descriptive names: {{primary_user_journey}} not {{puj}} + - Snake_case for all variables + - Match instruction outputs precisely + +Variable sources as per guide: + +- workflow.yaml config values (user_name, communication_language, date, output_folder) +- User input runtime values +- Step outputs via +- System variables (date, paths) + +Standard config variables in templates: + +Templates CAN optionally use these config variables: + +- {{user_name}} - Document author (optional) +- {{date}} - Generation date (optional) + +IMPORTANT: {{communication_language}} is NOT for document headers! + +- Purpose: Tells agent how to communicate with user during workflow execution +- NOT for: Document output language or template headers +- Future: {{document_output_language}} will handle multilingual document generation + +These variables are automatically available from workflow.yaml config block. + +Save location: + +- Write to {{output_folder}}/template.md + + + +Ask if user wants a validation checklist. If yes: + +Load and use the template at: {template_checklist} + +Create checklist.md following guide best practices: + +1. Make criteria MEASURABLE and SPECIFIC + โŒ "- [ ] Good documentation" + โœ… "- [ ] Each function has JSDoc comments with parameters and return types" + +2. Group checks logically: + - Structure: All sections present, no placeholders, proper formatting + - Content Quality: Clear and specific, technically accurate, consistent terminology + - Completeness: Ready for next phase, dependencies documented, action items defined + +3. Include workflow-specific validations based on type: + - Document workflows: Template variables mapped, sections complete + - Action workflows: Actions clearly defined, error handling specified + - Interactive: User prompts clear, decision points documented + +4. Add final validation section with issue lists + +Save location: + +- Write to {{output_folder}}/checklist.md + + + +Ask if any supporting data files are needed: +- CSV files with data +- Example documents +- Reference materials + +If yes, create placeholder files or copy from templates. + + + +Review the created workflow: + +**Basic Validation:** + +1. Verify all file paths are correct +2. Check variable names match between files +3. Ensure step numbering is sequential +4. Validate YAML syntax +5. Confirm all placeholders are replaced + +**Standard Config Validation:** + +6. Verify workflow.yaml contains standard config block: + +- config_source defined +- output_folder, user_name, communication_language pulled from config +- date set to system-generated + +7. Check instructions use config variables where appropriate +8. Verify template includes config variables in metadata (if document workflow) + +**YAML/Instruction/Template Alignment:** + +9. Cross-check all workflow.yaml variables against instruction usage: + +- Are all yaml variables referenced in instructions.md OR template.md? +- Are there hardcoded values that should be variables? +- Do template variables match tags in instructions? + +10. Identify any unused yaml fields (bloat detection) + +Show user a summary of created files and their locations. +Ask if they want to: + +- Test run the workflow +- Make any adjustments +- Add additional steps or features + + + +Will this workflow need to be deployable as a web bundle? [yes/no] + +If yes: +Explain web bundle requirements: + +- Web bundles are self-contained and cannot use config_source variables +- All files must be explicitly listed in web_bundle_files +- File paths use .bmad/ root (not {project-root}) + +Configure web_bundle section in workflow.yaml: + +1. Copy core workflow metadata (name, description, author) +2. Convert all file paths to .bmad/-relative paths: + - Remove {project-root}/ prefix + - Remove {config_source} references (use hardcoded values) + - Example: "{project-root}/.bmad/bmm/workflows/x" โ†’ ".bmad/bmm/workflows/x" + +3. List ALL referenced files by scanning: + + **Scan instructions.md for:** + - File paths in tags + - Data files (CSV, JSON, YAML, etc.) + - Validation/checklist files + - Any calls โ†’ must include that workflow's yaml file + - Any tags that reference other workflows + - Shared templates or includes + + **Scan template.md for:** + - Any includes or references to other files + - Shared template fragments + + **Critical: Workflow Dependencies** + - If instructions call another workflow, that workflow's yaml MUST be in web_bundle_files + - Example: `{project-root}/.bmad/core/workflows/x/workflow.yaml` + โ†’ Add ".bmad/core/workflows/x/workflow.yaml" to web_bundle_files + +4. Create web_bundle_files array with complete list + +Example: + +```yaml +web_bundle: + name: '{workflow_name}' + description: '{workflow_description}' + author: '{author}' + instructions: '.bmad/{module}/workflows/{workflow}/instructions.md' + validation: '.bmad/{module}/workflows/{workflow}/checklist.md' + template: '.bmad/{module}/workflows/{workflow}/template.md' + + # Any data files (no config_source) + data_file: '.bmad/{module}/workflows/{workflow}/data.csv' + + web_bundle_files: + - '.bmad/{module}/workflows/{workflow}/instructions.md' + - '.bmad/{module}/workflows/{workflow}/checklist.md' + - '.bmad/{module}/workflows/{workflow}/template.md' + - '.bmad/{module}/workflows/{workflow}/data.csv' + # Add every single file referenced anywhere + + # CRITICAL: If this workflow invokes other workflows, use existing_workflows + # This signals the bundler to recursively include those workflows' web_bundles + existing_workflows: + - workflow_variable_name: '.bmad/path/to/workflow.yaml' +``` + +**Example with existing_workflows:** + +```yaml +web_bundle: + name: 'brainstorm-game' + description: 'Game brainstorming with CIS workflow' + author: 'BMad' + instructions: '.bmad/bmm/workflows/brainstorm-game/instructions.md' + template: false + web_bundle_files: + - '.bmad/bmm/workflows/brainstorm-game/instructions.md' + - '.bmad/mmm/workflows/brainstorm-game/game-context.md' + - '.bmad/core/workflows/brainstorming/workflow.yaml' + existing_workflows: + - core_brainstorming: '.bmad/core/workflows/brainstorming/workflow.yaml' +``` + +**What existing_workflows does:** + +- Tells the bundler this workflow invokes another workflow +- Bundler recursively includes the invoked workflow's entire web_bundle +- Essential for meta-workflows that orchestrate other workflows +- Maps workflow variable names to their .bmad/-relative paths + +Validate web bundle completeness: + +- Ensure no {config_source} variables remain +- Verify all file paths are listed +- Check that paths are .bmad/-relative +- If workflow uses , add to existing_workflows + +web_bundle_config + + + +Create a brief README for the workflow folder explaining purpose, how to invoke, expected inputs, generated outputs, and any special requirements + +Provide {user_name} with workflow completion summary in {communication_language}: + +- Location of created workflow: {{output_folder}} +- Command to run it: `workflow {workflow_name}` +- Next steps: + - Run the BMAD Method installer to this project location + - Select 'Compile Agents (Quick rebuild of all agent .md files)' after confirming the folder + - This will compile the new workflow and make it available for use + + + diff --git a/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md b/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md new file mode 100644 index 00000000..71d98bc3 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md @@ -0,0 +1,1308 @@ +# BMAD Workflow Creation Guide + +Create structured, repeatable workflows for human-AI collaboration in BMAD v6. + +## Table of Contents + +1. [Quick Start](#quick-start) +2. [Core Concepts](#core-concepts) +3. [Workflow Structure](#workflow-structure) +4. [Writing Instructions](#writing-instructions) +5. [Templates and Variables](#templates--variables) +6. [Flow Control](#flow-control) +7. [Validation](#validation) +8. [Examples](#examples) +9. [Best Practices](#best-practices) +10. [Troubleshooting](#troubleshooting) + +## Quick Start + +### Minimal Workflow (3 minutes) + +Create a folder with these files: + +```yaml +# workflow.yaml (REQUIRED) +name: 'my-workflow' +description: 'What this workflow does' +installed_path: '{project-root}/.bmad/module/workflows/my-workflow' +template: '{installed_path}/template.md' +instructions: '{installed_path}/instructions.md' +default_output_file: '{output_folder}/output.md' + +standalone: true +``` + +```markdown +# template.md + +# {{project_name}} Output + +{{main_content}} +``` + +```markdown +# instructions.md + +The workflow execution engine is governed by: {project_root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: workflow.yaml + + + + Create the main content for this document. + main_content + + +``` + +That's it! To execute, tell the BMAD agent: `workflow path/to/my-workflow/` + +## Core Concepts + +### Tasks vs Workflows + +| Aspect | Task | Workflow | +| -------------- | ------------------ | ----------------------- | +| **Purpose** | Single operation | Multi-step process | +| **Format** | XML | Folder with YAML config | +| **Location** | `/src/core/tasks/` | `/.bmad/*/workflows/` | +| **User Input** | Minimal | Extensive | +| **Output** | Variable | Usually documents | + +### Workflow Types + +1. **Document Workflows** - Generate PRDs, specs, architectures +2. **Action Workflows** - Refactor code, run tools, orchestrate tasks +3. **Interactive Workflows** - Brainstorming, meditations, guided sessions +4. **Autonomous Workflows** - Run without human input (story generation) +5. **Meta-Workflows** - Coordinate other workflows + +## Workflow Structure + +### Required Files + +``` +my-workflow/ + โ””โ”€โ”€ workflow.yaml # REQUIRED - Configuration +``` + +### Optional Files + +``` +my-workflow/ + โ”œโ”€โ”€ template.md # Document structure + โ”œโ”€โ”€ instructions.md # Step-by-step guide + โ”œโ”€โ”€ checklist.md # Validation criteria + โ””โ”€โ”€ [data files] # Supporting resources, xml, md, csv or others +``` + +### workflow.yaml Configuration + +```yaml +# Basic metadata +name: 'workflow-name' +description: 'Clear purpose statement' + +# Paths +installed_path: '{project-root}/.bmad/module/workflows/name' +template: '{installed_path}/template.md' # or false +instructions: '{installed_path}/instructions.md' # or false +validation: '{installed_path}/checklist.md' # optional + +# Output +default_output_file: '{output_folder}/document.md' + +# Advanced options +recommended_inputs: # Expected input docs + - input_doc: 'path/to/doc.md' + +# Invocation control +standalone: true # Can be invoked directly (default: true) +``` + +### Standalone Property: Invocation Control + +**CRITICAL**: The `standalone` property controls whether a workflow, task, or tool can be invoked independently or must be called through an agent's menu. + +#### For Workflows (workflow.yaml) + +```yaml +standalone: true # Can invoke directly: /workflow-name or via IDE command +standalone: false # Must be called from an agent menu or another workflow +``` + +**When to use `standalone: true` (DEFAULT)**: + +- โœ… User-facing workflows that should be directly accessible +- โœ… Workflows invoked via IDE commands or CLI +- โœ… Workflows that users will run independently +- โœ… Most document generation workflows (PRD, architecture, etc.) +- โœ… Action workflows users trigger directly (refactor, analyze, etc.) +- โœ… Entry-point workflows for a module + +**When to use `standalone: false`**: + +- โœ… Sub-workflows only called by other workflows (via ``) +- โœ… Internal utility workflows not meant for direct user access +- โœ… Workflows that require specific context from parent workflow +- โœ… Helper workflows that don't make sense alone + +**Examples**: + +```yaml +# Standalone: User invokes directly +name: 'plan-project' +description: 'Create PRD/GDD for any project' +standalone: true # Users run this directly + +--- +# Non-standalone: Only called by parent workflow +name: 'validate-requirements' +description: 'Internal validation helper for PRD workflow' +standalone: false # Only invoked by plan-project workflow +``` + +#### For Tasks and Tools (XML files) + +Tasks and tools in `src/core/tasks/` and `src/core/tools/` also support the standalone attribute: + +```xml + + + + + + + + + +``` + +**Task/Tool Standalone Guidelines**: + +- `standalone="true"`: Core tasks like workflow.xml, create-doc.xml that users/agents invoke directly +- `standalone="false"`: Internal helpers, utilities only called by other tasks/workflows + +#### Default Behavior + +**If standalone property is omitted**: + +- Workflows: Default to `standalone: true` (accessible directly) +- Tasks/Tools: Default to `standalone: true` (accessible directly) + +**Best Practice**: Explicitly set standalone even if using default to make intent clear. + +#### Invocation Patterns + +**Standalone workflows can be invoked**: + +1. Directly by users: `/workflow-name` or IDE command +2. From agent menus: `workflow: "{path}/workflow.yaml"` +3. From other workflows: `` + +**Non-standalone workflows**: + +1. โŒ Cannot be invoked directly by users +2. โŒ Cannot be called from IDE commands +3. โœ… Can be invoked by other workflows via `` +4. โœ… Can be called from agent menu items + +#### Module Design Implications + +**Typical Module Pattern**: + +```yaml +# Entry-point workflows: standalone: true +bmm/workflows/plan-project/workflow.yaml โ†’ standalone: true +bmm/workflows/architecture/workflow.yaml โ†’ standalone: true + +# Helper workflows: standalone: false +bmm/workflows/internal/validate-epic/workflow.yaml โ†’ standalone: false +bmm/workflows/internal/format-story/workflow.yaml โ†’ standalone: false +``` + +**Benefits of this pattern**: + +- Clear separation between user-facing and internal workflows +- Prevents users from accidentally invoking incomplete/internal workflows +- Cleaner IDE command palette (only shows standalone workflows) +- Better encapsulation and maintainability + +### Common Patterns + +**Full Document Workflow** (most common) + +- Has: All 4 files +- Use for: PRDs, architectures, specs + +**Action Workflow** (no template) + +- Has: workflow.yaml + instructions.md +- Use for: Refactoring, tool orchestration + +**Autonomous Workflow** (no interaction) + +- Has: workflow.yaml + template + instructions +- Use for: Automated generation + +## Writing Instructions + +### Instruction Styles: Intent-Based vs Prescriptive + +**CRITICAL DESIGN DECISION**: Choose your instruction style early - it fundamentally shapes the user experience. + +#### Default Recommendation: Intent-Based (Adaptive) + +**Intent-based workflows give the AI goals and principles, letting it adapt the conversation naturally to the user's context.** This is the BMAD v6 default for most workflows. + +#### The Two Approaches + +##### 1. Intent-Based Instructions (RECOMMENDED) + +**What it is**: Guide the AI with goals, principles, and context - let it determine the best way to interact with each user. + +**Characteristics**: + +- Uses `` tags with guiding instructions +- Focuses on WHAT to accomplish and WHY it matters +- Lets AI adapt conversation to user needs +- More flexible and conversational +- Better for complex discovery and iterative refinement + +**When to use**: + +- Complex discovery processes (requirements gathering, architecture design) +- Creative brainstorming and ideation +- Iterative refinement workflows +- When user input quality matters more than consistency +- Workflows requiring adaptation to context +- Teaching/educational workflows +- When users have varying skill levels + +**Example**: + +```xml + + Engage in collaborative discovery to understand their target users: + + Ask open-ended questions to explore: + - Who will use this product? + - What problems do they face? + - What are their goals and motivations? + - How tech-savvy are they? + + Listen for clues about: + - Demographics and characteristics + - Pain points and needs + - Current solutions they use + - Unmet needs or frustrations + + Adapt your depth and terminology to the user's responses. + If they give brief answers, dig deeper with follow-ups. + If they're uncertain, help them think through it with examples. + + + target_audience + +``` + +**Intent-based workflow adapts**: + +- **Expert user** might get: "Tell me about your target users - demographics, pain points, and technical profile?" +- **Beginner user** might get: "Let's talk about who will use this. Imagine your ideal customer - what do they look like? What problem are they trying to solve?" + +##### 2. Prescriptive Instructions (Use Selectively) + +**What it is**: Provide exact wording for questions and specific options for answers. + +**Characteristics**: + +- Uses `` tags with exact question text +- Provides specific options or formats +- More controlled and predictable +- Ensures consistency across runs +- Better for simple data collection or compliance needs + +**When to use**: + +- Simple data collection (platform choice, format selection) +- Compliance verification and standards adherence +- Configuration with finite, well-defined options +- When consistency is critical across all executions +- Quick setup wizards +- Binary decisions (yes/no, enable/disable) +- When gathering specific required fields + +**Example**: + +```xml + + What is your target platform? + + 1. Web (browser-based application) + 2. Mobile (iOS/Android native apps) + 3. Desktop (Windows/Mac/Linux applications) + 4. CLI (command-line tool) + 5. API (backend service) + + Enter the number (1-5): + + Store the platform choice as {{target_platform}} + target_platform + +``` + +**Prescriptive workflow stays consistent** - every user gets the same 5 options in the same format. + +#### Best Practice: Mix Both Styles + +**Even predominantly intent-based workflows should use prescriptive moments** for simple choices. Even prescriptive workflows can have intent-based discovery. + +**Example of effective mixing**: + +```xml + + + Explore the user's vision through open conversation: + + Help them articulate: + - The core problem they're solving + - Their unique approach or innovation + - The experience they want to create + + Adapt your questions based on their expertise and communication style. + If they're visionary, explore the "why". If they're technical, explore the "how". + + vision + + + + + What is your target platform? Choose one: + - Web + - Mobile + - Desktop + - CLI + - API + + Store as {{platform}} + + + + + Facilitate collaborative UX design: + + Guide them to explore: + - User journey and key flows + - Interaction patterns and affordances + - Visual/aesthetic direction + + Use their platform choice from step 2 to inform relevant patterns. + For web: discuss responsive design. For mobile: touch interactions. Etc. + + ux_design + +``` + +#### Interactivity Levels + +Beyond style (intent vs prescriptive), consider **how interactive** your workflow should be: + +##### High Interactivity (Collaborative) + +- Constant back-and-forth with user +- Multiple asks per step +- Iterative refinement and review +- User guides the direction +- **Best for**: Creative work, complex decisions, learning + +**Example**: + +```xml + + Collaborate on feature definitions: + + For each feature the user proposes: + - Help them articulate it clearly + - Explore edge cases together + - Consider implications and dependencies + - Refine the description iteratively + + After each feature: "Want to refine this, add another, or move on?" + + +``` + +##### Medium Interactivity (Guided) + +- Key decision points have interaction +- AI proposes, user confirms or refines +- Validation checkpoints +- **Best for**: Most document workflows, structured processes + +**Example**: + +```xml + + Based on the PRD, identify 10-15 key architectural decisions needed + For each decision, research options and present recommendation + Approve this decision or propose alternative? + Record decision and rationale + +``` + +##### Low Interactivity (Autonomous) + +- Minimal user input required +- AI works independently with guidelines +- User reviews final output +- **Best for**: Automated generation, batch processing + +**Example**: + +```xml + + For each epic in the PRD, generate 3-7 user stories following this pattern: + - As a [user type] + - I want to [action] + - So that [benefit] + + Ensure stories are: + - Independently valuable + - Testable + - Sized appropriately (1-5 days of work) + + + user_stories + + + + Review the generated user stories. Want to refine any? (y/n) + + Regenerate with feedback + + +``` + +#### Decision Framework + +**Choose Intent-Based when**: + +- โœ… User knowledge/skill level varies +- โœ… Context matters (one-size-fits-all won't work) +- โœ… Discovery and exploration are important +- โœ… Quality of input matters more than consistency +- โœ… Teaching/education is part of the goal +- โœ… Iteration and refinement expected + +**Choose Prescriptive when**: + +- โœ… Options are finite and well-defined +- โœ… Consistency across users is critical +- โœ… Compliance or standards matter +- โœ… Simple data collection +- โœ… Users just need to make a choice and move on +- โœ… Speed matters more than depth + +**Choose High Interactivity when**: + +- โœ… User expertise is essential +- โœ… Creative collaboration needed +- โœ… Decisions have major implications +- โœ… Learning and understanding matter +- โœ… Iteration is expected + +**Choose Low Interactivity when**: + +- โœ… Process is well-defined and repeatable +- โœ… AI can work autonomously with clear guidelines +- โœ… User time is constrained +- โœ… Batch processing or automation desired +- โœ… Review-and-refine model works + +#### Implementation Guidelines + +**For Intent-Based Workflows**: + +1. **Use `` tags with guiding instructions** + +```xml +Facilitate discovery of {{topic}}: + +Ask open-ended questions to explore: +- {{aspect_1}} +- {{aspect_2}} + +Listen for clues about {{patterns_to_notice}}. + +Adapt your approach based on their {{context_factor}}. + +``` + +2. **Provide principles, not scripts** + +```xml + +Help user articulate their unique value proposition. +Focus on what makes them different, not just what they do. +If they struggle, offer examples from analogous domains. + + +What makes your product unique? Provide 2-3 bullet points. +``` + +3. **Guide with context and rationale** + +```xml +Now that we understand their {{context_from_previous}}, +explore how {{current_topic}} connects to their vision. + +This matters because {{reason_it_matters}}. + +If they seem uncertain about {{potential_challenge}}, help them think through {{approach}}. + +``` + +**For Prescriptive Workflows**: + +1. **Use `` tags with specific questions** + +```xml +Select your preferred database: +1. PostgreSQL +2. MySQL +3. MongoDB +4. SQLite + +Enter number (1-4): +``` + +2. **Provide clear options and formats** + +```xml +Enable user authentication? (yes/no) +Enter project name (lowercase, no spaces): +``` + +3. **Keep it crisp and clear** + +```xml + +Target platform? (web/mobile/desktop) + + +We need to know what platform you're building for. This will affect +the technology stack recommendations. Please choose: web, mobile, or desktop. +``` + +#### Mixing Styles Within a Workflow + +**Pattern: Intent-based discovery โ†’ Prescriptive capture โ†’ Intent-based refinement** + +```xml + + + Engage in open conversation to understand user needs deeply... + + + + + Expected daily active users? (number) + Data sensitivity level? (public/internal/sensitive/highly-sensitive) + + + + + Collaborate on solution design, using the metrics from step 2 to inform scale and security decisions... + +``` + +**Pattern: Prescriptive setup โ†’ Intent-based execution** + +```xml + + + Project type? (web-app/api/cli/library) + Language? (typescript/python/go/rust) + + + + + Now that we know it's a {{project_type}} in {{language}}, + let's explore the architecture in detail. + + Guide them through design decisions appropriate for a {{project_type}}... + + +``` + +### Basic Structure + +```markdown +# instructions.md + +The workflow execution engine is governed by: {project_root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: workflow.yaml + + + + +Instructions for this step. +variable_name + + + +Optional step instructions. +another_variable + + + +``` + +### Step Attributes + +- `n="X"` - Step number (required) +- `goal="..."` - What the step accomplishes (required) +- `optional="true"` - User can skip +- `repeat="3"` - Repeat N times +- `if="condition"` - Conditional execution + +### Content Formats + +**Markdown Format** (human-friendly): + +```xml + +Write 1-3 bullet points about project success: +- User outcomes +- Business value +- Measurable results + +goals + +``` + +**XML Format** (precise control): + +```xml + + Load validation criteria + + Return to previous step + + validated_data + +``` + +## Templates and Variables + +### Variable Syntax + +```markdown +# template.md + +# {{project_name}} Document + +## Section + +{{section_content}} + +_Generated on {{date}}_ +``` + +### Variable Sources + +1. **workflow.yaml** - Config values +2. **User input** - Runtime values +3. **Step outputs** - `` tags +4. **System** - Date, paths, etc. + +### Naming Convention + +- Use snake_case: `{{user_requirements}}` +- Be descriptive: `{{primary_user_journey}}` not `{{puj}}` + +## Flow Control + +### Sub-Steps + +```xml + + + Collect information + + + + Process collected data + analysis + + +``` + +### Repetition + +```xml + + + Generate example {{iteration}} + + + + + Generate content + Satisfactory? (y/n) + + + + + Define epic {{epic_name}} + +``` + +### Conditional Execution + +**Single Action (use `action if=""`):** + +```xml + + Load existing document + Initialize from template + +``` + +**Multiple Actions (use `...`):** + +```xml + + Check requirements + + Log validation errors + Return to gathering + + + Mark as validated + Proceed + + +``` + +**When to use which:** + +- **``** - Single conditional action (cleaner, more concise) +- **`...`** - Multiple items under same condition (explicit scope) + +**โŒ CRITICAL ANTIPATTERN - DO NOT USE:** + +**Invalid self-closing check tags:** + +```xml + +If condition met: +Do something + + +If validation fails: +Log error +Retry +``` + +**Why this is wrong:** + +- Creates invalid XML structure (check tag doesn't wrap anything) +- Ambiguous - unclear if actions are inside or outside the condition +- Breaks formatter and parser logic +- Not part of BMAD workflow spec + +**โœ… CORRECT alternatives:** + +```xml + +Do something + + + + Log error + Retry + +``` + +**Rule:** If you have only ONE conditional action, use ``. If you have MULTIPLE conditional actions, use `...` wrapper with a closing tag. + +### Loops + +```xml + + + Generate solution + + Exit loop + + + +``` + +### Common XML Tags + +**Execution:** + +- `` - Required action +- `` - Single conditional action (inline) +- `...` - Conditional block for multiple items (requires closing tag) +- `` - User prompt +- `` - Jump to step +- `` - Call another workflow + +**Output:** + +- `` - Save checkpoint +- `{project-root}/.bmad/core/tasks/adv-elicit.xml` - Trigger AI enhancement +- `` - Important info +- `` - Show example + +## Validation + +### checklist.md Structure + +```markdown +# Validation Checklist + +## Structure + +- [ ] All sections present +- [ ] No placeholders remain +- [ ] Proper formatting + +## Content Quality + +- [ ] Clear and specific +- [ ] Technically accurate +- [ ] Consistent terminology + +## Completeness + +- [ ] Ready for next phase +- [ ] Dependencies documented +- [ ] Action items defined +``` + +### Making Criteria Measurable + +โŒ `- [ ] Good documentation` +โœ… `- [ ] Each function has JSDoc comments with parameters and return types` + +## Examples + +### Document Generation + +```xml + + + Load existing documents and understand project scope. + context + + + + Create functional and non-functional requirements. + requirements + {project-root}/.bmad/core/tasks/adv-elicit.xml + + + + Check requirements against goals. + validated_requirements + + +``` + +### Action Workflow + +```xml + + + Find all API endpoints + Identify patterns + + + + + Update to new pattern + + + + + Run tests + + Fix issues + + + +``` + +### Meta-Workflow + +```xml + + + product-brief + brief + + + + prd + prd + + + + architecture + architecture + + +``` + +## Best Practices + +### Design Principles + +1. **Keep steps focused** - Single goal per step +2. **Limit scope** - 5-12 steps maximum +3. **Build progressively** - Start simple, add detail +4. **Checkpoint often** - Save after major workflow sections and ensure documents are being drafted from the start +5. **Make sections optional** - Let users skip when appropriate + +### Instruction Guidelines + +1. **Be specific** - "Write 1-2 paragraphs" not "Write about" +2. **Provide examples** - Show expected output format +3. **Set limits** - "3-5 items maximum" +4. **Explain why** - Context helps AI make better decisions + +### Conditional Execution Best Practices + +**โœ… DO:** + +- Use `` for single conditional actions +- Use `...` for blocks with multiple items +- Always close `` tags explicitly +- Keep conditions simple and readable + +**โŒ DON'T:** + +- Wrap single actions in `` blocks (unnecessarily verbose) +- Forget to close `` tags +- Nest too many levels (makes logic hard to follow) + +**Examples:** + +```xml + +Load configuration + + + + Load configuration + + + + + Log error details + Notify user + Retry input + +``` + +### Common Pitfalls + +- **Missing critical headers** - Always include workflow engine references +- **Variables not replaced** - Ensure names match exactly +- **Too many steps** - Combine related actions +- **No checkpoints** - Add `` tags +- **Vague instructions** - Be explicit about expectations +- **Unclosed check tags** - Always close `...` blocks +- **Wrong conditional pattern** - Use `` for single items, `` for blocks + +## Document Sharding Support + +If your workflow loads large planning documents (PRDs, epics, architecture, etc.), implement sharding support for efficiency. + +### What is Document Sharding? + +Document sharding splits large markdown files into smaller section-based files: + +- `PRD.md` (50k tokens) โ†’ `prd/epic-1.md`, `prd/epic-2.md`, etc. +- Enables selective loading (90%+ token savings) +- All BMM workflows support both whole and sharded documents + +### When to Add Sharding Support + +**Add sharding support if your workflow:** + +- Loads planning documents (PRD, epics, architecture, UX specs) +- May be used in large multi-epic projects +- Processes documents that could exceed 20k tokens +- Would benefit from selective section loading + +**Skip sharding support if your workflow:** + +- Only generates small documents +- Doesn't load external documents +- Works with code files (not planning docs) + +### Implementation Pattern + +#### 1. Add input_file_patterns to workflow.yaml + +```yaml +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +input_file_patterns: + prd: + whole: '{output_folder}/*prd*.md' + sharded: '{output_folder}/*prd*/index.md' + + epics: + whole: '{output_folder}/*epic*.md' + sharded_index: '{output_folder}/*epic*/index.md' + sharded_single: '{output_folder}/*epic*/epic-{{epic_num}}.md' # For selective load + + architecture: + whole: '{output_folder}/*architecture*.md' + sharded: '{output_folder}/*architecture*/index.md' + + document_project: + sharded: '{output_folder}/docs/index.md' # Brownfield always uses index +``` + +#### 2. Add Discovery Instructions to instructions.md + +Place early in instructions (after critical declarations, before workflow steps): + +```markdown +## ๐Ÿ“š Document Discovery + +This workflow requires: [list required documents] + +**Discovery Process** (execute for each document): + +1. **Search for whole document first** - Use fuzzy file matching +2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md` +3. **If sharded version found**: + - Read `index.md` to understand the document structure + - Read ALL section files listed in the index (or specific sections for selective load) + - Treat the combined content as if it were a single document +4. **Brownfield projects**: The `document-project` workflow creates `{output_folder}/docs/index.md` + +**Priority**: If both whole and sharded versions exist, use the whole document. + +**Fuzzy matching**: Be flexible with document names - users may use variations. +``` + +#### 3. Choose Loading Strategy + +**Full Load Strategy** (most workflows): + +```xml +Search for document using fuzzy pattern: {output_folder}/*prd*.md +If not found, check for sharded version: {output_folder}/*prd*/index.md +Read index.md to understand structure +Read ALL section files listed in index +Combine content as single document +``` + +**Selective Load Strategy** (advanced - for phase 4 type workflows): + +```xml +Determine section needed (e.g., epic_num from story key) +Check for sharded version: {output_folder}/*epics*/index.md +Read ONLY the specific section file: epics/epic-{{epic_num}}.md +Skip all other section files (efficiency optimization) +Load complete document and extract relevant section +``` + +### Pattern Examples + +**Example 1: Simple Full Load** + +```yaml +# workflow.yaml +input_file_patterns: + requirements: + whole: '{output_folder}/*requirements*.md' + sharded: '{output_folder}/*requirements*/index.md' +``` + +```markdown + + +## Document Discovery + +Load requirements document (whole or sharded). + +1. Try whole: _requirements_.md +2. If not found, try sharded: _requirements_/index.md +3. If sharded: Read index + ALL section files +``` + +**Example 2: Selective Load with Epic Number** + +```yaml +# workflow.yaml +input_file_patterns: + epics: + whole: '{output_folder}/*epic*.md' + sharded_single: '{output_folder}/*epic*/epic-{{epic_num}}.md' +``` + +```xml + + + Extract epic number from story key (e.g., "3-2-feature" โ†’ epic_num = 3) + Check for sharded epics: {output_folder}/*epic*/index.md + Load ONLY epics/epic-{{epic_num}}.md (selective optimization) + Load full epics.md and extract Epic {{epic_num}} + +``` + +### Testing Your Sharding Support + +1. **Test with whole document**: Verify workflow works with single `document.md` +2. **Test with sharded document**: Create sharded version and verify discovery +3. **Test with both present**: Ensure whole document takes priority +4. **Test selective loading**: Verify only needed sections are loaded (if applicable) + +### Complete Reference + +**[โ†’ Document Sharding Guide](../../../../docs/document-sharding-guide.md)** - Comprehensive guide with examples + +**BMM Examples**: + +- Full Load: `src/modules/bmm/workflows/2-plan-workflows/prd/` +- Selective Load: `src/modules/bmm/workflows/4-implementation/epic-tech-context/` + +## Web Bundles + +Web bundles allow workflows to be deployed as self-contained packages for web environments. + +### When to Use Web Bundles + +- Deploying workflows to web-based AI platforms +- Creating shareable workflow packages +- Ensuring workflow portability without dependencies +- Publishing workflows for public use + +### Web Bundle Requirements + +1. **Self-Contained**: No external dependencies +2. **No Config Variables**: Cannot use `{config_source}` references +3. **Complete File List**: Every referenced file must be listed +4. **Relative Paths**: Use `.bmad/` root paths (no `{project-root}`) + +### Creating a Web Bundle + +Add this section to your workflow.yaml ensuring critically all dependant files or workflows are listed: + +```yaml +web_bundle: + name: 'workflow-name' + description: 'Workflow description' + author: 'Your Name' + + # Core files (.bmad/-relative paths) + instructions: '.bmad/module/workflows/workflow/instructions.md' + validation: '.bmad/module/workflows/workflow/checklist.md' + template: '.bmad/module/workflows/workflow/template.md' + + # Data files (no config_source allowed) + data_file: '.bmad/module/workflows/workflow/data.csv' + + # Complete file list - CRITICAL! + web_bundle_files: + - '.bmad/module/workflows/workflow/instructions.md' + - '.bmad/module/workflows/workflow/checklist.md' + - '.bmad/module/workflows/workflow/template.md' + - '.bmad/module/workflows/workflow/data.csv' + # Include ALL referenced files +``` + +### Converting Existing Workflows + +1. **Remove Config Dependencies**: + - Replace `{config_source}:variable` with hardcoded values + - Convert `{project-root}/.bmad/` to `.bmad/` + +2. **Inventory All Files**: + - Scan instructions.md for file references + - Check template.md for includes + - List all data files + +3. **Test Completeness**: + - Ensure no missing file references + - Verify all paths are relative to .bmad/ + +### Example: Complete Web Bundle + +```yaml +web_bundle: + name: 'analyze-requirements' + description: 'Requirements analysis workflow' + author: 'BMad Team' + + instructions: '.bmad/bmm/workflows/analyze-requirements/instructions.md' + validation: '.bmad/bmm/workflows/analyze-requirements/checklist.md' + template: '.bmad/bmm/workflows/analyze-requirements/template.md' + + # Data files + techniques_data: '.bmad/bmm/workflows/analyze-requirements/techniques.csv' + patterns_data: '.bmad/bmm/workflows/analyze-requirements/patterns.json' + + # Sub-workflow reference + validation_workflow: '.bmad/bmm/workflows/validate-requirements/workflow.yaml' + + standalone: true + + web_bundle_files: + # Core workflow files + - '.bmad/bmm/workflows/analyze-requirements/instructions.md' + - '.bmad/bmm/workflows/analyze-requirements/checklist.md' + - '.bmad/bmm/workflows/analyze-requirements/template.md' + + # Data files + - '.bmad/bmm/workflows/analyze-requirements/techniques.csv' + - '.bmad/bmm/workflows/analyze-requirements/patterns.json' + + # Sub-workflow and its files + - '.bmad/bmm/workflows/validate-requirements/workflow.yaml' + - '.bmad/bmm/workflows/validate-requirements/instructions.md' + - '.bmad/bmm/workflows/validate-requirements/checklist.md' + + # Shared templates referenced in instructions + - '.bmad/bmm/templates/requirement-item.md' + - '.bmad/bmm/templates/validation-criteria.md' +``` + +## Troubleshooting + +### Variables Not Replaced + +- Check exact name match +- Verify `` tag present +- Ensure step generates the variable + +### Validation Fails + +- Review checklist specificity +- Check for impossible requirements +- Verify checklist matches template + +### Workflow Too Long + +- Combine related steps +- Make sections optional +- Create multiple focused workflows with a parent orchestration +- Reduce elicitation points + +--- + +_For implementation details, see:_ + +- `/src/core/tasks/workflow.xml` - Execution engine +- `/.bmad/bmm/workflows/` - Production examples diff --git a/.bmad/bmb/workflows/create-workflow/workflow-template/checklist.md b/.bmad/bmb/workflows/create-workflow/workflow-template/checklist.md new file mode 100644 index 00000000..ca2d9baf --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow-template/checklist.md @@ -0,0 +1,24 @@ +# {Title} Checklist Validation + +## {Section Foo} + +- [ ] Check 1 +- [ ] Check 2 +- [ ] ... +- [ ] Check n + +... + +## {Section Bar} + +- [ ] Check 1 +- [ ] Check 2 +- [ ] ... +- [ ] Check n + +## Final Validation + +- [ ] Section Foo + - Issue List +- [ ] Section Bar + - Issue List diff --git a/.bmad/bmb/workflows/create-workflow/workflow-template/instructions.md b/.bmad/bmb/workflows/create-workflow/workflow-template/instructions.md new file mode 100644 index 00000000..3d03772e --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow-template/instructions.md @@ -0,0 +1,13 @@ +# PRD Workflow Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-related}/.bmad/{module-code}/workflows/{workflow}/workflow.yaml +Communicate in {communication_language} throughout the workflow process + + + + +... + +... + diff --git a/.bmad/bmb/workflows/create-workflow/workflow-template/template.md b/.bmad/bmb/workflows/create-workflow/workflow-template/template.md new file mode 100644 index 00000000..05e062c9 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow-template/template.md @@ -0,0 +1,9 @@ +# Title + +**Date:** {{date}} + +## {Section 1} + +{{section_1_results}} + +etc... diff --git a/.bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml b/.bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml new file mode 100644 index 00000000..26a36ebb --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml @@ -0,0 +1,39 @@ +# {TITLE} Workflow Template Configuration +name: "{WORKFLOW_CODE}" +description: "{WORKFLOW_DESCRIPTION}" +author: "BMad" + +# Critical variables load from config_source +# Add Additional Config Pulled Variables Here +config_source: "{project-root}/{module-code}/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Required Data Files - HALT if missing! +# optional, can be omitted +brain_techniques: "{installed_path}/{critical-data-file.csv}" # example, can be other formats or URLs + +# Optional docs that if loaded on start to kickstart this workflow or used at some point, these are meant to be suggested inputs for the user +recommended_inputs: # optional, can be omitted + - example_input: "{project-root}/{path/to/file.md}" + +# Module path and component files +installed_path: "{project-root}/.bmad/{module-code}/workflows/{workflow-code}" +template: "{installed_path}/template.md" # optional, can be omitted +instructions: "{installed_path}/instructions.md" # optional, can be omitted +validation: "{installed_path}/checklist.md" # optional, can be omitted + +# Output configuration +default_output_file: "{output_folder}/{file.md}" # optional, can be omitted +validation_output_file: "{output_folder}/{file-validation-report.md}" # optional, can be omitted + +# Tool Requirements (MCP Required Tools or other tools needed to run this workflow) +required_tools: #optional, can be omitted + - "Tool Name": #example, can be omitted if none + description: "Description of why this tool is needed" + link: "https://link-to-tool.com" +# Web Bundle Configuration (optional - for web-deployable workflows) +# IMPORTANT: Web bundles are self-contained and cannot use config_source variables +# All referenced files must be listed in web_bundle_files diff --git a/.bmad/bmb/workflows/create-workflow/workflow.yaml b/.bmad/bmb/workflows/create-workflow/workflow.yaml new file mode 100644 index 00000000..13bdace3 --- /dev/null +++ b/.bmad/bmb/workflows/create-workflow/workflow.yaml @@ -0,0 +1,40 @@ +# Build Workflow - Workflow Builder Configuration +name: create-workflow +description: "Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design." +author: "BMad Builder" + +# Critical variables +config_source: "{project-root}/.bmad/bmb/config.yaml" +custom_workflow_location: "{config_source}:custom_workflow_location" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" + +# Template files for new workflows +template_workflow_yaml: "{workflow_template_path}/workflow.yaml" +template_instructions: "{workflow_template_path}/instructions.md" +template_template: "{workflow_template_path}/template.md" +template_checklist: "{workflow_template_path}/checklist.md" + +# Optional input docs +recommended_inputs: + - existing_workflows: "{project-root}/.bmad/*/workflows/" + - bmm_workflows: "{project-root}/.bmad/bmm/workflows/" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/create-workflow" +template: false # This is an action workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Required data files - CRITICAL for workflow conventions +workflow_creation_guide: "{installed_path}/workflow-creation-guide.md" +workflow_template_path: "{installed_path}/workflow-template" + +# Output configuration - Creates the new workflow folder with all files +# If workflow belongs to a module: Save to module's workflows folder +# If standalone workflow: Save to custom_workflow_location/{{workflow_name}} +module_output_folder: "{project-root}/.bmad/{{target_module}}/workflows/{{workflow_name}}" +standalone_output_folder: "{custom_workflow_location}/{{workflow_name}}" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/edit-agent/README.md b/.bmad/bmb/workflows/edit-agent/README.md new file mode 100644 index 00000000..d1fd89b1 --- /dev/null +++ b/.bmad/bmb/workflows/edit-agent/README.md @@ -0,0 +1,112 @@ +# Edit Agent Workflow + +Interactive workflow for editing existing BMAD Core agents while maintaining best practices and conventions. + +## Purpose + +This workflow helps you refine and improve existing agents by: + +- Analyzing agents against BMAD Core best practices +- Identifying issues and improvement opportunities +- Providing guided editing for specific aspects +- Validating changes against agent standards +- Ensuring consistency with agent architecture + +## When to Use + +Use this workflow when you need to: + +- Fix issues in existing agents +- Add new menu items or workflows +- Improve agent persona or communication style +- Update configuration handling +- Convert between agent types (full/hybrid/standalone) +- Optimize agent structure and clarity + +## What You'll Need + +- Path to the agent file you want to edit (.yaml or .md) +- Understanding of what changes you want to make +- Access to the agent documentation (loaded automatically) + +## Workflow Steps + +1. **Load and analyze target agent** - Provide path to agent file +2. **Analyze against best practices** - Automatic audit of agent structure +3. **Select editing focus** - Choose what aspect to edit +4. **Load relevant documentation** - Auto-loads guides based on your choice +5. **Perform edits** - Review and approve changes iteratively +6. **Validate all changes** - Comprehensive validation checklist +7. **Generate change summary** - Summary of improvements made + +## Editing Options + +The workflow provides 12 focused editing options: + +1. **Fix critical issues** - Address broken references, syntax errors +2. **Add/fix standard config** - Ensure config loading and variable usage +3. **Refine persona** - Improve role, communication style, principles +4. **Update activation** - Modify activation steps and greeting +5. **Manage menu items** - Add, remove, or reorganize commands +6. **Update workflow references** - Fix paths, add new workflows +7. **Enhance menu handlers** - Improve handler logic +8. **Improve command triggers** - Refine asterisk commands +9. **Optimize agent type** - Convert between full/hybrid/standalone +10. **Add new capabilities** - Add menu items, workflows, features +11. **Remove bloat** - Delete unused commands, redundant instructions +12. **Full review and update** - Comprehensive improvements + +## Agent Documentation Loaded + +This workflow automatically loads: + +- **Agent Types Guide** - Understanding full, hybrid, and standalone agents +- **Agent Architecture** - Structure, activation, and menu patterns +- **Command Patterns** - Menu handlers and command triggers +- **Communication Styles** - Persona and communication guidance +- **Workflow Execution Engine** - How agents execute workflows + +## Output + +The workflow modifies your agent file in place, maintaining the original format (YAML or markdown). Changes are reviewed and approved by you before being applied. + +## Best Practices + +- **Start with analysis** - Let the workflow audit your agent first +- **Focus your edits** - Choose specific aspects to improve +- **Review each change** - Approve or modify proposed changes +- **Validate thoroughly** - Use the validation step to catch issues +- **Test after editing** - Invoke the edited agent to verify it works + +## Tips + +- If you're unsure what needs improvement, choose option 12 (Full review) +- For quick fixes, choose the specific option (like option 6 for workflow paths) +- The workflow loads documentation automatically - you don't need to read it first +- You can make multiple rounds of edits in one session +- Use the validation step to ensure you didn't miss anything + +## Related Workflows + +- **create-agent** - Create new agents from scratch +- **edit-workflow** - Edit workflows referenced by agents +- **audit-workflow** - Audit workflows for compliance + +## Example Usage + +``` +User: I want to add a new workflow to the PM agent +Workflow: Analyzes agent โ†’ Loads it โ†’ You choose option 5 (manage menu items) + โ†’ Adds new menu item with workflow reference โ†’ Validates โ†’ Done +``` + +## Activation + +Invoke via BMad Builder agent: + +``` +/bmad:bmb:agents:bmad-builder +Then select: *edit-agent +``` + +Or directly via workflow.xml with this workflow config. diff --git a/.bmad/bmb/workflows/edit-agent/checklist.md b/.bmad/bmb/workflows/edit-agent/checklist.md new file mode 100644 index 00000000..aabd47bf --- /dev/null +++ b/.bmad/bmb/workflows/edit-agent/checklist.md @@ -0,0 +1,112 @@ +# Edit Agent - Validation Checklist + +Use this checklist to validate agent edits meet BMAD Core standards. + +## Agent Structure Validation + +- [ ] Agent file format is valid (YAML or markdown/XML) +- [ ] Agent type is clearly identified (full, hybrid, standalone) +- [ ] File naming follows convention: `{agent-name}.agent.yaml` or `{agent-name}.agent.md` + +## Persona Validation + +- [ ] Role is clearly defined and specific +- [ ] Identity/purpose articulates what the agent does +- [ ] Communication style is specified (if custom style desired) +- [ ] Principles are listed and actionable (if applicable) + +## Activation Validation + +- [ ] Step 1: Loads persona from current agent file +- [ ] Step 2: Loads config file (if agent needs user context) +- [ ] Step 3: Sets user context variables (user_name, etc.) +- [ ] Step 4: Displays greeting using user_name and shows menu +- [ ] Step 5: WAITs for user input (doesn't auto-execute) +- [ ] Step 6: Processes user selection (number or trigger text) +- [ ] Step 7: Executes appropriate menu handler + +## Menu Validation + +- [ ] All menu items numbered sequentially +- [ ] Each item has cmd attribute with asterisk trigger (*help, *create, etc.) +- [ ] Workflow paths are correct (if workflow attribute present) +- [ ] Help command is present (\*help) +- [ ] Exit command is present (\*exit) +- [ ] Menu items are in logical order + +## Configuration Validation + +- [ ] Config file path is correct for module +- [ ] Config variables loaded in activation step 2 +- [ ] Error handling present if config fails to load +- [ ] user_name used in greeting and communication +- [ ] communication_language used for output +- [ ] output_folder used for file outputs (if applicable) + +## Menu Handler Validation + +- [ ] menu-handlers section is present +- [ ] Workflow handler loads {project-root}/.bmad/core/tasks/workflow.xml +- [ ] Workflow handler passes yaml path as 'workflow-config' parameter +- [ ] Handlers check for attributes (workflow, exec, tmpl, data, action) +- [ ] Handler logic is complete and follows patterns + +## Workflow Integration Validation + +- [ ] All workflow paths exist and are correct +- [ ] Workflow paths use {project-root} variable +- [ ] Workflows are appropriate for agent's purpose +- [ ] Workflow parameters are passed correctly + +## Communication Validation + +- [ ] Agent communicates in {communication_language} +- [ ] Communication style matches persona +- [ ] Error messages are clear and helpful +- [ ] Confirmation messages for user actions + +## Rules Validation + +- [ ] Rules section defines agent behavior clearly +- [ ] File loading rules are specified +- [ ] Menu trigger format rules are clear +- [ ] Communication rules align with persona + +## Quality Checks + +- [ ] No placeholder text remains ({{AGENT_NAME}}, {ROLE}, etc.) +- [ ] No broken references or missing files +- [ ] Syntax is valid (YAML or XML) +- [ ] Indentation is consistent +- [ ] Agent purpose is clear from reading persona alone + +## Type-Specific Validation + +### Full Agent + +- [ ] Has complete menu system with multiple items +- [ ] Loads config file for user context +- [ ] Supports multiple workflows +- [ ] Session management is clear + +### Hybrid Agent + +- [ ] Simplified activation (may skip some steps) +- [ ] Focused set of workflows +- [ ] May or may not have menu +- [ ] Config loading is appropriate + +### Standalone Agent + +- [ ] Single focused purpose +- [ ] Minimal activation (1-3 steps) +- [ ] No menu system +- [ ] Direct execution pattern +- [ ] May not need config file + +## Final Checks + +- [ ] Agent file has been saved +- [ ] File path is in correct module directory +- [ ] Agent is ready for testing +- [ ] Documentation is updated (if needed) diff --git a/.bmad/bmb/workflows/edit-agent/instructions.md b/.bmad/bmb/workflows/edit-agent/instructions.md new file mode 100644 index 00000000..49832760 --- /dev/null +++ b/.bmad/bmb/workflows/edit-agent/instructions.md @@ -0,0 +1,290 @@ +# Edit Agent - Agent Editor Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/edit-agent/workflow.yaml +This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs +The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them +Communicate all responses in {communication_language} + + + + +What is the path to the agent you want to edit? + +Load the agent file from the provided path +Load ALL agent documentation to inform understanding: + +- Agent types guide: {agent_types} +- Agent architecture: {agent_architecture} +- Command patterns: {agent_commands} +- Communication styles: {communication_styles} +- Workflow execution engine: {workflow_execution_engine} + + +Analyze the agent structure thoroughly: + +- Parse persona (role, identity, communication_style, principles) +- Understand activation flow and steps +- Map menu items and their workflows +- Identify configuration dependencies +- Assess agent type (full, hybrid, standalone) +- Check workflow references for validity +- Evaluate against best practices from loaded guides + + +Reflect understanding back to {user_name}: + +Present a warm, conversational summary adapted to the agent's complexity: + +- What this agent does (its role and purpose) +- How it's structured (type, menu items, workflows) +- What you notice (strengths, potential improvements, issues) +- Your initial assessment of its health + +Be conversational, not clinical. Help {user_name} see their agent through your eyes. + + +Does this match your understanding of what this agent should do? +agent_understanding + + + +Understand WHAT the user wants to improve and WHY before diving into edits + +Engage in collaborative discovery: + +Ask open-ended questions to understand their goals: + +- What prompted you to want to edit this agent? +- What isn't working the way you'd like? +- Are there specific behaviors you want to change? +- Is there functionality you want to add or remove? +- How do users interact with this agent? What feedback have they given? + +Listen for clues about: + +- Functional issues (broken references, missing workflows) +- User experience issues (confusing menu, unclear communication) +- Performance issues (too slow, too verbose, not adaptive enough) +- Maintenance issues (hard to update, bloated, inconsistent) +- Integration issues (doesn't work well with other agents/workflows) + + +Based on their responses and your analysis from step 1, identify improvement opportunities: + +Organize by priority and user goals: + +- CRITICAL issues blocking functionality +- IMPORTANT improvements enhancing user experience +- NICE-TO-HAVE enhancements for polish + +Present these conversationally, explaining WHY each matters and HOW it would help. + + +Collaborate on priorities: + +Don't just list options - discuss them: + +- "I noticed {{issue}} - this could cause {{problem}}. Does this concern you?" +- "The agent could be more {{improvement}} which would help when {{use_case}}. Worth exploring?" +- "Based on what you said about {{user_goal}}, we might want to {{suggestion}}. Thoughts?" + +Let the conversation flow naturally. Build a shared vision of what "better" looks like. + + +improvement_goals + + + +Work iteratively - improve, review, refine. Never dump all changes at once. + +For each improvement area, facilitate collaboratively: + +1. **Explain the current state and why it matters** + - Show relevant sections of the agent + - Explain how it works now and implications + - Connect to user's goals from step 2 + +2. **Propose improvements with rationale** + - Suggest specific changes that align with best practices + - Explain WHY each change helps + - Provide examples from the loaded guides when helpful + - Show before/after comparisons for clarity + +3. **Collaborate on the approach** + - Ask if the proposed change addresses their need + - Invite modifications or alternative approaches + - Explain tradeoffs when relevant + - Adapt based on their feedback + +4. **Apply changes iteratively** + - Make one focused improvement at a time + - Show the updated section + - Confirm it meets their expectation + - Move to next improvement or refine current one + + +Common improvement patterns to facilitate: + +**If fixing broken references:** + +- Identify all broken paths +- Explain what each reference should point to +- Verify new paths exist before updating +- Update and confirm working + +**If refining persona/communication:** + +- Review current persona definition +- Discuss desired communication style with examples +- Explore communication styles guide for patterns +- Refine language to match intent +- Test tone with example interactions + +**If updating activation:** + +- Walk through current activation flow +- Identify bottlenecks or confusion points +- Propose streamlined flow +- Ensure config loading works correctly +- Verify all session variables are set + +**If managing menu items:** + +- Review current menu organization +- Discuss if structure serves user mental model +- Add/remove/reorganize as needed +- Ensure all workflow references are valid +- Update triggers to be intuitive + +**If enhancing menu handlers:** + +- Explain current handler logic +- Identify where handlers could be smarter +- Propose enhanced logic based on agent architecture patterns +- Ensure handlers properly invoke workflows + +**If optimizing agent type:** + +- Discuss whether current type fits use case +- Explain characteristics of full/hybrid/standalone +- If converting, guide through structural changes +- Ensure all pieces align with new type + + +Throughout improvements, educate when helpful: + +Share insights from the guides naturally: + +- "The agent architecture guide suggests {{pattern}} for this scenario" +- "Looking at the command patterns, we could use {{approach}}" +- "The communication styles guide has a great example of {{technique}}" + +Connect improvements to broader BMAD principles without being preachy. + + +After each significant change: + +- "Does this feel right for what you're trying to achieve?" +- "Want to refine this further, or move to the next improvement?" +- "Is there anything about this change that concerns you?" + + +improvement_implementation + + + +Run comprehensive validation conversationally: + +Don't just check boxes - explain what you're validating and why it matters: + +- "Let me verify all the workflow paths resolve correctly..." +- "Checking that the activation flow works smoothly..." +- "Making sure menu handlers are wired up properly..." +- "Validating config loading is robust..." + + +Load validation checklist: {installed_path}/checklist.md +Check all items from checklist systematically + + + Present issues conversationally: + +Explain what's wrong and implications: + +- "I found {{issue}} which could cause {{problem}}" +- "The {{component}} needs {{fix}} because {{reason}}" + +Propose fixes immediately: + +- "I can fix this by {{solution}}. Should I?" +- "We have a couple options here: {{option1}} or {{option2}}. Thoughts?" + + +Fix approved issues and re-validate + + + + Confirm success warmly: + +"Excellent! Everything validates cleanly: + +- All paths resolve correctly +- Activation flow is solid +- Menu structure is clear +- Handlers work properly +- Config loading is robust + +Your agent is in great shape." + + + +validation_results + + + +Create a conversational summary of what improved: + +Tell the story of the transformation: + +- "We started with {{initial_state}}" +- "You wanted to {{user_goals}}" +- "We made these key improvements: {{changes_list}}" +- "Now your agent {{improved_capabilities}}" + +Highlight the impact: + +- "This means users will experience {{benefit}}" +- "The agent is now more {{quality}}" +- "It follows best practices for {{patterns}}" + + +Guide next steps based on changes made: + +If significant structural changes: + +- "Since we restructured the activation, you should test the agent with a real user interaction" + +If workflow references changed: + +- "The agent now uses {{new_workflows}} - make sure those workflows are up to date" + +If this is part of larger module work: + +- "This agent is part of {{module}} - consider if other agents need similar improvements" + +Be a helpful guide to what comes next, not just a task completer. + + +Would you like to: + +- Test the edited agent by invoking it +- Edit another agent +- Make additional refinements to this one +- Return to your module work + + +completion_summary + + + diff --git a/.bmad/bmb/workflows/edit-agent/workflow.yaml b/.bmad/bmb/workflows/edit-agent/workflow.yaml new file mode 100644 index 00000000..c234edd0 --- /dev/null +++ b/.bmad/bmb/workflows/edit-agent/workflow.yaml @@ -0,0 +1,33 @@ +# Edit Agent - Agent Editor Configuration +name: "edit-agent" +description: "Edit existing BMAD agents while following all best practices and conventions" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +communication_language: "{config_source}:communication_language" +user_name: "{config_source}:user_name" + +# Required Data Files - Critical for understanding agent conventions +agent_types: "{project-root}/.bmad/bmb/workflows/create-agent/agent-types.md" +agent_architecture: "{project-root}/.bmad/bmb/workflows/create-agent/agent-architecture.md" +agent_commands: "{project-root}/.bmad/bmb/workflows/create-agent/agent-command-patterns.md" +communication_styles: "{project-root}/.bmad/bmb/workflows/create-agent/communication-styles.md" + +# Workflow execution engine reference +workflow_execution_engine: "{project-root}/.bmad/core/tasks/workflow.xml" + +# Optional docs that can be used to understand the target agent +recommended_inputs: + - target_agent: "Path to the agent.yaml or agent.md file to edit" + - example_agents: "{project-root}/.bmad/bmm/agents/" + - agent_activation_rules: "{project-root}/src/utility/models/agent-activation-ide.xml" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/edit-agent" +template: false # This is an action workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/edit-module/README.md b/.bmad/bmb/workflows/edit-module/README.md new file mode 100644 index 00000000..6847cf57 --- /dev/null +++ b/.bmad/bmb/workflows/edit-module/README.md @@ -0,0 +1,187 @@ +# Edit Module Workflow + +Interactive workflow for editing existing BMAD modules, including structure, agents, workflows, configuration, and documentation. + +## Purpose + +This workflow helps you improve and maintain BMAD modules by: + +- Analyzing module structure against best practices +- Managing agents and workflows within the module +- Updating configuration and documentation +- Ensuring cross-module integration works correctly +- Maintaining installer configuration (for source modules) + +## When to Use + +Use this workflow when you need to: + +- Add new agents or workflows to a module +- Update module configuration +- Improve module documentation +- Reorganize module structure +- Set up cross-module workflow sharing +- Fix issues in module organization +- Update installer configuration + +## What You'll Need + +- Path to the module directory you want to edit +- Understanding of what changes you want to make +- Access to module documentation (loaded automatically) + +## Workflow Steps + +1. **Load and analyze target module** - Provide path to module directory +2. **Analyze against best practices** - Automatic audit of module structure +3. **Select editing focus** - Choose what aspect to edit +4. **Load relevant documentation and tools** - Auto-loads guides and workflows +5. **Perform edits** - Review and approve changes iteratively +6. **Validate all changes** - Comprehensive validation checklist +7. **Generate change summary** - Summary of improvements made + +## Editing Options + +The workflow provides 12 focused editing options: + +1. **Fix critical issues** - Address missing files, broken references +2. **Update module config** - Edit config.yaml fields +3. **Manage agents** - Add, edit, or remove agents +4. **Manage workflows** - Add, edit, or remove workflows +5. **Update documentation** - Improve README files and guides +6. **Reorganize structure** - Fix directory organization +7. **Add new agent** - Create and integrate new agent +8. **Add new workflow** - Create and integrate new workflow +9. **Update installer** - Modify installer configuration (source only) +10. **Cross-module integration** - Set up workflow sharing with other modules +11. **Remove deprecated items** - Delete unused agents, workflows, or files +12. **Full module review** - Comprehensive analysis and improvements + +## Integration with Other Workflows + +This workflow integrates with: + +- **edit-agent** - For editing individual agents +- **edit-workflow** - For editing individual workflows +- **create-agent** - For adding new agents +- **create-workflow** - For adding new workflows + +When you select options to manage agents or workflows, the appropriate specialized workflow is invoked automatically. + +## Module Structure + +A proper BMAD module has: + +``` +module-code/ +โ”œโ”€โ”€ agents/ # Agent definitions +โ”‚ โ””โ”€โ”€ *.agent.yaml +โ”œโ”€โ”€ workflows/ # Workflow definitions +โ”‚ โ””โ”€โ”€ workflow-name/ +โ”‚ โ”œโ”€โ”€ workflow.yaml +โ”‚ โ”œโ”€โ”€ instructions.md +โ”‚ โ”œโ”€โ”€ checklist.md +โ”‚ โ””โ”€โ”€ README.md +โ”œโ”€โ”€ config.yaml # Module configuration +โ””โ”€โ”€ README.md # Module documentation +``` + +## Standard Module Config + +Every module config.yaml should have: + +```yaml +module_name: 'Full Module Name' +module_code: 'xyz' +user_name: 'User Name' +communication_language: 'english' +output_folder: 'path/to/output' +``` + +Optional fields may be added for module-specific needs. + +## Cross-Module Integration + +Modules can share workflows: + +```yaml +# In agent menu item: +workflow: '{project-root}/.bmad/other-module/workflows/shared-workflow/workflow.yaml' +``` + +Common patterns: + +- BMM uses CIS brainstorming workflows +- All modules can use core workflows +- Modules can invoke each other's workflows + +## Output + +The workflow modifies module files in place, including: + +- config.yaml +- Agent files +- Workflow files +- README and documentation files +- Directory structure (if reorganizing) + +Changes are reviewed and approved by you before being applied. + +## Best Practices + +- **Start with analysis** - Let the workflow audit your module first +- **Use specialized workflows** - Let edit-agent and edit-workflow handle detailed edits +- **Update documentation** - Keep README files current with changes +- **Validate thoroughly** - Use the validation step to catch structural issues +- **Test after editing** - Invoke agents and workflows to verify they work + +## Tips + +- For adding agents/workflows, use options 7-8 to create and integrate in one step +- For quick config changes, use option 2 (update module config) +- Cross-module integration (option 10) helps set up workflow sharing +- Full module review (option 12) is great for inherited or legacy modules +- The workflow handles path updates when you reorganize structure + +## Source vs Installed Modules + +**Source modules** (in src/modules/): + +- Have installer files in tools/cli/installers/ +- Can configure web bundles +- Are the development source of truth + +**Installed modules** (in .bmad/): + +- Are deployed to target projects +- Use config.yaml for user customization +- Are compiled from source during installation + +This workflow works with both, but installer options only apply to source modules. + +## Example Usage + +``` +User: I want to add a new workflow to BMM for API design +Workflow: Analyzes BMM โ†’ You choose option 8 (add new workflow) + โ†’ Invokes create-workflow โ†’ Creates workflow + โ†’ Integrates it into module โ†’ Updates README โ†’ Done +``` + +## Activation + +Invoke via BMad Builder agent: + +``` +/bmad:bmb:agents:bmad-builder +Then select: *edit-module +``` + +Or directly via workflow.xml with this workflow config. + +## Related Resources + +- **Module Structure Guide** - Comprehensive module architecture documentation +- **BMM Module** - Example of full-featured module +- **BMB Module** - Example of builder/tooling module +- **CIS Module** - Example of workflow library module diff --git a/.bmad/bmb/workflows/edit-module/checklist.md b/.bmad/bmb/workflows/edit-module/checklist.md new file mode 100644 index 00000000..7ea6e985 --- /dev/null +++ b/.bmad/bmb/workflows/edit-module/checklist.md @@ -0,0 +1,165 @@ +# Edit Module - Validation Checklist + +Use this checklist to validate module edits meet BMAD Core standards. + +## Module Structure Validation + +- [ ] Module has clear 3-letter code (bmm, bmb, cis, etc.) +- [ ] Module is in correct location (src/modules/ for source, .bmad/ for installed) +- [ ] agents/ directory exists +- [ ] workflows/ directory exists +- [ ] config.yaml exists in module root +- [ ] README.md exists in module root +- [ ] Directory structure follows BMAD conventions + +## Configuration Validation + +### Required Fields + +- [ ] module_name is descriptive and clear +- [ ] module_code is 3-letter code matching directory name +- [ ] user_name field present +- [ ] communication_language field present +- [ ] output_folder field present + +### Optional Fields (if used) + +- [ ] custom_agent_location documented +- [ ] custom_module_location documented +- [ ] Module-specific fields documented in README + +### File Quality + +- [ ] config.yaml is valid YAML syntax +- [ ] No duplicate keys +- [ ] Values are appropriate types (strings, paths, etc.) +- [ ] Comments explain non-obvious fields + +## Agent Validation + +### Agent Files + +- [ ] All agents in agents/ directory +- [ ] Agent files follow naming: {agent-name}.agent.yaml or .md +- [ ] Agent filenames use kebab-case +- [ ] No orphaned or temporary agent files + +### Agent Content + +- [ ] Each agent has clear role and purpose +- [ ] Agents reference workflows correctly +- [ ] Agent workflow paths are valid +- [ ] Agents load module config correctly (if needed) +- [ ] Agent menu items reference existing workflows + +### Agent Integration + +- [ ] All agents listed in module README +- [ ] Agent relationships documented (if applicable) +- [ ] Cross-agent workflows properly linked + +## Workflow Validation + +### Workflow Structure + +- [ ] All workflows in workflows/ directory +- [ ] Each workflow directory has workflow.yaml +- [ ] Each workflow directory has instructions.md +- [ ] Workflow directories use kebab-case naming +- [ ] No orphaned or incomplete workflow directories + +### Workflow Content + +- [ ] workflow.yaml is valid YAML +- [ ] workflow.yaml has name field +- [ ] workflow.yaml has description field +- [ ] workflow.yaml has author field +- [ ] instructions.md has proper structure +- [ ] Workflow steps are numbered and logical + +### Workflow Integration + +- [ ] All workflows listed in module README +- [ ] Workflow paths in agents are correct +- [ ] Cross-module workflow references are valid +- [ ] Sub-workflow references exist + +## Documentation Validation + +### Module README + +- [ ] Module README describes purpose clearly +- [ ] README lists all agents with descriptions +- [ ] README lists all workflows with descriptions +- [ ] README includes installation instructions (if applicable) +- [ ] README explains module's role in BMAD ecosystem + +### Workflow READMEs + +- [ ] Each workflow has its own README.md +- [ ] Workflow READMEs explain purpose +- [ ] Workflow READMEs list inputs/outputs +- [ ] Workflow READMEs include usage examples + +### Other Documentation + +- [ ] Usage guides present (if needed) +- [ ] Architecture docs present (if complex module) +- [ ] Examples provided (if applicable) + +## Cross-References Validation + +- [ ] Agent workflow references point to existing workflows +- [ ] Workflow sub-workflow references are valid +- [ ] Cross-module references use correct paths +- [ ] Config file paths use {project-root} correctly +- [ ] No hardcoded absolute paths + +## Installer Validation (Source Modules Only) + +- [ ] Installer script exists in tools/cli/installers/ +- [ ] Installer script name: install-{module-code}.js +- [ ] Module metadata in installer is correct +- [ ] Web bundle configuration valid (if applicable) +- [ ] Installation paths are correct +- [ ] Dependencies documented in installer + +## Web Bundle Validation (If Applicable) + +- [ ] Web bundles configured in workflow.yaml files +- [ ] All referenced files included in web_bundle_files +- [ ] Paths are .bmad/-relative (not project-root) +- [ ] No config_source references in web bundles +- [ ] Invoked workflows included in dependencies + +## Quality Checks + +- [ ] No placeholder text remains ({MODULE_NAME}, {CODE}, etc.) +- [ ] No broken file references +- [ ] No duplicate content across files +- [ ] Consistent naming conventions throughout +- [ ] Module purpose is clear from README alone + +## Integration Checks + +- [ ] Module doesn't conflict with other modules +- [ ] Shared resources properly documented +- [ ] Dependencies on other modules explicit +- [ ] Module can be installed independently (if designed that way) + +## User Experience + +- [ ] Module purpose is immediately clear +- [ ] Agents have intuitive names +- [ ] Workflows have descriptive names +- [ ] Menu items are logically organized +- [ ] Error messages are helpful +- [ ] Success messages confirm actions + +## Final Checks + +- [ ] All files have been saved +- [ ] File permissions are correct +- [ ] Git status shows expected changes +- [ ] Module is ready for testing +- [ ] Documentation accurately reflects changes diff --git a/.bmad/bmb/workflows/edit-module/instructions.md b/.bmad/bmb/workflows/edit-module/instructions.md new file mode 100644 index 00000000..61069d9a --- /dev/null +++ b/.bmad/bmb/workflows/edit-module/instructions.md @@ -0,0 +1,339 @@ +# Edit Module - Module Editor Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/edit-module/workflow.yaml +This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs +The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them +Communicate all responses in {communication_language} + + + + +What is the path to the module you want to edit? (provide path to module directory like .bmad/bmm/ or src/modules/bmm/) + +Load the module directory structure completely: + +- Scan all directories and files +- Load config.yaml +- Load README.md +- List all agents in agents/ directory +- List all workflows in workflows/ directory +- Check for installer files (if in src/modules/) +- Identify any custom structure or patterns + + +Load ALL module documentation to inform understanding: + +- Module structure guide: {module_structure_guide} +- Study reference modules: BMM, BMB, CIS +- Understand BMAD module patterns and conventions + + +Analyze the module deeply: + +- Identify module purpose and role in BMAD ecosystem +- Understand agent organization and relationships +- Map workflow organization and dependencies +- Evaluate config structure and completeness +- Check documentation quality and currency +- Assess installer configuration (if source module) +- Identify cross-module integrations +- Evaluate against best practices from loaded guides + + +Reflect understanding back to {user_name}: + +Present a warm, conversational summary adapted to the module's complexity: + +- What this module provides (its purpose and value in BMAD) +- How it's organized (agents, workflows, structure) +- What you notice (strengths, potential improvements, issues) +- How it fits in the larger BMAD ecosystem +- Your initial assessment based on best practices + +Be conversational and insightful. Help {user_name} see their module through your eyes. + + +Does this match your understanding of what this module should provide? +module_understanding + + + +Understand WHAT the user wants to improve and WHY before diving into edits + +Engage in collaborative discovery: + +Ask open-ended questions to understand their goals: + +- What prompted you to want to edit this module? +- What feedback have you gotten from users of this module? +- Are there specific agents or workflows that need attention? +- Is the module fulfilling its intended purpose? +- Are there new capabilities you want to add? +- How well does it integrate with other modules? +- Is the documentation helping users understand and use the module? + +Listen for clues about: + +- Structural issues (poor organization, hard to navigate) +- Agent/workflow issues (outdated, broken, missing functionality) +- Configuration issues (missing fields, incorrect setup) +- Documentation issues (outdated, incomplete, unclear) +- Integration issues (doesn't work well with other modules) +- Installer issues (installation problems, missing files) +- User experience issues (confusing, hard to use) + + +Based on their responses and your analysis from step 1, identify improvement opportunities: + +Organize by priority and user goals: + +- CRITICAL issues blocking module functionality +- IMPORTANT improvements enhancing user experience +- NICE-TO-HAVE enhancements for polish + +Present these conversationally, explaining WHY each matters and HOW it would help. + + +Collaborate on priorities: + +Don't just list options - discuss them: + +- "I noticed {{issue}} - this could make it hard for users to {{problem}}. Want to address this?" +- "The module could be more {{improvement}} which would help when {{use_case}}. Worth exploring?" +- "Based on what you said about {{user_goal}}, we might want to {{suggestion}}. Thoughts?" + +Let the conversation flow naturally. Build a shared vision of what "better" looks like. + + +improvement_goals + + + +Work iteratively - improve, review, refine. Never dump all changes at once. +For agent and workflow edits, invoke specialized workflows rather than doing inline + +For each improvement area, facilitate collaboratively: + +1. **Explain the current state and why it matters** + - Show relevant sections of the module + - Explain how it works now and implications + - Connect to user's goals from step 2 + +2. **Propose improvements with rationale** + - Suggest specific changes that align with best practices + - Explain WHY each change helps + - Provide examples from reference modules when helpful + - Reference the structure guide's patterns naturally + +3. **Collaborate on the approach** + - Ask if the proposed change addresses their need + - Invite modifications or alternative approaches + - Explain tradeoffs when relevant + - Adapt based on their feedback + +4. **Apply changes appropriately** + - For agent edits: Invoke edit-agent workflow + - For workflow edits: Invoke edit-workflow workflow + - For module-level changes: Make directly and iteratively + - Show updates and confirm satisfaction + + +Common improvement patterns to facilitate: + +**If improving module organization:** + +- Discuss how the current structure serves (or doesn't serve) users +- Propose reorganization that aligns with mental models +- Consider feature-based vs type-based organization +- Plan the reorganization steps +- Update all references after moving files + +**If updating module configuration:** + +- Review current config.yaml fields +- Check for missing standard fields (user_name, communication_language, output_folder) +- Add module-specific fields as needed +- Remove unused or outdated fields +- Ensure config is properly documented + +**If managing agents:** + +- Ask which agent needs attention and why +- For editing existing agent: +- For adding new agent: Guide creation and integration +- For removing agent: Confirm, remove, update references +- Ensure all agent references in workflows remain valid + +**If managing workflows:** + +- Ask which workflow needs attention and why +- For editing existing workflow: +- For adding new workflow: Guide creation and integration +- For removing workflow: Confirm, remove, update agent references +- Ensure all workflow files are properly organized + +**If improving documentation:** + +- Review current README and identify gaps +- Discuss what users need to know +- Update module overview and purpose +- List agents and workflows with clear descriptions +- Add usage examples if helpful +- Ensure installation/setup instructions are clear + +**If setting up cross-module integration:** + +- Identify which workflows from other modules are needed +- Show how to reference workflows properly: {project-root}/.bmad/{{module}}/workflows/{{workflow}}/workflow.yaml +- Document the integration in README +- Ensure dependencies are clear +- Consider adding example usage + +**If updating installer (source modules only):** + +- Review installer script for correctness +- Check web bundle configurations +- Verify all files are included +- Test installation paths +- Update module metadata + + +When invoking specialized workflows: + +Explain why you're handing off: + +- "This agent needs detailed attention. Let me invoke the edit-agent workflow to give it proper focus." +- "The workflow editor can handle this more thoroughly. I'll pass control there." + +After the specialized workflow completes, return and continue: + +- "Great! That agent/workflow is updated. Want to work on anything else in the module?" + + +Throughout improvements, educate when helpful: + +Share insights from the guides naturally: + +- "The module structure guide recommends {{pattern}} for this scenario" +- "Looking at how BMM organized this, we could use {{approach}}" +- "The BMAD convention is to {{pattern}} which helps with {{benefit}}" + +Connect improvements to broader BMAD principles without being preachy. + + +After each significant change: + +- "Does this organization feel more intuitive?" +- "Want to refine this further, or move to the next improvement?" +- "How does this change affect users of the module?" + + +improvement_implementation + + + +Run comprehensive validation conversationally: + +Don't just check boxes - explain what you're validating and why it matters: + +- "Let me verify the module structure is solid..." +- "Checking that all agent workflow references are valid..." +- "Making sure config.yaml has all necessary fields..." +- "Validating documentation is complete and accurate..." +- "Ensuring cross-module references work correctly..." + + +Load validation checklist: {installed_path}/checklist.md +Check all items from checklist systematically + + + Present issues conversationally: + +Explain what's wrong and implications: + +- "I found {{issue}} which could cause {{problem}} for users" +- "The {{component}} needs {{fix}} because {{reason}}" + +Propose fixes immediately: + +- "I can fix this by {{solution}}. Should I?" +- "We have a couple options here: {{option1}} or {{option2}}. Thoughts?" + + +Fix approved issues and re-validate + + + + Confirm success warmly: + +"Excellent! Everything validates cleanly: + +- Module structure is well-organized +- All agent and workflow references are valid +- Configuration is complete +- Documentation is thorough and current +- Cross-module integrations work properly +- Installer is correct (if applicable) + +Your module is in great shape." + + + +validation_results + + + +Create a conversational summary of what improved: + +Tell the story of the transformation: + +- "We started with {{initial_state}}" +- "You wanted to {{user_goals}}" +- "We made these key improvements: {{changes_list}}" +- "Now your module {{improved_capabilities}}" + +Highlight the impact: + +- "This means users will experience {{benefit}}" +- "The module is now more {{quality}}" +- "It follows best practices for {{patterns}}" + + +Guide next steps based on changes made: + +If structure changed significantly: + +- "Since we reorganized the structure, you should update any external references to this module" + +If agents or workflows were updated: + +- "The updated agents/workflows should be tested with real user interactions" + +If cross-module integration was added: + +- "Test the integration with {{other_module}} to ensure it works smoothly" + +If installer was updated: + +- "Test the installation process to verify all files are included correctly" + +If this is part of larger BMAD work: + +- "Consider if patterns from this module could benefit other modules" + +Be a helpful guide to what comes next, not just a task completer. + + +Would you like to: + +- Test the edited module by invoking one of its agents +- Edit a specific agent or workflow in more detail +- Make additional refinements to the module +- Work on a different module + + +completion_summary + + + diff --git a/.bmad/bmb/workflows/edit-module/workflow.yaml b/.bmad/bmb/workflows/edit-module/workflow.yaml new file mode 100644 index 00000000..7d55db41 --- /dev/null +++ b/.bmad/bmb/workflows/edit-module/workflow.yaml @@ -0,0 +1,34 @@ +# Edit Module - Module Editor Configuration +name: "edit-module" +description: "Edit existing BMAD modules (structure, agents, workflows, documentation) while following all best practices" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +communication_language: "{config_source}:communication_language" +user_name: "{config_source}:user_name" + +# Required Data Files - Critical for understanding module conventions +module_structure_guide: "{project-root}/.bmad/bmb/workflows/create-module/module-structure.md" + +# Related workflow editors +agent_editor: "{project-root}/.bmad/bmb/workflows/edit-agent/workflow.yaml" +workflow_editor: "{project-root}/.bmad/bmb/workflows/edit-workflow/workflow.yaml" + +# Optional docs that can be used to understand the target module +recommended_inputs: + - target_module: "Path to the module directory to edit" + - bmm_module: "{project-root}/.bmad/bmm/" + - bmb_module: "{project-root}/.bmad/bmb/" + - cis_module: "{project-root}/.bmad/cis/" + - existing_agents: "{project-root}/.bmad/*/agents/" + - existing_workflows: "{project-root}/.bmad/*/workflows/" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/edit-module" +template: false # This is an action workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/edit-workflow/README.md b/.bmad/bmb/workflows/edit-workflow/README.md new file mode 100644 index 00000000..c307d311 --- /dev/null +++ b/.bmad/bmb/workflows/edit-workflow/README.md @@ -0,0 +1,119 @@ +# Edit Workflow + +## Purpose + +An intelligent workflow editor that helps you modify existing BMAD workflows while adhering to all best practices and conventions documented in the workflow creation guide. + +## Use Case + +When you need to: + +- Fix issues in existing workflows +- Update workflow configuration or metadata +- Improve instruction clarity and specificity +- Add new features or capabilities +- Ensure compliance with BMAD workflow conventions + +## How to Invoke + +``` +workflow edit-workflow +``` + +Or through a BMAD agent: + +``` +*edit-workflow +``` + +## Expected Inputs + +- **Target workflow path**: Path to the workflow.yaml file or workflow folder you want to edit +- **Edit type selection**: Choice of what aspect to modify +- **User approval**: For each proposed change + +## Generated Outputs + +- Modified workflow files (in place) +- Optional change log at: `{output_folder}/workflow-edit-log-{date}.md` + +## Features + +1. **Comprehensive Analysis**: Checks workflows against the official creation guide +2. **Prioritized Issues**: Identifies and ranks issues by importance +3. **Guided Editing**: Step-by-step process with explanations +4. **Best Practices**: Ensures all edits follow BMAD conventions +5. **Instruction Style Optimization**: Convert between intent-based and prescriptive styles +6. **Validation**: Checks all changes for correctness +7. **Change Tracking**: Documents what was modified and why + +## Understanding Instruction Styles + +When editing workflows, one powerful option is **adjusting the instruction style** to better match the workflow's purpose. + +### Intent-Based vs Prescriptive Instructions + +**Intent-Based (Recommended for most workflows)** + +Guides the AI with goals and principles, allowing flexible conversation. + +- **More flexible and conversational** - AI adapts to user responses +- **Better for complex discovery** - Requirements gathering, creative exploration +- **Quality over consistency** - Deep understanding matters more +- **Example**: `Guide user to define their target audience with specific demographics and needs` + +**When to use:** + +- Complex discovery processes (user research, requirements) +- Creative brainstorming and ideation +- Iterative refinement workflows +- Workflows requiring nuanced understanding + +**Prescriptive** + +Provides exact questions with structured options. + +- **More controlled and predictable** - Consistent questions every time +- **Better for simple data collection** - Platform, format, yes/no choices +- **Consistency over quality** - Same execution every run +- **Example**: `What is your target platform? Choose: PC, Console, Mobile, Web` + +**When to use:** + +- Simple data collection (platform, format, binary choices) +- Compliance verification and standards adherence +- Configuration with finite options +- Quick setup wizards + +### Edit Workflow's Style Adjustment Feature + +The **"Adjust instruction style"** editing option (menu option 11) helps you: + +1. **Analyze current style** - Identifies whether workflow is primarily intent-based or prescriptive +2. **Convert between styles** - Transform prescriptive steps to intent-based (or vice versa) +3. **Optimize the mix** - Intelligently recommend the best style for each step +4. **Step-by-step control** - Review and decide on each step individually + +**Common scenarios:** + +- **Make workflow more conversational**: Convert rigid tags to flexible tags for complex steps +- **Make workflow more consistent**: Convert open-ended tags to structured tags for simple data collection +- **Balance both approaches**: Use intent-based for discovery, prescriptive for simple choices + +This feature is especially valuable when converting legacy workflows or adapting workflows for different use cases. + +## Workflow Steps + +1. Load and analyze target workflow +2. Check against best practices +3. Select editing focus +4. Load relevant documentation +5. Perform edits with user approval +6. Validate all changes (optional) +7. Generate change summary + +## Requirements + +- Access to workflow creation guide +- Read/write permissions for target workflow +- Understanding of BMAD workflow types diff --git a/.bmad/bmb/workflows/edit-workflow/checklist.md b/.bmad/bmb/workflows/edit-workflow/checklist.md new file mode 100644 index 00000000..1b2fa26e --- /dev/null +++ b/.bmad/bmb/workflows/edit-workflow/checklist.md @@ -0,0 +1,70 @@ +# Edit Workflow - Validation Checklist + +## Pre-Edit Analysis + +- [ ] Target workflow.yaml file successfully loaded and parsed +- [ ] All referenced workflow files identified and accessible +- [ ] Workflow type correctly determined (document/action/interactive/autonomous/meta) +- [ ] Best practices guide loaded and available for reference + +## Edit Execution Quality + +- [ ] User clearly informed of identified issues with priority levels +- [ ] Edit menu presented with all 8 standard options +- [ ] Selected edit type matches the actual changes made +- [ ] All proposed changes explained with reasoning before application + +## File Integrity + +- [ ] All modified files maintain valid YAML/Markdown syntax +- [ ] No placeholders like {TITLE} or {WORKFLOW_CODE} remain in edited files +- [ ] File paths use proper variable substitution ({project-root}, {installed_path}) +- [ ] All file references resolve to actual paths + +## Convention Compliance + +- [ ] Instructions.md contains critical workflow engine reference header +- [ ] Instructions.md contains workflow.yaml processing reference header +- [ ] All step numbers are sequential (1, 2, 3... or 1a, 1b, 2a...) +- [ ] Each step has both n= attribute and goal= attribute +- [ ] Variable names use snake_case consistently +- [ ] Template variables (if any) match tags exactly + +## Instruction Quality + +- [ ] Each step has a single, clear goal stated +- [ ] Instructions are specific with quantities (e.g., "3-5 items" not "several items") +- [ ] Optional steps marked with optional="true" attribute +- [ ] Repeating steps use proper repeat syntax (repeat="3" or repeat="until-complete") +- [ ] User prompts use tags and wait for response +- [ ] Actions use tags for required operations + +## Validation Criteria (if checklist.md exists) + +- [ ] All checklist items are measurable and specific +- [ ] No vague criteria like "Good documentation" present +- [ ] Checklist organized into logical sections +- [ ] Each criterion can be objectively verified as true/false + +## Change Documentation + +- [ ] All changes logged with description of what and why +- [ ] Change summary includes list of modified files +- [ ] Improvements clearly articulated in relation to best practices +- [ ] Next steps or recommendations provided + +## Post-Edit Verification + +- [ ] Edited workflow follows patterns from production examples +- [ ] No functionality broken by the edits +- [ ] Workflow ready for testing or production use +- [ ] User given option to test the edited workflow + +## Common Issues Resolved + +- [ ] Missing critical headers added if they were absent +- [ ] Broken variable references fixed +- [ ] Vague instructions made specific +- [ ] Template-only workflows have template.md file +- [ ] Action workflows have template: false in workflow.yaml +- [ ] Step count reasonable (5-10 steps maximum unless justified) diff --git a/.bmad/bmb/workflows/edit-workflow/instructions.md b/.bmad/bmb/workflows/edit-workflow/instructions.md new file mode 100644 index 00000000..fd029eed --- /dev/null +++ b/.bmad/bmb/workflows/edit-workflow/instructions.md @@ -0,0 +1,342 @@ +# Edit Workflow - Workflow Editor Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/edit-workflow/workflow.yaml +This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs +The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them +Communicate all responses in {communication_language} + + + + +What is the path to the workflow you want to edit? (provide path to workflow.yaml or workflow directory) + +Load the target workflow completely: + +- workflow.yaml configuration +- instructions.md (if exists) +- template.md (if exists) +- checklist.md (if exists) +- Any additional data files referenced + + +Load ALL workflow documentation to inform understanding: + +- Workflow creation guide: {workflow_creation_guide} +- Workflow execution engine: {workflow_execution_engine} +- Study example workflows from: {project-root}/.bmad/bmm/workflows/ + + +Analyze the workflow deeply: + +- Identify workflow type (document, action, interactive, autonomous, meta) +- Understand purpose and user journey +- Map out step flow and logic +- Check variable consistency across files +- Evaluate instruction style (intent-based vs prescriptive) +- Assess template structure (if applicable) +- Review validation criteria +- Identify config dependencies +- Check for web bundle configuration +- Evaluate against best practices from loaded guides + + +Reflect understanding back to {user_name}: + +Present a warm, conversational summary adapted to the workflow's complexity: + +- What this workflow accomplishes (its purpose and value) +- How it's structured (type, steps, interactive points) +- What you notice (strengths, potential improvements, issues) +- Your initial assessment based on best practices +- How it fits in the larger BMAD ecosystem + +Be conversational and insightful. Help {user_name} see their workflow through your eyes. + + +Does this match your understanding of what this workflow should accomplish? +workflow_understanding + + + +Understand WHAT the user wants to improve and WHY before diving into edits + +Engage in collaborative discovery: + +Ask open-ended questions to understand their goals: + +- What prompted you to want to edit this workflow? +- What feedback have you gotten from users running it? +- Are there specific steps that feel clunky or confusing? +- Is the workflow achieving its intended outcome? +- Are there new capabilities you want to add? +- Is the instruction style working well for your users? + +Listen for clues about: + +- User experience issues (confusing steps, unclear instructions) +- Functional issues (broken references, missing validation) +- Performance issues (too many steps, repetitive, tedious) +- Maintainability issues (hard to update, bloated, inconsistent variables) +- Instruction style mismatch (too prescriptive when should be adaptive, or vice versa) +- Integration issues (doesn't work well with other workflows) + + +Based on their responses and your analysis from step 1, identify improvement opportunities: + +Organize by priority and user goals: + +- CRITICAL issues blocking successful runs +- IMPORTANT improvements enhancing user experience +- NICE-TO-HAVE enhancements for polish + +Present these conversationally, explaining WHY each matters and HOW it would help. + + +Assess instruction style fit: + +Based on the workflow's purpose and your analysis: + +- Is the current style (intent-based vs prescriptive) appropriate? +- Would users benefit from more/less structure? +- Are there steps that should be more adaptive? +- Are there steps that need more specificity? + +Discuss style as part of improvement discovery, not as a separate concern. + + +Collaborate on priorities: + +Don't just list options - discuss them: + +- "I noticed {{issue}} - this could make users feel {{problem}}. Want to address this?" +- "The workflow could be more {{improvement}} which would help when {{use_case}}. Worth exploring?" +- "Based on what you said about {{user_goal}}, we might want to {{suggestion}}. Thoughts?" + +Let the conversation flow naturally. Build a shared vision of what "better" looks like. + + +improvement_goals + + + +Work iteratively - improve, review, refine. Never dump all changes at once. + +For each improvement area, facilitate collaboratively: + +1. **Explain the current state and why it matters** + - Show relevant sections of the workflow + - Explain how it works now and implications + - Connect to user's goals from step 2 + +2. **Propose improvements with rationale** + - Suggest specific changes that align with best practices + - Explain WHY each change helps + - Provide examples from the loaded guides when helpful + - Show before/after comparisons for clarity + - Reference the creation guide's patterns naturally + +3. **Collaborate on the approach** + - Ask if the proposed change addresses their need + - Invite modifications or alternative approaches + - Explain tradeoffs when relevant + - Adapt based on their feedback + +4. **Apply changes iteratively** + - Make one focused improvement at a time + - Show the updated section + - Confirm it meets their expectation + - Move to next improvement or refine current one + + +Common improvement patterns to facilitate: + +**If refining instruction style:** + +- Discuss where the workflow feels too rigid or too loose +- Identify steps that would benefit from intent-based approach +- Identify steps that need prescriptive structure +- Convert between styles thoughtfully, explaining tradeoffs +- Show how each style serves the user differently +- Test proposed changes by reading them aloud + +**If improving step flow:** + +- Walk through the user journey step by step +- Identify friction points or redundancy +- Propose streamlined flow +- Consider where steps could merge or split +- Ensure each step has clear goal and value +- Check that repeat conditions make sense + +**If fixing variable consistency:** + +- Identify variables used across files +- Find mismatches in naming or usage +- Propose consistent naming scheme +- Update all files to match +- Verify variables are defined in workflow.yaml + +**If enhancing validation:** + +- Review current checklist (if exists) +- Discuss what "done well" looks like +- Make criteria specific and measurable +- Add validation for new features +- Remove outdated or vague criteria + +**If updating configuration:** + +- Review standard config pattern +- Check if user context variables are needed +- Ensure output_folder, user_name, communication_language are used appropriately +- Add missing config dependencies +- Clean up unused config fields + +**If adding/updating templates:** + +- Understand the document structure needed +- Design template variables that match instruction outputs +- Ensure variable names are descriptive snake_case +- Include proper metadata headers +- Test that all variables can be filled + +**If configuring web bundle:** + +- Identify all files the workflow depends on +- Check for invoked workflows (must be included) +- Verify paths are .bmad/-relative +- Remove config_source dependencies +- Build complete file list + +**If improving user interaction:** + +- Find places where could be more open-ended +- Add educational context where users might be lost +- Remove unnecessary confirmation steps +- Make questions clearer and more purposeful +- Balance guidance with user autonomy + + +Throughout improvements, educate when helpful: + +Share insights from the guides naturally: + +- "The creation guide recommends {{pattern}} for workflows like this" +- "Looking at examples in BMM, this type of step usually {{approach}}" +- "The execution engine expects {{structure}} for this to work properly" + +Connect improvements to broader BMAD principles without being preachy. + + +After each significant change: + +- "Does this flow feel better for what you're trying to achieve?" +- "Want to refine this further, or move to the next improvement?" +- "How does this change affect the user experience?" + + +improvement_implementation + + + +Run comprehensive validation conversationally: + +Don't just check boxes - explain what you're validating and why it matters: + +- "Let me verify all file references resolve correctly..." +- "Checking that variables are consistent across all files..." +- "Making sure the step flow is logical and complete..." +- "Validating template variables match instruction outputs..." +- "Ensuring config dependencies are properly set up..." + + +Load validation checklist: {installed_path}/checklist.md +Check all items from checklist systematically + + + Present issues conversationally: + +Explain what's wrong and implications: + +- "I found {{issue}} which could cause {{problem}} when users run this" +- "The {{component}} needs {{fix}} because {{reason}}" + +Propose fixes immediately: + +- "I can fix this by {{solution}}. Should I?" +- "We have a couple options here: {{option1}} or {{option2}}. Thoughts?" + + +Fix approved issues and re-validate + + + + Confirm success warmly: + +"Excellent! Everything validates cleanly: + +- All file references resolve +- Variables are consistent throughout +- Step flow is logical and complete +- Template aligns with instructions (if applicable) +- Config dependencies are set up correctly +- Web bundle is complete (if applicable) + +Your workflow is in great shape." + + + +validation_results + + + +Create a conversational summary of what improved: + +Tell the story of the transformation: + +- "We started with {{initial_state}}" +- "You wanted to {{user_goals}}" +- "We made these key improvements: {{changes_list}}" +- "Now your workflow {{improved_capabilities}}" + +Highlight the impact: + +- "This means users will experience {{benefit}}" +- "The workflow is now more {{quality}}" +- "It follows best practices for {{patterns}}" + + +Guide next steps based on changes made: + +If instruction style changed: + +- "Since we made the workflow more {{style}}, you might want to test it with a real user to see how it feels" + +If template was updated: + +- "The template now has {{new_variables}} - run the workflow to generate a sample document" + +If this is part of larger module work: + +- "This workflow is part of {{module}} - consider if other workflows need similar improvements" + +If web bundle was configured: + +- "The web bundle is now set up - you can test deploying this workflow standalone" + +Be a helpful guide to what comes next, not just a task completer. + + +Would you like to: + +- Test the edited workflow by running it +- Edit another workflow +- Make additional refinements to this one +- Return to your module work + + +completion_summary + + + diff --git a/.bmad/bmb/workflows/edit-workflow/workflow.yaml b/.bmad/bmb/workflows/edit-workflow/workflow.yaml new file mode 100644 index 00000000..1b79b57a --- /dev/null +++ b/.bmad/bmb/workflows/edit-workflow/workflow.yaml @@ -0,0 +1,27 @@ +# Edit Workflow - Workflow Editor Configuration +name: "edit-workflow" +description: "Edit existing BMAD workflows while following all best practices and conventions" +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/.bmad/bmb/config.yaml" +communication_language: "{config_source}:communication_language" +user_name: "{config_source}:user_name" + +# Required Data Files - Critical for understanding workflow conventions +workflow_creation_guide: "{project-root}/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md" +workflow_execution_engine: "{project-root}/.bmad/core/tasks/workflow.xml" + +# Optional docs that can be used to understand the target workflow +recommended_inputs: + - target_workflow: "Path to the workflow.yaml file to edit" + - workflow_examples: "{project-root}/.bmad/bmm/workflows/" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/edit-workflow" +template: false # This is an action workflow - no template needed +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/module-brief/README.md b/.bmad/bmb/workflows/module-brief/README.md new file mode 100644 index 00000000..82ba9935 --- /dev/null +++ b/.bmad/bmb/workflows/module-brief/README.md @@ -0,0 +1,264 @@ +# Module Brief Workflow + +## Overview + +The Module Brief workflow creates comprehensive blueprints for building new BMAD modules using strategic analysis and creative vision. It serves as the essential planning phase that transforms initial ideas into detailed, actionable specifications ready for implementation with the create-module workflow. + +## Key Features + +- **Strategic Module Planning** - Comprehensive analysis from concept to implementation roadmap +- **Multi-Mode Operation** - Interactive, Express, and YOLO modes for different planning needs +- **Creative Vision Development** - Guided process for innovative module concepts and unique value propositions +- **Architecture Design** - Detailed agent and workflow ecosystem planning with interaction models +- **User Journey Mapping** - Scenario-based validation ensuring practical usability +- **Technical Planning** - Infrastructure requirements, dependencies, and complexity assessment +- **Risk Assessment** - Proactive identification of challenges with mitigation strategies +- **Implementation Roadmap** - Phased development plan with clear deliverables and timelines + +## Usage + +### Basic Invocation + +```bash +workflow module-brief +``` + +### With Brainstorming Input + +```bash +# If you have brainstorming results from previous sessions +workflow module-brief --input brainstorming-session-2024-09-26.md +``` + +### Express Mode + +```bash +# For quick essential planning only +workflow module-brief --mode express +``` + +### Configuration + +The workflow uses standard BMB configuration: + +- **output_folder**: Where the module brief will be saved +- **user_name**: Brief author information +- **communication_language**: Language for brief generation +- **date**: Automatic timestamp for versioning + +## Workflow Structure + +### Files Included + +``` +module-brief/ +โ”œโ”€โ”€ workflow.yaml # Configuration and metadata +โ”œโ”€โ”€ instructions.md # Step-by-step execution guide +โ”œโ”€โ”€ template.md # Module brief document structure +โ”œโ”€โ”€ checklist.md # Validation criteria +โ””โ”€โ”€ README.md # This file +``` + +## Workflow Process + +### Phase 1: Foundation and Context (Steps 1-3) + +**Mode Selection and Input Gathering** + +- Choose operational mode (Interactive, Express, YOLO) +- Check for and optionally load existing brainstorming results +- Gather background context and inspiration sources + +**Module Vision Development** + +- Define core problem the module solves +- Identify target user audience and use cases +- Establish unique value proposition and differentiators +- Explore creative themes and personality concepts + +**Module Identity Establishment** + +- Generate module code (kebab-case) with multiple options +- Create compelling, memorable module name +- Select appropriate category (Domain-Specific, Creative, Technical, Business, Personal) +- Define optional personality theme for consistent agent character + +### Phase 2: Architecture Planning (Steps 4-5) + +**Agent Architecture Design** + +- Plan agent team composition and roles +- Define agent archetypes (Orchestrator, Specialist, Helper, Creator, Analyzer) +- Specify personality traits and communication styles +- Map key capabilities and signature commands + +**Workflow Ecosystem Design** + +- Categorize workflows by purpose and complexity: + - **Core Workflows**: Essential value-delivery functions (2-3) + - **Feature Workflows**: Specialized capabilities (3-5) + - **Utility Workflows**: Supporting operations (1-3) +- Define input-process-output flows for each workflow +- Assess complexity levels and implementation priorities + +### Phase 3: Validation and User Experience (Steps 6-7) + +**User Journey Mapping** + +- Create detailed user scenarios and stories +- Map step-by-step usage flows through the module +- Validate end-to-end functionality and value delivery +- Identify potential friction points and optimization opportunities + +**Technical Planning and Requirements** + +- Assess data requirements and storage needs +- Map integration points with other modules and external systems +- Evaluate technical complexity and resource requirements +- Document dependencies and infrastructure needs + +### Phase 4: Success Planning (Steps 8-9) + +**Success Metrics Definition** + +- Establish module success criteria and performance indicators +- Define quality standards and reliability requirements +- Create user experience goals and feedback mechanisms +- Set measurable outcomes for module effectiveness + +**Development Roadmap Creation** + +- Design phased approach with MVP, Enhancement, and Polish phases +- Define deliverables and timelines for each phase +- Prioritize features and capabilities by value and complexity +- Create clear milestones and success checkpoints + +### Phase 5: Enhancement and Risk Management (Steps 10-12) + +**Creative Features and Special Touches** (Optional) + +- Design easter eggs and delightful user interactions +- Plan module lore and thematic consistency +- Add personality quirks and creative responses +- Develop backstories and universe building + +**Risk Assessment and Mitigation** + +- Identify technical, usability, and scope risks +- Develop mitigation strategies for each risk category +- Plan contingency approaches for potential challenges +- Document decision points and alternative paths + +**Final Review and Export Preparation** + +- Comprehensive review of all brief sections +- Validation against quality and completeness criteria +- Preparation for seamless handoff to create-module workflow +- Export readiness confirmation with actionable specifications + +## Output + +### Generated Files + +- **Module Brief Document**: Comprehensive planning document at `{output_folder}/module-brief-{module_code}-{date}.md` +- **Strategic Specifications**: Ready-to-implement blueprint for create-module workflow + +### Output Structure + +The module brief contains detailed specifications across multiple sections: + +1. **Executive Summary** - Vision, category, complexity, target users +2. **Module Identity** - Core concept, value proposition, personality theme +3. **Agent Architecture** - Agent roster, roles, interaction models +4. **Workflow Ecosystem** - Core, feature, and utility workflow specifications +5. **User Scenarios** - Primary use cases, secondary scenarios, user journey +6. **Technical Planning** - Data requirements, integrations, dependencies +7. **Success Metrics** - Success criteria, quality standards, performance targets +8. **Development Roadmap** - Phased implementation plan with deliverables +9. **Creative Features** - Special touches, easter eggs, module lore +10. **Risk Assessment** - Technical, usability, scope risks with mitigation +11. **Implementation Notes** - Priority order, design decisions, open questions +12. **Resources and References** - Inspiration sources, similar modules, technical references + +## Requirements + +- **Creative Vision** - Initial module concept or problem domain +- **Strategic Thinking** - Ability to plan architecture and user experience +- **Brainstorming Results** (optional) - Previous ideation sessions enhance planning quality + +## Best Practices + +### Before Starting + +1. **Gather Inspiration** - Research similar tools, modules, and solutions in your domain +2. **Run Brainstorming Session** - Use ideation techniques to generate initial concepts +3. **Define Success Criteria** - Know what "successful module" means for your context + +### During Execution + +1. **Think User-First** - Always consider the end user experience and value delivery +2. **Be Specific** - Provide concrete examples and detailed specifications rather than abstractions +3. **Validate Early** - Use user scenarios to test if the module concept actually works +4. **Plan Iteratively** - Start with MVP and build complexity through phases + +### After Completion + +1. **Use as Blueprint** - Feed the brief directly into create-module workflow for implementation +2. **Review with Stakeholders** - Validate assumptions and gather feedback before building +3. **Update as Needed** - Treat as living document that evolves with implementation learnings +4. **Reference During Development** - Use as north star for design decisions and scope management + +## Troubleshooting + +### Common Issues + +**Issue**: Stuck on module concept or vision + +- **Solution**: Use creative prompts provided in the workflow +- **Check**: Review existing modules for inspiration and patterns + +**Issue**: Agent or workflow architecture too complex + +- **Solution**: Focus on MVP first, plan enhancement phases for additional complexity +- **Check**: Validate each component against user scenarios + +**Issue**: Technical requirements unclear + +- **Solution**: Research similar modules and their implementation approaches +- **Check**: Consult with technical stakeholders early in planning + +**Issue**: Scope creep during planning + +- **Solution**: Use phased roadmap to defer non-essential features +- **Check**: Regularly validate against core user scenarios and success criteria + +## Customization + +To customize this workflow: + +1. **Modify Template Structure** - Update template.md to add new sections or reorganize content +2. **Extend Creative Prompts** - Add domain-specific ideation techniques in instructions.md +3. **Add Planning Tools** - Integrate additional analysis frameworks or planning methodologies +4. **Customize Validation** - Enhance checklist.md with specific quality criteria for your context + +## Version History + +- **v1.0.0** - Initial release + - Comprehensive strategic module planning + - Multi-mode operation (Interactive, Express, YOLO) + - Creative vision and architecture design tools + - User journey mapping and validation + - Risk assessment and mitigation planning + +## Support + +For issues or questions: + +- Review the workflow creation guide at `/.bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Study existing module examples in `/.bmad/` for patterns and inspiration +- Validate output using `checklist.md` +- Consult module structure guide at `create-module/module-structure.md` + +--- + +_Part of the BMad Method v6 - BMB (Builder) Module_ diff --git a/.bmad/bmb/workflows/module-brief/checklist.md b/.bmad/bmb/workflows/module-brief/checklist.md new file mode 100644 index 00000000..36fdb1f5 --- /dev/null +++ b/.bmad/bmb/workflows/module-brief/checklist.md @@ -0,0 +1,116 @@ +# Module Brief Validation Checklist + +## Core Identity + +- [ ] Module code follows kebab-case convention +- [ ] Module name is clear and memorable +- [ ] Module category is identified +- [ ] Target users are clearly defined +- [ ] Unique value proposition is articulated + +## Vision and Concept + +- [ ] Problem being solved is clearly stated +- [ ] Solution approach is explained +- [ ] Module scope is well-defined +- [ ] Success criteria are measurable + +## Agent Architecture + +- [ ] At least one agent is defined +- [ ] Each agent has a clear role and purpose +- [ ] Agent personalities are defined (if using personality themes) +- [ ] Agent interactions are mapped (for multi-agent modules) +- [ ] Key commands for each agent are listed + +## Workflow Ecosystem + +- [ ] Core workflows (2-3) are identified +- [ ] Each workflow has clear purpose +- [ ] Workflow complexity is assessed +- [ ] Input/output for workflows is defined +- [ ] Workflow categories are logical + +## User Experience + +- [ ] Primary use case is documented +- [ ] User scenarios demonstrate value +- [ ] User journey is realistic +- [ ] Learning curve is considered +- [ ] User feedback mechanism planned + +## Technical Planning + +- [ ] Data requirements are identified +- [ ] Integration points are mapped +- [ ] Dependencies are listed +- [ ] Technical complexity is assessed +- [ ] Performance requirements stated + +## Development Roadmap + +- [ ] Phase 1 MVP is clearly scoped +- [ ] Phase 2 enhancements are outlined +- [ ] Phase 3 polish items listed +- [ ] Timeline estimates provided +- [ ] Deliverables are specific + +## Risk Management + +- [ ] Technical risks identified +- [ ] Usability risks considered +- [ ] Scope risks acknowledged +- [ ] Mitigation strategies provided +- [ ] Open questions documented + +## Creative Elements (Optional) + +- [ ] Personality theme is consistent (if used) +- [ ] Special features add value +- [ ] Module feels cohesive +- [ ] Fun elements don't compromise functionality + +## Documentation Quality + +- [ ] All sections have content (no empty placeholders) +- [ ] Writing is clear and concise +- [ ] Technical terms are explained +- [ ] Examples are provided where helpful +- [ ] Next steps are actionable + +## Implementation Readiness + +- [ ] Brief provides enough detail for create-module workflow +- [ ] Agent specifications sufficient for create-agent workflow +- [ ] Workflow descriptions ready for create-workflow +- [ ] Resource requirements are clear +- [ ] Success metrics are measurable + +## Final Validation + +- [ ] Module concept is viable +- [ ] Scope is achievable +- [ ] Value is clear +- [ ] Brief is complete +- [ ] Ready for development + +## Issues Found + +### Critical Issues + + + +### Recommendations + + + +### Nice-to-Haves + + + +--- + +**Validation Complete:** โฌœ Yes / โฌœ With Issues / โฌœ Needs Revision + +**Validated By:** **\*\*\*\***\_**\*\*\*\*** +**Date:** **\*\*\*\***\_**\*\*\*\*** diff --git a/.bmad/bmb/workflows/module-brief/instructions.md b/.bmad/bmb/workflows/module-brief/instructions.md new file mode 100644 index 00000000..9ffdc352 --- /dev/null +++ b/.bmad/bmb/workflows/module-brief/instructions.md @@ -0,0 +1,267 @@ +# Module Brief Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/.bmad/bmb/workflows/module-brief/workflow.yaml +Communicate in {communication_language} throughout the module brief creation process + + + + +Ask the user which mode they prefer: +1. **Interactive Mode** - Work through each section collaboratively with detailed questions +2. **Express Mode** - Quick essential questions only +3. **YOLO Mode** (#yolo) - Generate complete draft based on minimal input + +Check for available inputs: + +- Brainstorming results from previous sessions +- Existing module ideas or notes +- Similar modules for inspiration + +If brainstorming results exist, offer to load and incorporate them + + + +Ask the user to describe their module idea. Probe for: +- What problem does this module solve? +- Who would use this module? +- What makes this module exciting or unique? +- Any inspiring examples or similar tools? + +If they're stuck, offer creative prompts: + +- "Imagine you're a [role], what tools would make your life easier?" +- "What repetitive tasks could be automated with agents?" +- "What domain expertise could be captured in workflows?" + +module_vision + + + +Based on the vision, work with user to define: + +**Module Code** (kebab-case): + +- Suggest 2-3 options based on their description +- Ensure it's memorable and descriptive + +**Module Name** (friendly): + +- Creative, engaging name that captures the essence + +**Module Category:** + +- Domain-Specific (legal, medical, finance) +- Creative (writing, gaming, music) +- Technical (devops, testing, architecture) +- Business (project management, marketing) +- Personal (productivity, learning) + +**Personality Theme** (optional but fun!): + +- Should the module have a consistent personality across agents? +- Star Trek crew? Fantasy party? Corporate team? Reality show cast? + +module_identity + + + +Help user envision their agent team + +For each agent, capture: + +- **Role**: What's their specialty? +- **Personality**: How do they communicate? (reference communication styles) +- **Key Capabilities**: What can they do? +- **Signature Commands**: 2-3 main commands + +Suggest agent archetypes based on module type: + +- The Orchestrator (manages other agents) +- The Specialist (deep expertise) +- The Helper (utility functions) +- The Creator (generates content) +- The Analyzer (processes and evaluates) + +agent_architecture + + + +Map out the workflow landscape + +Categorize workflows: + +**Core Workflows** (2-3 essential ones): + +- The primary value-delivery workflows +- What users will use most often + +**Feature Workflows** (3-5 specialized): + +- Specific capabilities +- Advanced features + +**Utility Workflows** (1-3 supporting): + +- Setup, configuration +- Maintenance, cleanup + +For each workflow, define: + +- Purpose (one sentence) +- Input โ†’ Process โ†’ Output +- Complexity (simple/standard/complex) + +workflow_ecosystem + + + +Create usage scenarios to validate the design + +Write 2-3 user stories: +"As a [user type], I want to [goal], so that [outcome]" + +Then walk through how they'd use the module: + +1. They load [agent] +2. They run [command/workflow] +3. They get [result] +4. This helps them [achievement] + +This validates the module makes sense end-to-end. + +user_scenarios + + + +Assess technical requirements: + +**Data Requirements:** + +- What data/files does the module need? +- Any external APIs or services? +- Storage or state management needs? + +**Integration Points:** + +- Other BMAD modules it might use +- External tools or platforms +- Import/export formats + +**Complexity Assessment:** + +- Simple (standalone, no dependencies) +- Standard (some integrations, moderate complexity) +- Complex (multiple systems, advanced features) + +technical_planning + + + +Define what success looks like: + +**Module Success Criteria:** + +- What indicates the module is working well? +- How will users measure value? +- What feedback mechanisms? + +**Quality Standards:** + +- Performance expectations +- Reliability requirements +- User experience goals + +success_metrics + + + +Create a phased approach: + +**Phase 1 - MVP (Minimum Viable Module):** + +- 1 primary agent +- 2-3 core workflows +- Basic functionality + +**Phase 2 - Enhancement:** + +- Additional agents +- More workflows +- Refined features + +**Phase 3 - Polish:** + +- Advanced features +- Optimizations +- Nice-to-haves + +development_roadmap + + + +If user wants to add special touches: + +**Easter Eggs:** + +- Hidden commands or responses +- Fun interactions between agents + +**Delighters:** + +- Unexpected helpful features +- Personality quirks +- Creative responses + +**Module Lore:** + +- Backstory for agents +- Thematic elements +- Consistent universe + +creative_features + + + +Identify potential challenges: + +**Technical Risks:** + +- Complex integrations +- Performance concerns +- Dependency issues + +**Usability Risks:** + +- Learning curve +- Complexity creep +- User confusion + +**Scope Risks:** + +- Feature bloat +- Timeline expansion +- Resource constraints + +For each risk, note mitigation strategy. + +risk_assessment + + + +Review all sections with {user_name} +Ensure module brief is ready for create-module workflow + +Would {user_name} like to: + +1. Proceed directly to create-module workflow +2. Save and refine later +3. Generate additional planning documents + + +Inform {user_name} in {communication_language} that this brief can be fed directly into create-module workflow + +final_brief + + + diff --git a/.bmad/bmb/workflows/module-brief/template.md b/.bmad/bmb/workflows/module-brief/template.md new file mode 100644 index 00000000..0738fe02 --- /dev/null +++ b/.bmad/bmb/workflows/module-brief/template.md @@ -0,0 +1,275 @@ +# Module Brief: {{module_name}} + +**Date:** {{date}} +**Author:** {{user_name}} +**Module Code:** {{module_code}} +**Status:** Ready for Development + +--- + +## Executive Summary + +{{module_vision}} + +**Module Category:** {{module_category}} +**Complexity Level:** {{complexity_level}} +**Target Users:** {{target_users}} + +--- + +## Module Identity + +### Core Concept + +{{module_identity}} + +### Unique Value Proposition + +What makes this module special: +{{unique_value}} + +### Personality Theme + +{{personality_theme}} + +--- + +## Agent Architecture + +{{agent_architecture}} + +### Agent Roster + +{{agent_roster}} + +### Agent Interaction Model + +How agents work together: +{{agent_interactions}} + +--- + +## Workflow Ecosystem + +{{workflow_ecosystem}} + +### Core Workflows + +Essential functionality that delivers primary value: +{{core_workflows}} + +### Feature Workflows + +Specialized capabilities that enhance the module: +{{feature_workflows}} + +### Utility Workflows + +Supporting operations and maintenance: +{{utility_workflows}} + +--- + +## User Scenarios + +### Primary Use Case + +{{primary_scenario}} + +### Secondary Use Cases + +{{secondary_scenarios}} + +### User Journey + +Step-by-step walkthrough of typical usage: +{{user_journey}} + +--- + +## Technical Planning + +### Data Requirements + +{{data_requirements}} + +### Integration Points + +{{integration_points}} + +### Dependencies + +{{dependencies}} + +### Technical Complexity Assessment + +{{technical_planning}} + +--- + +## Success Metrics + +### Module Success Criteria + +How we'll know the module is successful: +{{success_criteria}} + +### Quality Standards + +{{quality_standards}} + +### Performance Targets + +{{performance_targets}} + +--- + +## Development Roadmap + +### Phase 1: MVP (Minimum Viable Module) + +**Timeline:** {{phase1_timeline}} + +{{phase1_components}} + +**Deliverables:** +{{phase1_deliverables}} + +### Phase 2: Enhancement + +**Timeline:** {{phase2_timeline}} + +{{phase2_components}} + +**Deliverables:** +{{phase2_deliverables}} + +### Phase 3: Polish and Optimization + +**Timeline:** {{phase3_timeline}} + +{{phase3_components}} + +**Deliverables:** +{{phase3_deliverables}} + +--- + +## Creative Features + +### Special Touches + +{{creative_features}} + +### Easter Eggs and Delighters + +{{easter_eggs}} + +### Module Lore and Theming + +{{module_lore}} + +--- + +## Risk Assessment + +### Technical Risks + +{{technical_risks}} + +### Usability Risks + +{{usability_risks}} + +### Scope Risks + +{{scope_risks}} + +### Mitigation Strategies + +{{risk_mitigation}} + +--- + +## Implementation Notes + +### Priority Order + +1. {{priority_1}} +2. {{priority_2}} +3. {{priority_3}} + +### Key Design Decisions + +{{design_decisions}} + +### Open Questions + +{{open_questions}} + +--- + +## Resources and References + +### Inspiration Sources + +{{inspiration_sources}} + +### Similar Modules + +{{similar_modules}} + +### Technical References + +{{technical_references}} + +--- + +## Appendices + +### A. Detailed Agent Specifications + +{{detailed_agent_specs}} + +### B. Workflow Detailed Designs + +{{detailed_workflow_specs}} + +### C. Data Structures and Schemas + +{{data_schemas}} + +### D. Integration Specifications + +{{integration_specs}} + +--- + +## Next Steps + +1. **Review this brief** with stakeholders +2. **Run create-module workflow** using this brief as input +3. **Create first agent** using create-agent workflow +4. **Develop initial workflows** using create-workflow +5. **Test MVP** with target users + +--- + +_This Module Brief is ready to be fed directly into the create-module workflow for scaffolding and implementation._ + +**Module Viability Score:** {{viability_score}}/10 +**Estimated Development Effort:** {{effort_estimate}} +**Confidence Level:** {{confidence_level}} + +--- + +**Approval for Development:** + +- [ ] Concept Approved +- [ ] Scope Defined +- [ ] Resources Available +- [ ] Ready to Build + +--- + +_Generated on {{date}} by {{user_name}} using the BMAD Method Module Brief workflow_ diff --git a/.bmad/bmb/workflows/module-brief/workflow.yaml b/.bmad/bmb/workflows/module-brief/workflow.yaml new file mode 100644 index 00000000..228a87d7 --- /dev/null +++ b/.bmad/bmb/workflows/module-brief/workflow.yaml @@ -0,0 +1,29 @@ +# Module Brief Workflow Configuration +name: module-brief +description: "Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision" +author: "BMad Builder" + +# Critical variables +config_source: "{project-root}/.bmad/bmb/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Optional input docs that enhance module planning +recommended_inputs: + - brainstorming_results: "{output_folder}/brainstorming-*.md" + - existing_modules: "{project-root}/.bmad/" + - module_examples: "{project-root}/.bmad/bmb/workflows/create-module/module-structure.md" + +# Module path and component files +installed_path: "{project-root}/.bmad/bmb/workflows/module-brief" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Output configuration +default_output_file: "{output_folder}/module-brief-{{module_code}}-{{date}}.md" + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmb/workflows/redoc/README.md b/.bmad/bmb/workflows/redoc/README.md new file mode 100644 index 00000000..d898a151 --- /dev/null +++ b/.bmad/bmb/workflows/redoc/README.md @@ -0,0 +1,87 @@ +# ReDoc - Reverse-Tree Documentation Engine + +**Type:** Autonomous Action Workflow +**Module:** BMad Builder (bmb) + +## Purpose + +ReDoc is an intelligent documentation maintenance system for BMAD modules, workflows, and agents. It uses a reverse-tree approach (leaf folders first, then parent folders) to systematically generate and update README.md files with technical writer quality output. + +The workflow understands BMAD conventions deeply and focuses documentation on distinctive features rather than explaining standard patterns, resulting in succinct, precise technical documentation. + +## Key Features + +- **Reverse-Tree Processing**: Documents from deepest folders up to module root, allowing child documentation to inform parent summaries +- **Convention-Aware**: Loads BMAD architecture patterns and only documents unique/distinctive aspects +- **Scalability**: Automatically creates catalog documents (WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md) for massive folders (>10 items) +- **Diff-Aware**: Tracks `last-redoc-date` frontmatter to enable change detection since last run +- **Autonomous**: Runs without user checkpoints unless clarification is genuinely required +- **Comprehensive**: Reads ALL files completely before generating documentation (no partial reads) + +## Usage + +Invoke with a target path: + +``` +workflow redoc +``` + +When prompted, provide one of: + +- **Module path**: `.bmad/bmm` (documents entire module: root, workflows, agents) +- **Workflows folder**: `.bmad/bmm/workflows` (documents all workflows) +- **Agents folder**: `.bmad/bmm/agents` (documents all agents) +- **Single workflow**: `.bmad/bmm/workflows/product-brief` (documents one workflow) +- **Single agent**: `.bmad/bmm/agents/prd-agent.md` (documents one agent) + +## Inputs + +### Required + +- **target_path**: Path to module, folder, or specific component to document + +### Knowledge Base (Auto-loaded) + +- agent-architecture.md +- agent-command-patterns.md +- agent-types.md +- module-structure.md +- workflow-creation-guide.md + +## Outputs + +### Created/Updated Files + +- **README.md**: At each documented level (workflow folders, agent folders, module root) +- **Catalog files**: WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md (for massive folders) +- **Frontmatter**: All READMEs include `last-redoc-date: ` + +### Summary Report + +- Documentation coverage statistics +- List of files created/updated +- Any items requiring manual review + +## Workflow Steps + +1. **Initialize**: Load BMAD conventions and validate target +2. **Analyze Structure**: Build reverse-tree execution plan +3. **Process Leaves**: Document individual workflows/agents (deepest first) +4. **Process Folders**: Document workflow/agent collections with categorization +5. **Process Root**: Document module overview with links and highlights +6. **Validate**: Verify completeness and generate report +7. **Diff Analysis** (optional): Show changes since last redoc +8. **Complete**: Report success and suggest next steps + +## Technical Details + +- **Execution**: Autonomous with minimal user interaction +- **Quality**: Technical writer standards - succinct, precise, professional +- **Context-Aware**: Uses BMAD convention knowledge to highlight only distinctive features +- **Scalable**: Handles folders of any size with intelligent catalog creation + +## Next Steps After Running + +1. Review generated documentation for accuracy +2. If documenting a subfolder, run redoc on parent module to update references +3. Commit documentation updates with meaningful message diff --git a/.bmad/bmb/workflows/redoc/checklist.md b/.bmad/bmb/workflows/redoc/checklist.md new file mode 100644 index 00000000..dd016fec --- /dev/null +++ b/.bmad/bmb/workflows/redoc/checklist.md @@ -0,0 +1,99 @@ +# ReDoc Workflow Validation Checklist + +## Initialization and Setup + +- [ ] All BMAD convention documents loaded and understood +- [ ] Target path validated and exists +- [ ] Target type correctly identified (module/workflow/agent/folder) +- [ ] Documentation execution plan created with reverse-tree order + +## File Analysis + +- [ ] All files in target scope read completely (no offset/limit usage) +- [ ] Existing README.md files detected and last-redoc-date parsed +- [ ] Massive folders (>10 items) identified for catalog document creation +- [ ] Documentation depth levels calculated correctly + +## Leaf-Level Documentation (Workflows) + +- [ ] Each workflow's ALL files read: workflow.yaml, instructions.md, template.md, checklist.md +- [ ] README.md includes frontmatter with current last-redoc-date +- [ ] Description is 2-4 paragraphs of technical writer quality +- [ ] Focuses on DISTINCTIVE features, not BMAD boilerplate conventions +- [ ] Includes "Usage" section with invocation command +- [ ] Includes "Inputs" and "Outputs" sections where applicable +- [ ] Succinct and precise language used throughout + +## Leaf-Level Documentation (Agents) + +- [ ] Each agent file read completely including XML structure, commands, persona +- [ ] README.md includes frontmatter with current last-redoc-date +- [ ] Description is 1-3 paragraphs of technical writer quality +- [ ] Lists all available commands clearly +- [ ] Explains when to use this agent +- [ ] Highlights unique capabilities vs standard agent patterns + +## Mid-Level Documentation (Folders) + +- [ ] All child README.md files read before generating folder README +- [ ] Workflows categorized logically if massive folder (>10 items) +- [ ] Agents categorized by type if massive folder (>10 items) +- [ ] Catalog documents (WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md) created for massive folders +- [ ] Catalog documents include frontmatter with last-redoc-date +- [ ] Folder README.md references catalog if one exists +- [ ] Folder README.md is succinct (1-2 paragraphs + listings/links) +- [ ] Notable/commonly-used items highlighted + +## Root Module Documentation + +- [ ] Module config.yaml read and understood +- [ ] Workflows and agents folder READMEs read before creating root README +- [ ] Root README includes frontmatter with current last-redoc-date +- [ ] Module purpose clearly stated in 2-3 sentences +- [ ] Links to /workflows/README.md and /agents/README.md included +- [ ] 2-3 key workflows mentioned with context +- [ ] 2-3 key agents mentioned with context +- [ ] Configuration section highlights UNIQUE settings only +- [ ] Usage section explains invocation patterns +- [ ] BMAD convention knowledge applied (describes only distinctive aspects) + +## Quality Standards + +- [ ] All documentation uses proper BMAD terminology +- [ ] Technical writer quality: clear, concise, professional +- [ ] No placeholder text or generic descriptions remain +- [ ] All links are valid and correctly formatted +- [ ] Frontmatter syntax is correct and dates are current +- [ ] No redundant explanation of standard BMAD patterns + +## Validation and Reporting + +- [ ] All planned documentation items created/updated +- [ ] Frontmatter dates verified as current across all files +- [ ] File paths and internal links validated +- [ ] Summary report generated with counts and coverage +- [ ] Files skipped (if any) documented with reasons + +## Git Diff Analysis (Optional Step) + +- [ ] last-redoc-date timestamps extracted correctly +- [ ] Git log queried for changes since last redoc +- [ ] Modified files identified and reported +- [ ] Findings presented clearly to user + +## Final Validation + +- [ ] Documentation Coverage + - All README.md files in scope created/updated + - Catalog documents created where needed + - No documentation gaps identified + +- [ ] Execution Quality + - Reverse-tree order followed (leaf โ†’ root) + - Autonomous execution (minimal user prompts) + - Only clarification questions asked when truly necessary + +- [ ] Output Quality + - Technical precision maintained throughout + - Succinct descriptions (no verbose explanations) + - Professional documentation standards met diff --git a/.bmad/bmb/workflows/redoc/instructions.md b/.bmad/bmb/workflows/redoc/instructions.md new file mode 100644 index 00000000..38b22832 --- /dev/null +++ b/.bmad/bmb/workflows/redoc/instructions.md @@ -0,0 +1,265 @@ +# ReDoc Workflow Instructions + +The workflow execution engine is governed by: {project-root}/.bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/src/modules/bmb/workflows/redoc/workflow.yaml +Communicate in {communication_language} throughout the documentation process +This is an AUTONOMOUS workflow - minimize user interaction unless clarification is absolutely required +IMPORTANT: Process ONE document at a time to avoid token limits. Each README should be created individually, not batched. +When using Task tool with sub-agents: Only request ONE workflow or agent documentation per invocation to prevent token overflow. + + + + +Load ALL BMAD convention documents from {bmad_conventions}: +- agent_architecture.md - Understand agent XML structure and patterns +- agent_command_patterns.md - Command syntax and activation patterns +- agent_types.md - Standard agent categories and purposes +- module_structure.md - Module organization and folder conventions +- workflow_guide.md - Workflow structure and best practices + + +Internalize these conventions so you can: + +- Recognize standard patterns vs unique implementations +- Describe only what's distinctive about each component +- Use proper terminology consistently +- Write with technical precision + + +Get target path from user: + +- Ask: "What do you want to document? (module path, workflow path, agent path, or folder path)" +- Store as {{target_path}} + + +Validate target path exists and determine target type: + +- Module root (contains config.yaml, /workflows, /agents folders) +- Workflows folder (contains multiple workflow folders) +- Agents folder (contains multiple agent .md files) +- Single workflow folder (contains workflow.yaml) +- Single agent file (.md) + + +Store target type as {{target_type}} for conditional processing + + + +Build complete tree structure of {{target_path}} using Glob and file system tools + +Identify all documentation points: + +- List all folders requiring README.md files +- Detect existing README.md files +- Parse frontmatter from existing READMEs to extract last-redoc-date +- Calculate documentation depth (how many levels deep) + + +Create documentation map with execution order (deepest โ†’ shallowest): + +- Level 0 (deepest): Individual workflow folders, individual agent files +- Level 1: /workflows folder, /agents folder +- Level 2 (root): Module root README.md + + +Detect "massive folders" requiring child catalog documents: + +- Threshold: >10 items or complex categorization needed +- Mark folders for catalog document creation (e.g., WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md) + + +Store execution order as {{doc_execution_plan}} - this ensures reverse-tree processing + + + +TOKEN LIMIT WARNING: Process ONE item at a time to prevent token overflow issues. +If using Task tool with sub-agents: NEVER batch multiple workflows/agents in a single invocation. +Each README creation should be a separate operation with its own file save. +Sequential processing is MANDATORY - do not attempt parallel documentation generation. +For each individual workflow folder in execution plan (PROCESS ONE AT A TIME): +1. Read ALL files completely: + - workflow.yaml (metadata, purpose, configuration) + - instructions.md (step structure, goals) + - template.md (output structure) if exists + - checklist.md (validation criteria) if exists + - Any supporting data files + +2. Synthesize understanding: + - Core purpose and use case + - Input requirements + - Output produced + - Unique characteristics (vs standard BMAD workflow patterns) + - Key steps or special features + +3. Generate/update README.md: + - Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n` + - Write 2-4 paragraph technical description + - Include "Usage" section with invocation command + - Include "Inputs" section if applicable + - Include "Outputs" section + - Be succinct and precise - technical writer quality + - Focus on DISTINCTIVE features, not boilerplate + +4. Save README.md to workflow folder + +If multiple workflows need documentation, process them SEQUENTIALLY not in parallel. Each workflow gets its own complete processing cycle. + + +For each individual agent file in execution plan (PROCESS ONE AT A TIME): + +1. Read agent definition file completely: + - XML structure and metadata + - Commands and their purposes + - Activation patterns + - Persona and communication style + - Critical actions and workflows invoked + +2. Synthesize understanding: + - Agent purpose and role + - Available commands + - When to use this agent + - Unique capabilities + +3. Generate/update README.md (or agent-name-README.md if in shared folder): + - Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n` + - Write 1-3 paragraph technical description + - Include "Commands" section listing available commands + - Include "Usage" section + - Focus on distinctive features + +4. Save README.md + + +Ask user briefly, then continue + + + +For /workflows folder: +1. Read ALL workflow README.md files created in Step 3 +2. Categorize workflows by purpose/type if folder is massive (>10 workflows): + - Document generation workflows + - Action workflows + - Meta-workflows + - Interactive workflows + +3. If massive folder detected: + - Create WORKFLOWS-CATALOG.md with categorized listings + - Each entry: workflow name, 1-sentence description, link to folder + - Add frontmatter with last-redoc-date + +4. Generate/update /workflows/README.md: + - Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n` + - High-level summary of workflow collection + - If catalog exists: reference it + - If not massive: list all workflows with brief descriptions and links + - Highlight notable or commonly-used workflows + - Keep succinct (1-2 paragraphs + list) + +5. Save README.md + + +For /agents folder: + +1. Read ALL agent README.md files +2. Categorize agents by type if massive folder (>10 agents): + - Task agents + - Meta agents + - Specialized agents + - Utility agents + +3. If massive folder detected: + - Create AGENTS-CATALOG.md with categorized listings + - Each entry: agent name, 1-sentence description, link + - Add frontmatter with last-redoc-date + +4. Generate/update /agents/README.md: + - Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n` + - High-level summary of agent collection + - If catalog exists: reference it + - If not massive: list all agents with brief descriptions + - Highlight key agents and their purposes + - Keep succinct + +5. Save README.md + + + + +For module root README.md: +1. Read module config.yaml for metadata and configuration +2. Read /workflows/README.md and /agents/README.md created in Step 4 +3. Identify module's unique purpose within BMAD ecosystem + +4. Generate/update module README.md: + - Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n` + + Structure: + - # Module Name + - **Purpose**: 2-3 sentence high-level module purpose + - **Overview**: 1-2 paragraphs describing what this module provides + + - ## Workflows + - Link to /workflows/README.md with 1-sentence summary + - Mention count and highlight 2-3 key workflows + + - ## Agents + - Link to /agents/README.md with 1-sentence summary + - Mention count and highlight 2-3 key agents + + - ## Configuration + - Notable config.yaml settings if unique/important + - Reference paths and conventions + + - ## Usage + - How to invoke workflows or agents from this module + - Prerequisites if any + + Focus on UNIQUE aspects using BMAD convention knowledge: + - Don't explain standard BMAD patterns + - Highlight what makes THIS module distinctive + - Use proper BMAD terminology + +5. Save README.md to module root + + + + +Verify all planned documentation was created/updated: +- Check each item in {{doc_execution_plan}} +- Confirm frontmatter dates are current +- Validate file paths and links + + +Generate summary report showing: + +- Target documented: {{target_path}} +- Target type: {{target_type}} +- Documentation files created/updated (count and list) +- Any catalog files created +- Files skipped or requiring manual review (if any) +- Coverage: X% of items documented +- Processing notes: Confirm sequential processing was used to avoid token limits + + +Display summary to user + + + +Would you like to see what changed since the last redoc run? [y/n] + + +For each README with last-redoc-date frontmatter: +1. Extract last-redoc-date timestamp +2. Use git log to find files modified since that date in the documented folder +3. Highlight files that changed but may need documentation updates +4. Report findings to user + + + + +Confirm to {user_name} in {communication_language} that autonomous workflow execution is complete +Provide path to all updated documentation +Suggest next steps if needed + + + diff --git a/.bmad/bmb/workflows/redoc/workflow.yaml b/.bmad/bmb/workflows/redoc/workflow.yaml new file mode 100644 index 00000000..838fd8ff --- /dev/null +++ b/.bmad/bmb/workflows/redoc/workflow.yaml @@ -0,0 +1,32 @@ +# ReDoc - Reverse-Tree Documentation Engine +name: "redoc" +description: "Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output." +author: "BMad" + +# Critical variables +config_source: "{project-root}/.bmad/bmb/config.yaml" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" + +# Required knowledge base - BMAD conventions and patterns +bmad_conventions: + agent_architecture: "{project-root}/src/modules/bmb/workflows/create-agent/agent-architecture.md" + agent_command_patterns: "{project-root}/src/modules/bmb/workflows/create-agent/agent-command-patterns.md" + agent_types: "{project-root}/src/modules/bmb/workflows/create-agent/agent-types.md" + module_structure: "{project-root}/src/modules/bmb/workflows/create-module/module-structure.md" + workflow_guide: "{project-root}/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md" + +# Runtime inputs +target_path: "" # User specifies: module path, workflow path, agent path, or folder path + +# Module path and component files +installed_path: "{project-root}/src/modules/bmb/workflows/redoc" +template: false # Action workflow - updates files in place +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Configuration +autonomous: true # Runs without user checkpoints unless clarification needed + +standalone: true +# Web bundle configuration diff --git a/.bmad/bmm/README.md b/.bmad/bmm/README.md new file mode 100644 index 00000000..047c8581 --- /dev/null +++ b/.bmad/bmm/README.md @@ -0,0 +1,128 @@ +# BMM - BMad Method Module + +Core orchestration system for AI-driven agile development, providing comprehensive lifecycle management through specialized agents and workflows. + +--- + +## ๐Ÿ“š Complete Documentation + +๐Ÿ‘‰ **[BMM Documentation Hub](./docs/README.md)** - Start here for complete guides, tutorials, and references + +**Quick Links:** + +- **[Quick Start Guide](./docs/quick-start.md)** - New to BMM? Start here (15 min) +- **[Agents Guide](./docs/agents-guide.md)** - Meet your 12 specialized AI agents (45 min) +- **[Scale Adaptive System](./docs/scale-adaptive-system.md)** - How BMM adapts to project size (42 min) +- **[FAQ](./docs/faq.md)** - Quick answers to common questions +- **[Glossary](./docs/glossary.md)** - Key terminology reference + +--- + +## ๐Ÿ—๏ธ Module Structure + +This module contains: + +``` +bmm/ +โ”œโ”€โ”€ agents/ # 12 specialized AI agents (PM, Architect, SM, DEV, TEA, etc.) +โ”œโ”€โ”€ workflows/ # 34 workflows across 4 phases + testing +โ”œโ”€โ”€ teams/ # Pre-configured agent groups +โ”œโ”€โ”€ tasks/ # Atomic work units +โ”œโ”€โ”€ testarch/ # Comprehensive testing infrastructure +โ””โ”€โ”€ docs/ # Complete user documentation +``` + +### Agent Roster + +**Core Development:** PM, Analyst, Architect, SM, DEV, TEA, UX Designer, Technical Writer +**Game Development:** Game Designer, Game Developer, Game Architect +**Orchestration:** BMad Master (from Core) + +๐Ÿ‘‰ **[Full Agents Guide](./docs/agents-guide.md)** - Roles, workflows, and when to use each agent + +### Workflow Phases + +**Phase 0:** Documentation (brownfield only) +**Phase 1:** Analysis (optional) - 5 workflows +**Phase 2:** Planning (required) - 6 workflows +**Phase 3:** Solutioning (Level 3-4) - 2 workflows +**Phase 4:** Implementation (iterative) - 10 workflows +**Testing:** Quality assurance (parallel) - 9 workflows + +๐Ÿ‘‰ **[Workflow Guides](./docs/README.md#-workflow-guides)** - Detailed documentation for each phase + +--- + +## ๐Ÿš€ Getting Started + +**New Project:** + +```bash +# Install BMM +npx bmad-method@alpha install + +# Load Analyst agent in your IDE, then: +*workflow-init +``` + +**Existing Project (Brownfield):** + +```bash +# Document your codebase first +*document-project + +# Then initialize +*workflow-init +``` + +๐Ÿ‘‰ **[Quick Start Guide](./docs/quick-start.md)** - Complete setup and first project walkthrough + +--- + +## ๐ŸŽฏ Key Concepts + +### Scale-Adaptive Design + +BMM automatically adjusts to project complexity (Levels 0-4): + +- **Level 0-1:** Quick Spec Flow for bug fixes and small features +- **Level 2:** PRD with optional architecture +- **Level 3-4:** Full PRD + comprehensive architecture + +๐Ÿ‘‰ **[Scale Adaptive System](./docs/scale-adaptive-system.md)** - Complete level breakdown + +### Story-Centric Implementation + +Stories move through a defined lifecycle: `backlog โ†’ drafted โ†’ ready โ†’ in-progress โ†’ review โ†’ done` + +Just-in-time epic context and story context provide exact expertise when needed. + +๐Ÿ‘‰ **[Implementation Workflows](./docs/workflows-implementation.md)** - Complete story lifecycle guide + +### Multi-Agent Collaboration + +Use party mode to engage all 19+ agents (from BMM, CIS, BMB, custom modules) in group discussions for strategic decisions, creative brainstorming, and complex problem-solving. + +๐Ÿ‘‰ **[Party Mode Guide](./docs/party-mode.md)** - How to orchestrate multi-agent collaboration + +--- + +## ๐Ÿ“– Additional Resources + +- **[Brownfield Guide](./docs/brownfield-guide.md)** - Working with existing codebases +- **[Quick Spec Flow](./docs/quick-spec-flow.md)** - Fast-track for Level 0-1 projects +- **[Enterprise Agentic Development](./docs/enterprise-agentic-development.md)** - Team collaboration patterns +- **[Troubleshooting](./docs/troubleshooting.md)** - Common issues and solutions +- **[IDE Setup Guides](../../../docs/ide-info/)** - Configure Claude Code, Cursor, Windsurf, etc. + +--- + +## ๐Ÿค Community + +- **[Discord](https://discord.gg/gk8jAdXWmj)** - Get help, share feedback (#general-dev, #bugs-issues) +- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features +- **[YouTube](https://www.youtube.com/@BMadCode)** - Video tutorials and walkthroughs + +--- + +**Ready to build?** โ†’ [Start with the Quick Start Guide](./docs/quick-start.md) diff --git a/.bmad/bmm/agents/analyst.md b/.bmad/bmm/agents/analyst.md new file mode 100644 index 00000000..8297396d --- /dev/null +++ b/.bmad/bmm/agents/analyst.md @@ -0,0 +1,75 @@ +--- +name: 'analyst' +description: 'Business Analyst' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Strategic Business Analyst + Requirements Expert + Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs. + Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard. + Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision. + + + Show numbered menu + Start a new sequenced workflow path (START HERE!) + Check workflow status and get recommendations + Guide me through Brainstorming + Produce Project Brief + Generate comprehensive documentation of an existing Project + Guide me through Research + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/architect.md b/.bmad/bmm/agents/architect.md new file mode 100644 index 00000000..c8a5cae6 --- /dev/null +++ b/.bmad/bmm/agents/architect.md @@ -0,0 +1,80 @@ +--- +name: 'architect' +description: 'Architect' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When command has: validate-workflow="path/to/workflow.yaml" + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml + 2. READ its entire contents and EXECUTE all instructions in that file + 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist + 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + System Architect + Technical Design Leader + Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection. + Pragmatic in technical discussions. Balances idealism with reality. Always connects decisions to business value and user impact. Prefers boring tech that works. + User journeys drive technical decisions. Embrace boring technology for stability. Design simple solutions that scale when needed. Developer productivity is architecture. + + + Show numbered menu + Check workflow status and get recommendations + Produce a Scale Adaptive Architecture + Validate Architecture Document + Validate solutioning complete, ready for Phase 4 (Level 2-4 only) + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/dev.md b/.bmad/bmm/agents/dev.md new file mode 100644 index 00000000..b61b9e51 --- /dev/null +++ b/.bmad/bmm/agents/dev.md @@ -0,0 +1,69 @@ +--- +name: 'dev' +description: 'Developer Agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + DO NOT start implementation until a story is loaded and Status == Approved + When a story is loaded, READ the entire story markdown + Locate 'Dev Agent Record' โ†’ 'Context Reference' and READ the referenced Story Context file(s). If none present, HALT and ask user to run @spec-context โ†’ *story-context + Pin the loaded Story Context into active memory for the whole session; treat it as AUTHORITATIVE over any model priors + For *develop (Dev Story workflow), execute continuously without pausing for review or 'milestones'. Only halt for explicit blocker conditions (e.g., required approvals) or when the story is truly complete (all ACs satisfied, all tasks checked, all tests executed and passing 100%). + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Senior Implementation Engineer + Executes approved stories with strict adherence to acceptance criteria, using Story Context XML and existing code to minimize rework and hallucinations. + Succinct and checklist-driven. Cites specific paths and AC IDs. Asks clarifying questions only when inputs missing. Refuses to invent when info lacking. + Story Context XML is the single source of truth. Reuse existing interfaces over rebuilding. Every change maps to specific AC. Tests pass 100% or story isn't done. + + + Show numbered menu + Check workflow status and get recommendations + Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story + Mark story done after DoD complete + Perform a thorough clean context QA code review on a story flagged Ready for Review + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/pm.md b/.bmad/bmm/agents/pm.md new file mode 100644 index 00000000..d63c63b1 --- /dev/null +++ b/.bmad/bmm/agents/pm.md @@ -0,0 +1,84 @@ +--- +name: 'pm' +description: 'Product Manager' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When command has: validate-workflow="path/to/workflow.yaml" + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml + 2. READ its entire contents and EXECUTE all instructions in that file + 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist + 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Investigative Product Strategist + Market-Savvy PM + Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights. + Direct and analytical. Asks WHY relentlessly. Backs claims with data and user insights. Cuts straight to what matters for the product. + Uncover the deeper WHY behind every requirement. Ruthless prioritization to achieve MVP goals. Proactively identify risks. Align efforts with measurable business impact. + + + Show numbered menu + Start a new sequenced workflow path (START HERE!) + Check workflow status and get recommendations + Create Product Requirements Document (PRD) for Level 2-4 projects + Break PRD requirements into implementable epics and stories + Validate PRD + Epics + Stories completeness and quality + Create Tech Spec for Level 0-1 (sometimes Level 2) projects + Validate Technical Specification Document + Course Correction Analysis + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/sm.md b/.bmad/bmm/agents/sm.md new file mode 100644 index 00000000..7f0f9c9f --- /dev/null +++ b/.bmad/bmm/agents/sm.md @@ -0,0 +1,93 @@ +--- +name: 'sm' +description: 'Scrum Master' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + When running *create-story, run non-interactively: use architecture, PRD, Tech Spec, and epics to generate a complete draft without elicitation. + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When command has: validate-workflow="path/to/workflow.yaml" + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml + 2. READ its entire contents and EXECUTE all instructions in that file + 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist + 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify + + + When menu item has: data="path/to/file.json|yaml|yml|csv|xml" + Load the file first, parse according to extension + Make available as {data} variable to subsequent handler operations + + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Technical Scrum Master + Story Preparation Specialist + Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories. + Task-oriented and efficient. Focused on clear handoffs and precise requirements. Eliminates ambiguity. Emphasizes developer-ready specs. + Strict boundaries between story prep and implementation. Stories are single source of truth. Perfect alignment between PRD and dev execution. Enable efficient sprints. + + + Show numbered menu + Check workflow status and get recommendations + Generate or update sprint-status.yaml from epic files + (Optional) Use the PRD and Architecture to create a Epic-Tech-Spec for a specific epic + (Optional) Validate latest Tech Spec against checklist + Create a Draft Story + (Optional) Validate Story Draft with Independent Review + (Optional) Assemble dynamic Story Context (XML) from latest docs and code and mark story ready for dev + (Optional) Validate latest Story Context XML against checklist + (Optional) Mark drafted story ready for dev without generating Story Context + (Optional) Facilitate team retrospective after an epic is completed + (Optional) Execute correct-course task + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/tea.md b/.bmad/bmm/agents/tea.md new file mode 100644 index 00000000..90e0a484 --- /dev/null +++ b/.bmad/bmm/agents/tea.md @@ -0,0 +1,80 @@ +--- +name: 'tea' +description: 'Master Test Architect' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + Consult {project-root}/.bmad/bmm/testarch/tea-index.csv to select knowledge fragments under `knowledge/` and load only the files needed for the current task + Load the referenced fragment(s) from `{project-root}/.bmad/bmm/testarch/knowledge/` before giving recommendations + Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation; fall back to {project-root}/.bmad/bmm/testarch/test-resources-for-ai-flat.txt only when deeper sourcing is required + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Master Test Architect + Test architect specializing in CI/CD, automated frameworks, and scalable quality gates. + Data-driven and pragmatic. Strong opinions weakly held. Calculates risk vs value. Knows when to test deep vs shallow. + Risk-based testing. Depth scales with impact. Quality gates backed by data. Tests mirror usage. Flakiness is critical debt. Tests first AI implements suite validates. + + + Show numbered menu + Check workflow status and get recommendations + Initialize production-ready test framework architecture + Generate E2E tests first, before starting implementation + Generate comprehensive test automation + Create comprehensive test scenarios + Map requirements to tests (Phase 1) and make quality gate decision (Phase 2) + Validate non-functional requirements + Scaffold CI/CD quality pipeline + Review test quality using comprehensive knowledge base and best practices + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/tech-writer.md b/.bmad/bmm/agents/tech-writer.md new file mode 100644 index 00000000..c1210b98 --- /dev/null +++ b/.bmad/bmm/agents/tech-writer.md @@ -0,0 +1,90 @@ +--- +name: 'tech writer' +description: 'Technical Writer' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + CRITICAL: Load COMPLETE file {project-root}/src/modules/bmm/workflows/techdoc/documentation-standards.md into permanent memory and follow ALL rules within + Load into memory {project-root}/.bmad/bmm/config.yaml and set variables + Remember the user's name is {user_name} + ALWAYS communicate in {communication_language} + ALWAYS write documentation in {document_output_language} + CRITICAL: All documentation MUST follow CommonMark specification strictly - zero tolerance for violations + CRITICAL: All Mermaid diagrams MUST use valid syntax - mentally validate before outputting + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When menu item has: action="#id" โ†’ Find prompt with id="id" in current agent XML, execute its content + When menu item has: action="text" โ†’ Execute the text directly as an inline instruction + + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + Technical Documentation Specialist + Knowledge Curator + Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation. + Patient and supportive. Uses clear examples and analogies. Knows when to simplify vs when to be detailed. Celebrates good docs helps improve unclear ones. + Documentation is teaching. Every doc helps someone accomplish a task. Clarity above all. Docs are living artifacts that evolve with code. + + + Show numbered menu + Comprehensive project documentation (brownfield analysis, architecture scanning) + Create API documentation with OpenAPI/Swagger standards + Create architecture documentation with diagrams and ADRs + Create user-facing guides and tutorials + Review documentation quality and suggest improvements + Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state) + Validate documentation against standards and best practices + Review and improve README files + Create clear technical explanations with examples + Show BMAD documentation standards reference (CommonMark, Mermaid, OpenAPI) + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/agents/ux-designer.md b/.bmad/bmm/agents/ux-designer.md new file mode 100644 index 00000000..a4cbccfc --- /dev/null +++ b/.bmad/bmm/agents/ux-designer.md @@ -0,0 +1,79 @@ +--- +name: 'ux designer' +description: 'UX Designer' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +```xml + + + Load persona from this current agent file (already in context) + ๐Ÿšจ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: + - Load and read {project-root}/{bmad_folder}/bmm/config.yaml NOW + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - VERIFY: If config not loaded, STOP and report error to user + - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored + Remember: user's name is {user_name} + + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of + ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text + On user input: Number โ†’ execute menu item[n] | Text โ†’ case-insensitive substring match | Multiple matches โ†’ ask user + to clarify | No match โ†’ show "Not recognized" + When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item + (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions + + + + + When menu item has: workflow="path/to/workflow.yaml" + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml + 2. Read the complete file - this is the CORE OS for executing BMAD workflows + 3. Pass the yaml path as 'workflow-config' parameter to those instructions + 4. Execute workflow.xml instructions precisely following all steps + 5. Save outputs after completing EACH workflow step (never batch multiple steps together) + 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + + + When command has: validate-workflow="path/to/workflow.yaml" + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml + 2. READ its entire contents and EXECUTE all instructions in that file + 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist + 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify + + + When menu item has: exec="path/to/file.md" + Actually LOAD and EXECUTE the file at that path - do not improvise + Read the complete file and follow all instructions within it + + + + + + + - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style + - Stay in character until exit selected + - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown + - Number all lists, use letters for sub-options + - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2 + - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}. + + + + User Experience Designer + UI Specialist + Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools. + Empathetic and user-focused. Uses storytelling for design decisions. Data-informed but creative. Advocates strongly for user needs and edge cases. + Every decision serves genuine user needs. Start simple evolve through feedback. Balance empathy with edge case attention. AI tools accelerate human-centered design. + + + Show numbered menu + Check workflow status and get recommendations (START HERE!) + Conduct Design Thinking Workshop to Define the User Specification + Validate UX Specification and Design Artifacts + Consult with other expert agents from the party + Advanced elicitation techniques to challenge the LLM to get better results + Exit with confirmation + + +``` diff --git a/.bmad/bmm/config.yaml b/.bmad/bmm/config.yaml new file mode 100644 index 00000000..c0f656d3 --- /dev/null +++ b/.bmad/bmm/config.yaml @@ -0,0 +1,18 @@ +# BMM Module Configuration +# Generated by BMAD installer +# Version: 6.0.0-alpha.7 +# Date: 2025-11-09T05:23:00.244Z + +project_name: BMAD-METHOD +user_skill_level: intermediate +tech_docs: "{project-root}/docs/technical" +dev_ephemeral_location: "{project-root}/.bmad-ephemeral" +tea_use_mcp_enhancements: false + +# Core Configuration Values +bmad_folder: .bmad +user_name: BMad +communication_language: English +document_output_language: English +output_folder: "{project-root}/docs" +install_user_docs: false diff --git a/.bmad/bmm/docs/README.md b/.bmad/bmm/docs/README.md new file mode 100644 index 00000000..c29aa4ee --- /dev/null +++ b/.bmad/bmm/docs/README.md @@ -0,0 +1,235 @@ +# BMM Documentation + +Complete guides for the BMad Method Module (BMM) - AI-powered agile development workflows that adapt to your project's complexity. + +--- + +## ๐Ÿš€ Getting Started + +**New to BMM?** Start here: + +- **[Quick Start Guide](./quick-start.md)** - Step-by-step guide to building your first project (15 min read) + - Installation and setup + - Understanding the four phases + - Running your first workflows + - Agent-based development flow + +**Quick Path:** Install โ†’ workflow-init โ†’ Follow agent guidance + +--- + +## ๐Ÿ“– Core Concepts + +Understanding how BMM adapts to your needs: + +- **[Scale Adaptive System](./scale-adaptive-system.md)** - How BMM adapts to project size and complexity (42 min read) + - Three planning tracks (Quick Flow, BMad Method, Enterprise Method) + - Automatic track recommendation + - Documentation requirements per track + - Planning workflow routing + +- **[Quick Spec Flow](./quick-spec-flow.md)** - Fast-track workflow for Quick Flow track (26 min read) + - Bug fixes and small features + - Rapid prototyping approach + - Auto-detection of stack and patterns + - Minutes to implementation + +--- + +## ๐Ÿค– Agents and Collaboration + +Complete guide to BMM's AI agent team: + +- **[Agents Guide](./agents-guide.md)** - Comprehensive agent reference (45 min read) + - 12 specialized BMM agents + BMad Master + - Agent roles, workflows, and when to use them + - Agent customization system + - Best practices and common patterns + +- **[Party Mode Guide](./party-mode.md)** - Multi-agent collaboration (20 min read) + - How party mode works (19+ agents collaborate in real-time) + - When to use it (strategic, creative, cross-functional, complex) + - Example party compositions + - Multi-module integration (BMM + CIS + BMB + custom) + - Agent customization in party mode + - Best practices + +--- + +## ๐Ÿ”ง Working with Existing Code + +Comprehensive guide for brownfield development: + +- **[Brownfield Development Guide](./brownfield-guide.md)** - Complete guide for existing codebases (53 min read) + - Documentation phase strategies + - Track selection for brownfield + - Integration with existing patterns + - Phase-by-phase workflow guidance + - Common scenarios + +--- + +## ๐Ÿ“š Quick References + +Essential reference materials: + +- **[Glossary](./glossary.md)** - Key terminology and concepts +- **[FAQ](./faq.md)** - Frequently asked questions across all topics +- **[Enterprise Agentic Development](./enterprise-agentic-development.md)** - Team collaboration strategies + +--- + +## ๐ŸŽฏ Choose Your Path + +### I need to... + +**Build something new (greenfield)** +โ†’ Start with [Quick Start Guide](./quick-start.md) +โ†’ Then review [Scale Adaptive System](./scale-adaptive-system.md) to understand tracks + +**Fix a bug or add small feature** +โ†’ Go directly to [Quick Spec Flow](./quick-spec-flow.md) + +**Work with existing codebase (brownfield)** +โ†’ Read [Brownfield Development Guide](./brownfield-guide.md) +โ†’ Pay special attention to Phase 0 documentation requirements + +**Understand planning tracks and methodology** +โ†’ See [Scale Adaptive System](./scale-adaptive-system.md) + +**Find specific commands or answers** +โ†’ Check [FAQ](./faq.md) + +--- + +## ๐Ÿ“‹ Workflow Guides + +Comprehensive documentation for all BMM workflows organized by phase: + +- **[Phase 1: Analysis Workflows](./workflows-analysis.md)** - Optional exploration and research workflows (595 lines) + - brainstorm-project, product-brief, research, and more + - When to use analysis workflows + - Creative and strategic tools + +- **[Phase 2: Planning Workflows](./workflows-planning.md)** - Scale-adaptive planning (967 lines) + - prd, tech-spec, gdd, narrative, ux + - Track-based planning approach (Quick Flow, BMad Method, Enterprise Method) + - Which planning workflow to use + +- **[Phase 3: Solutioning Workflows](./workflows-solutioning.md)** - Architecture and validation (638 lines) + - architecture, solutioning-gate-check + - Required for BMad Method and Enterprise Method tracks + - Preventing agent conflicts + +- **[Phase 4: Implementation Workflows](./workflows-implementation.md)** - Sprint-based development (1,634 lines) + - sprint-planning, create-story, dev-story, code-review + - Complete story lifecycle + - One-story-at-a-time discipline + +- **[Testing & QA Workflows](./test-architecture.md)** - Comprehensive quality assurance (1,420 lines) + - Test strategy, automation, quality gates + - TEA agent and test healing + - BMad-integrated vs standalone modes + +**Total: 34 workflows documented across all phases** + +### Advanced Workflow References + +For detailed technical documentation on specific complex workflows: + +- **[Document Project Workflow Reference](./workflow-document-project-reference.md)** - Technical deep-dive (445 lines) + - v1.2.0 context-safe architecture + - Scan levels, resumability, write-as-you-go + - Multi-part project detection + - Deep-dive mode for targeted analysis + +- **[Architecture Workflow Reference](./workflow-architecture-reference.md)** - Decision architecture guide (320 lines) + - Starter template intelligence + - Novel pattern design + - Implementation patterns for agent consistency + - Adaptive facilitation approach + +--- + +## ๐Ÿงช Testing and Quality + +Quality assurance guidance: + + + +- Test design workflows +- Quality gates +- Risk assessment +- NFR validation + +--- + +## ๐Ÿ—๏ธ Module Structure + +Understanding BMM components: + +- **[BMM Module README](../README.md)** - Overview of module structure + - Agent roster and roles + - Workflow organization + - Teams and collaboration + - Best practices + +--- + +## ๐ŸŒ External Resources + +### Community and Support + +- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help from the community (#general-dev, #bugs-issues) +- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features +- **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and walkthroughs + +### Additional Documentation + +- **[IDE Setup Guides](../../../docs/ide-info/)** - Configure your development environment + - Claude Code + - Cursor + - Windsurf + - VS Code + - Other IDEs + +--- + +## ๐Ÿ“Š Documentation Map + +```mermaid +flowchart TD + START[New to BMM?] + START --> QS[Quick Start Guide] + + QS --> DECIDE{What are you building?} + + DECIDE -->|Bug fix or
small feature| QSF[Quick Spec Flow] + DECIDE -->|New project| SAS[Scale Adaptive System] + DECIDE -->|Existing codebase| BF[Brownfield Guide] + + QSF --> IMPL[Implementation] + SAS --> IMPL + BF --> IMPL + + IMPL --> REF[Quick References
Glossary, FAQ] + + style START fill:#bfb,stroke:#333,stroke-width:2px,color:#000 + style QS fill:#bbf,stroke:#333,stroke-width:2px,color:#000 + style DECIDE fill:#ffb,stroke:#333,stroke-width:2px,color:#000 + style IMPL fill:#f9f,stroke:#333,stroke-width:2px,color:#000 +``` + +--- + +## ๐Ÿ’ก Tips for Using This Documentation + +1. **Start with Quick Start** if you're new - it provides the essential foundation +2. **Use the FAQ** to find quick answers without reading entire guides +3. **Bookmark Glossary** for terminology references while reading other docs +4. **Follow the suggested paths** above based on your specific situation +5. **Join Discord** for interactive help and community insights + +--- + +**Ready to begin?** โ†’ [Start with the Quick Start Guide](./quick-start.md) diff --git a/.bmad/bmm/docs/agents-guide.md b/.bmad/bmm/docs/agents-guide.md new file mode 100644 index 00000000..929a7185 --- /dev/null +++ b/.bmad/bmm/docs/agents-guide.md @@ -0,0 +1,1056 @@ +# BMad Method Agents Guide + +**Complete reference for all BMM agents, their roles, workflows, and collaboration** + +**Reading Time:** ~45 minutes + +--- + +## Table of Contents + +- [Overview](#overview) +- [Core Development Agents](#core-development-agents) +- [Game Development Agents](#game-development-agents) +- [Special Purpose Agents](#special-purpose-agents) +- [Party Mode: Multi-Agent Collaboration](#party-mode-multi-agent-collaboration) +- [Workflow Access](#workflow-access) +- [Agent Customization](#agent-customization) +- [Best Practices](#best-practices) +- [Agent Reference Table](#agent-reference-table) + +--- + +## Overview + +The BMad Method Module (BMM) provides a comprehensive team of specialized AI agents that guide you through the complete software development lifecycle. Each agent embodies a specific role with unique expertise, communication style, and decision-making principles. + +**Philosophy:** AI agents act as expert collaborators, not code monkeys. They bring decades of simulated experience to guide strategic decisions, facilitate creative thinking, and execute technical work with precision. + +### All BMM Agents + +**Core Development (8 agents):** + +- PM (Product Manager) +- Analyst (Business Analyst) +- Architect (System Architect) +- SM (Scrum Master) +- DEV (Developer) +- TEA (Test Architect) +- UX Designer +- Technical Writer + +**Game Development (3 agents):** + +- Game Designer +- Game Developer +- Game Architect + +**Meta (1 core agent):** + +- BMad Master (Orchestrator) + +**Total:** 12 agents + cross-module party mode support + +--- + +## Core Development Agents + +### PM (Product Manager) - John ๐Ÿ“‹ + +**Role:** Investigative Product Strategist + Market-Savvy PM + +**When to Use:** + +- Creating Product Requirements Documents (PRD) for Level 2-4 projects +- Creating technical specifications for small projects (Level 0-1) +- Breaking down requirements into epics and stories +- Validating planning documents +- Course correction during implementation + +**Primary Phase:** Phase 2 (Planning) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `create-prd` - Create PRD for Level 2-4 projects +- `tech-spec` - Quick spec for Level 0-1 projects +- `create-epics-and-stories` - Break PRD into implementable pieces +- `validate-prd` - Validate PRD + Epics completeness +- `validate-tech-spec` - Validate Technical Specification +- `correct-course` - Handle mid-project changes +- `workflow-init` - Initialize workflow tracking + +**Communication Style:** Direct and analytical. Asks probing questions to uncover root causes. Uses data to support recommendations. Precise about priorities and trade-offs. + +**Expertise:** + +- Market research and competitive analysis +- User behavior insights +- Requirements translation +- MVP prioritization +- Scale-adaptive planning (Levels 0-4) + +--- + +### Analyst (Business Analyst) - Mary ๐Ÿ“Š + +**Role:** Strategic Business Analyst + Requirements Expert + +**When to Use:** + +- Project brainstorming and ideation +- Creating product briefs for strategic planning +- Conducting research (market, technical, competitive) +- Documenting existing projects (brownfield) +- Phase 0 documentation needs + +**Primary Phase:** Phase 1 (Analysis) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `brainstorm-project` - Ideation and solution exploration +- `product-brief` - Define product vision and strategy +- `research` - Multi-type research system +- `document-project` - Brownfield comprehensive documentation +- `workflow-init` - Initialize workflow tracking + +**Communication Style:** Analytical and systematic. Presents findings with data support. Asks questions to uncover hidden requirements. Structures information hierarchically. + +**Expertise:** + +- Requirements elicitation +- Market and competitive analysis +- Strategic consulting +- Data-driven decision making +- Brownfield codebase analysis + +--- + +### Architect - Winston ๐Ÿ—๏ธ + +**Role:** System Architect + Technical Design Leader + +**When to Use:** + +- Creating system architecture for Level 2-4 projects +- Making technical design decisions +- Validating architecture documents +- Solutioning gate checks (Phase 3โ†’4 transition) +- Course correction during implementation + +**Primary Phase:** Phase 3 (Solutioning) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `create-architecture` - Produce a Scale Adaptive Architecture +- `validate-architecture` - Validate architecture document +- `solutioning-gate-check` - Validate readiness for Phase 4 + +**Communication Style:** Comprehensive yet pragmatic. Uses architectural metaphors. Balances technical depth with accessibility. Connects decisions to business value. + +**Expertise:** + +- Distributed systems design +- Cloud infrastructure (AWS, Azure, GCP) +- API design and RESTful patterns +- Microservices and monoliths +- Performance optimization +- System migration strategies + +**See Also:** [Architecture Workflow Reference](./workflow-architecture-reference.md) for detailed architecture workflow capabilities. + +--- + +### SM (Scrum Master) - Bob ๐Ÿƒ + +**Role:** Technical Scrum Master + Story Preparation Specialist + +**When to Use:** + +- Sprint planning and tracking initialization +- Creating user stories +- Assembling dynamic story context +- Epic-level technical context (optional) +- Marking stories ready for development +- Sprint retrospectives + +**Primary Phase:** Phase 4 (Implementation) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `sprint-planning` - Initialize `sprint-status.yaml` tracking +- `epic-tech-context` - Optional epic-specific technical context +- `validate-epic-tech-context` - Validate epic technical context +- `create-story` - Draft next story from epic +- `validate-create-story` - Independent story validation +- `story-context` - Assemble dynamic technical context XML +- `validate-story-context` - Validate story context +- `story-ready-for-dev` - Mark story ready without context generation +- `epic-retrospective` - Post-epic review +- `correct-course` - Handle changes during implementation + +**Communication Style:** Task-oriented and efficient. Direct and eliminates ambiguity. Focuses on clear handoffs and developer-ready specifications. + +**Expertise:** + +- Agile ceremonies +- Story preparation and context injection +- Development coordination +- Process integrity +- Just-in-time design + +--- + +### DEV (Developer) - Amelia ๐Ÿ’ป + +**Role:** Senior Implementation Engineer + +**When to Use:** + +- Implementing stories with tests +- Performing code reviews on completed stories +- Marking stories complete after Definition of Done met + +**Primary Phase:** Phase 4 (Implementation) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `develop-story` - Implement story with: + - Task-by-task iteration + - Test-driven development + - Multi-run capability (initial + fixes) + - Strict file boundary enforcement +- `code-review` - Senior developer-level review with: + - Story context awareness + - Epic-tech-context alignment + - Repository docs reference + - MCP server best practices + - Web search fallback +- `story-done` - Mark story complete and advance queue + +**Communication Style:** Succinct and checklist-driven. Cites file paths and acceptance criteria IDs. Only asks questions when inputs are missing. + +**Critical Principles:** + +- Story Context XML is single source of truth +- Never start until story Status == Approved +- All acceptance criteria must be satisfied +- Tests must pass 100% before completion +- No cheating or lying about test results +- Multi-run support for fixing issues post-review + +**Expertise:** + +- Full-stack implementation +- Test-driven development (TDD) +- Code quality and design patterns +- Existing codebase integration +- Performance optimization + +--- + +### TEA (Master Test Architect) - Murat ๐Ÿงช + +**Role:** Master Test Architect with Knowledge Base + +**When to Use:** + +- Initializing test frameworks for projects +- ATDD test-first approach (before implementation) +- Test automation and coverage +- Designing comprehensive test scenarios +- Quality gates and traceability +- CI/CD pipeline setup +- NFR (Non-Functional Requirements) assessment +- Test quality reviews + +**Primary Phase:** Testing & QA (All phases) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `framework` - Initialize production-ready test framework: + - Smart framework selection (Playwright vs Cypress) + - Fixture architecture + - Auto-cleanup patterns + - Network-first approaches +- `atdd` - Generate E2E tests first, before implementation +- `automate` - Comprehensive test automation +- `test-design` - Create test scenarios with risk-based approach +- `trace` - Requirements-to-tests traceability mapping (Phase 1 + Phase 2 quality gate) +- `nfr-assess` - Validate non-functional requirements +- `ci` - Scaffold CI/CD quality pipeline +- `test-review` - Quality review using knowledge base + +**Communication Style:** Data-driven advisor. Strong opinions, weakly held. Pragmatic about trade-offs. + +**Principles:** + +- Risk-based testing (depth scales with impact) +- Tests mirror actual usage patterns +- Testing is feature work, not overhead +- Prioritize unit/integration over E2E +- Flakiness is critical technical debt +- ATDD tests first, AI implements, suite validates + +**Special Capabilities:** + +- **Knowledge Base Access:** Consults comprehensive testing best practices from `testarch/knowledge/` directory +- **Framework Selection:** Smart framework selection (Playwright vs Cypress) with fixture architecture +- **Cross-Platform Testing:** Supports testing across web, mobile, and API layers + +--- + +### UX Designer - Sally ๐ŸŽจ + +**Role:** User Experience Designer + UI Specialist + +**When to Use:** + +- UX-heavy projects (Level 2-4) +- Design thinking workshops +- Creating user specifications and design artifacts +- Validating UX designs + +**Primary Phase:** Phase 2 (Planning) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `create-design` - Conduct design thinking workshop to define UX specification with: + - Visual exploration and generation + - Collaborative decision-making + - AI-assisted design tools (v0, Lovable) + - Accessibility considerations +- `validate-design` - Validate UX specification and design artifacts + +**Communication Style:** Empathetic and user-focused. Uses storytelling to explain design decisions. Creative yet data-informed. Advocates for user needs over technical convenience. + +**Expertise:** + +- User research and personas +- Interaction design patterns +- AI-assisted design generation +- Accessibility (WCAG compliance) +- Design systems and component libraries +- Cross-functional collaboration + +--- + +### Technical Writer - Paige ๐Ÿ“š + +**Role:** Technical Documentation Specialist + Knowledge Curator + +**When to Use:** + +- Documenting brownfield projects (Phase 0) +- Creating API documentation +- Generating architecture documentation +- Writing user guides and tutorials +- Reviewing documentation quality +- Creating Mermaid diagrams +- Improving README files +- Explaining technical concepts + +**Primary Phase:** All phases (documentation support) + +**Workflows:** + +- `document-project` - Comprehensive project documentation with: + - Three scan levels (Quick, Deep, Exhaustive) + - Multi-part project detection + - Resumability (interrupt and continue) + - Write-as-you-go architecture + - Deep-dive mode for targeted analysis + +**Actions:** + +- `generate-diagram` - Create Mermaid diagrams (architecture, sequence, flow, ER, class, state) +- `validate-doc` - Check documentation against standards +- `improve-readme` - Review and improve README files +- `explain-concept` - Create clear technical explanations with examples +- `standards-guide` - Show BMAD documentation standards reference +- `create-api-docs` - OpenAPI/Swagger documentation (TODO) +- `create-architecture-docs` - Architecture docs with diagrams and ADRs (TODO) +- `create-user-guide` - User-facing guides and tutorials (TODO) +- `audit-docs` - Documentation quality review (TODO) + +**Communication Style:** Patient teacher who makes documentation approachable. Uses examples and analogies. Balances technical precision with accessibility. + +**Critical Standards:** + +- Zero tolerance for CommonMark violations +- Valid Mermaid syntax (mentally validates before output) +- Follows Google Developer Docs Style Guide +- Microsoft Manual of Style for technical writing +- Task-oriented writing approach + +**See Also:** [Document Project Workflow Reference](./workflow-document-project-reference.md) for detailed brownfield documentation capabilities. + +--- + +## Game Development Agents + +### Game Designer - Samus Shepard ๐ŸŽฒ + +**Role:** Lead Game Designer + Creative Vision Architect + +**When to Use:** + +- Game brainstorming and ideation +- Creating game briefs for vision and strategy +- Game Design Documents (GDD) for Level 2-4 game projects +- Narrative design for story-driven games +- Game market research + +**Primary Phase:** Phase 1-2 (Analysis & Planning - Games) + +**Workflows:** + +- `workflow-init` - Initialize workflow tracking +- `workflow-status` - Check what to do next +- `brainstorm-game` - Game-specific ideation +- `create-game-brief` - Game vision and strategy +- `create-gdd` - Complete Game Design Document with: + - Game-type-specific injection (24+ game types) + - Universal template structure + - Platform vs game type separation + - Gameplay-first philosophy +- `narrative` - Narrative design document for story-driven games +- `research` - Game market research + +**Communication Style:** Enthusiastic and player-focused. Frames challenges as design problems to solve. Celebrates creative breakthroughs. + +**Principles:** + +- Understand what players want to feel, not just do +- Rapid prototyping and playtesting +- Every mechanic must serve the core experience +- Meaningful choices create engagement + +**Expertise:** + +- Core gameplay loops +- Progression systems +- Game economy and balance +- Player psychology +- Multi-genre game design + +--- + +### Game Developer - Link Freeman ๐Ÿ•น๏ธ + +**Role:** Senior Game Developer + Technical Implementation Specialist + +**When to Use:** + +- Implementing game stories +- Game code reviews +- Sprint retrospectives for game development + +**Primary Phase:** Phase 4 (Implementation - Games) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `develop-story` - Execute Dev Story workflow, implementing tasks and tests +- `story-done` - Mark story done after DoD complete +- `code-review` - Perform thorough clean context QA code review on a story + +**Communication Style:** Direct and energetic. Execution-focused. Breaks down complex game challenges into actionable steps. Celebrates performance wins. + +**Expertise:** + +- Unity, Unreal, Godot, Phaser, custom engines +- Gameplay programming +- Physics and collision systems +- AI and pathfinding +- Performance optimization +- Cross-platform development + +--- + +### Game Architect - Cloud Dragonborn ๐Ÿ›๏ธ + +**Role:** Principal Game Systems Architect + Technical Director + +**When to Use:** + +- Game system architecture +- Technical foundation design for games +- Solutioning gate checks for game projects +- Course correction during game development + +**Primary Phase:** Phase 3 (Solutioning - Games) + +**Workflows:** + +- `workflow-status` - Check what to do next +- `create-architecture` - Game systems architecture +- `solutioning-gate-check` - Validate Phase 3โ†’4 transition +- `correct-course` - Handle technical changes + +**Communication Style:** Calm and measured. Systematic thinking about complex systems. Uses chess metaphors and military strategy. Emphasizes balance and elegance. + +**Expertise:** + +- Multiplayer architecture (dedicated servers, P2P, hybrid) +- Engine architecture and design +- Asset pipeline optimization +- Platform-specific optimization (console, PC, mobile) +- Technical leadership and mentorship + +--- + +## Special Purpose Agents + +### BMad Master ๐Ÿง™ + +**Role:** BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator + +**When to Use:** + +- Listing all available tasks and workflows +- Facilitating multi-agent party mode discussions +- Meta-level orchestration across modules +- Understanding BMad Core capabilities + +**Primary Phase:** Meta (all phases) + +**Workflows:** + +- `party-mode` - Group chat with all agents (see Party Mode section below) + +**Actions:** + +- `list-tasks` - Show all available tasks from task-manifest.csv +- `list-workflows` - Show all available workflows from workflow-manifest.csv + +**Communication Style:** Direct and comprehensive. Refers to himself in third person ("BMad Master recommends..."). Expert-level communication focused on efficient execution. Presents information systematically using numbered lists. + +**Principles:** + +- Load resources at runtime, never pre-load +- Always present numbered lists for user choices +- Resource-driven execution (tasks, workflows, agents from manifests) + +**Special Role:** + +- **Party Mode Orchestrator:** Loads agent manifest, applies customizations, moderates discussions, summarizes when conversations become circular +- **Knowledge Custodian:** Maintains awareness of all installed modules, agents, workflows, and tasks +- **Workflow Facilitator:** Guides users to appropriate workflows based on current project state + +**Learn More:** See [Party Mode Guide](./party-mode.md) for complete documentation on multi-agent collaboration. + +--- + +## Party Mode: Multi-Agent Collaboration + +Get all your installed agents in one conversation for multi-perspective discussions, retrospectives, and collaborative decision-making. + +**Quick Start:** + +```bash +/bmad:core:workflows:party-mode +# OR from any agent: *party-mode +``` + +**What happens:** BMad Master orchestrates 2-3 relevant agents per message. They discuss, debate, and collaborate in real-time. + +**Best for:** Strategic decisions, creative brainstorming, post-mortems, sprint retrospectives, complex problem-solving. + +**Current BMM uses:** Powers `epic-retrospective` workflow, sprint planning discussions. + +**Future:** Advanced elicitation workflows will officially leverage party mode. + +๐Ÿ‘‰ **[Party Mode Guide](./party-mode.md)** - Complete guide with fun examples, tips, and troubleshooting + +--- + +## Workflow Access + +### How to Run Workflows + +**From IDE (Claude Code, Cursor, Windsurf):** + +1. Load the agent using agent reference (e.g., type `@pm` in Claude Code) +2. Wait for agent menu to appear in chat +3. Type the workflow trigger with `*` prefix (e.g., `*create-prd`) +4. Follow the workflow prompts + +**Agent Menu Structure:** +Each agent displays their available workflows when loaded. Look for: + +- `*` prefix indicates workflow trigger +- Grouped by category or phase +- START HERE indicators for recommended entry points + +### Universal Workflows + +Some workflows are available to multiple agents: + +| Workflow | Agents | Purpose | +| ------------------ | --------------------------------- | ------------------------------------------- | +| `workflow-status` | ALL agents | Check current state and get recommendations | +| `workflow-init` | PM, Analyst, Game Designer | Initialize workflow tracking | +| `correct-course` | PM, Architect, SM, Game Architect | Change management during implementation | +| `document-project` | Analyst, Technical Writer | Brownfield documentation | + +### Validation Actions + +Many workflows have optional validation workflows that perform independent review: + +| Validation | Agent | Validates | +| ---------------------------- | ----------- | ---------------------------------- | +| `validate-prd` | PM | PRD + Epics + Stories completeness | +| `validate-tech-spec` | PM | Technical specification quality | +| `validate-architecture` | Architect | Architecture document | +| `validate-design` | UX Designer | UX specification and artifacts | +| `validate-epic-tech-context` | SM | Epic technical context | +| `validate-create-story` | SM | Story draft | +| `validate-story-context` | SM | Story context XML | + +**When to use validation:** + +- Before phase transitions +- For critical documents +- When learning BMM +- For high-stakes projects + +--- + +## Agent Customization + +You can customize any agent's personality without modifying core agent files. + +### Location + +**Customization Directory:** `{project-root}/.bmad/_cfg/agents/` + +**Naming Convention:** `{module}-{agent-name}.customize.yaml` + +**Examples:** + +``` +.bmad/_cfg/agents/ +โ”œโ”€โ”€ bmm-pm.customize.yaml +โ”œโ”€โ”€ bmm-dev.customize.yaml +โ”œโ”€โ”€ cis-storyteller.customize.yaml +โ””โ”€โ”€ bmb-bmad-builder.customize.yaml +``` + +### Override Structure + +**File Format:** + +```yaml +agent: + persona: + displayName: 'Custom Name' # Optional: Override display name + communicationStyle: 'Custom style description' # Optional: Override style + principles: # Optional: Add or replace principles + - 'Custom principle for this project' + - 'Another project-specific guideline' +``` + +### Override Behavior + +**Precedence:** Customization > Manifest + +**Merge Rules:** + +- If field specified in customization, it replaces manifest value +- If field NOT specified, manifest value used +- Additional fields are added to agent personality +- Changes apply immediately when agent loaded + +### Use Cases + +**Adjust Formality:** + +```yaml +agent: + persona: + communicationStyle: 'Formal and corporate-focused. Uses business terminology. Structured responses with executive summaries.' +``` + +**Add Domain Expertise:** + +```yaml +agent: + persona: + identity: | + Expert Product Manager with 15 years experience in healthcare SaaS. + Deep understanding of HIPAA compliance, EHR integrations, and clinical workflows. + Specializes in balancing regulatory requirements with user experience. +``` + +**Modify Principles:** + +```yaml +agent: + persona: + principles: + - 'HIPAA compliance is non-negotiable' + - 'Prioritize patient safety over feature velocity' + - 'Every feature must have clinical validation' +``` + +**Change Personality:** + +```yaml +agent: + persona: + displayName: 'Alex' # Change from default "Amelia" + communicationStyle: 'Casual and friendly. Uses emojis. Explains technical concepts in simple terms.' +``` + +### Party Mode Integration + +Customizations automatically apply in party mode: + +1. Party mode reads manifest +2. Checks for customization files +3. Merges customizations with manifest +4. Agents respond with customized personalities + +**Example:** + +``` +You customize PM with healthcare expertise. +In party mode, PM now brings healthcare knowledge to discussions. +Other agents collaborate with PM's specialized perspective. +``` + +### Applying Customizations + +**IMPORTANT:** Customizations don't take effect until you rebuild the agents. + +**Complete Process:** + +**Step 1: Create/Modify Customization File** + +```bash +# Create customization file at: +# {project-root}/.bmad/_cfg/agents/{module}-{agent-name}.customize.yaml + +# Example: .bmad/_cfg/agents/bmm-pm.customize.yaml +``` + +**Step 2: Regenerate Agent Manifest** + +After modifying customization files, you must regenerate the agent manifest and rebuild agents: + +```bash +# Run the installer to apply customizations +npx bmad-method install + +# The installer will: +# 1. Read all customization files +# 2. Regenerate agent-manifest.csv with merged data +# 3. Rebuild agent .md files with customizations applied +``` + +**Step 3: Verify Changes** + +Load the customized agent and verify the changes are reflected in its behavior and responses. + +**Why This is Required:** + +- Customization files are just configuration - they don't change agents directly +- The agent manifest must be regenerated to merge customizations +- Agent .md files must be rebuilt with the merged data +- Party mode and all workflows load agents from the rebuilt files + +### Best Practices + +1. **Keep it project-specific:** Customize for your domain, not general changes +2. **Don't break character:** Keep customizations aligned with agent's core role +3. **Test in party mode:** See how customizations interact with other agents +4. **Document why:** Add comments explaining customization purpose +5. **Share with team:** Customizations survive updates, can be version controlled +6. **Rebuild after changes:** Always run installer after modifying customization files + +--- + +## Best Practices + +### Agent Selection + +**1. Start with workflow-status** + +- When unsure where you are, load any agent and run `*workflow-status` +- Agent will analyze current project state and recommend next steps +- Works across all phases and all agents + +**2. Match phase to agent** + +- **Phase 1 (Analysis):** Analyst, Game Designer +- **Phase 2 (Planning):** PM, UX Designer, Game Designer +- **Phase 3 (Solutioning):** Architect, Game Architect +- **Phase 4 (Implementation):** SM, DEV, Game Developer +- **Testing:** TEA (all phases) +- **Documentation:** Technical Writer (all phases) + +**3. Use specialists** + +- **Testing:** TEA for comprehensive quality strategy +- **Documentation:** Technical Writer for technical writing +- **Games:** Game Designer/Developer/Architect for game-specific needs +- **UX:** UX Designer for user-centered design + +**4. Try party mode for:** + +- Strategic decisions with trade-offs +- Creative brainstorming sessions +- Cross-functional alignment +- Complex problem solving + +### Working with Agents + +**1. Trust their expertise** + +- Agents embody decades of simulated experience +- Their questions uncover critical issues +- Their recommendations are data-informed +- Their warnings prevent costly mistakes + +**2. Answer their questions** + +- Agents ask for important reasons +- Incomplete answers lead to assumptions +- Detailed responses yield better outcomes +- "I don't know" is a valid answer + +**3. Follow workflows** + +- Structured processes prevent missed steps +- Workflows encode best practices +- Sequential workflows build on each other +- Validation workflows catch errors early + +**4. Customize when needed** + +- Adjust agent personalities for your project +- Add domain-specific expertise +- Modify communication style for team preferences +- Keep customizations project-specific + +### Common Workflows Patterns + +**Starting a New Project (Greenfield):** + +``` +1. PM or Analyst: *workflow-init +2. Analyst: *brainstorm-project or *product-brief (optional) +3. PM: *create-prd (Level 2-4) or *tech-spec (Level 0-1) +4. Architect: *create-architecture (Level 3-4 only) +5. SM: *sprint-planning +``` + +**Starting with Existing Code (Brownfield):** + +``` +1. Analyst or Technical Writer: *document-project +2. PM or Analyst: *workflow-init +3. PM: *create-prd or *tech-spec +4. Architect: *create-architecture (if needed) +5. SM: *sprint-planning +``` + +**Story Development Cycle:** + +``` +1. SM: *epic-tech-context (optional, once per epic) +2. SM: *create-story +3. SM: *story-context +4. DEV: *develop-story +5. DEV: *code-review +6. DEV: *story-done +7. Repeat steps 2-6 for next story +``` + +**Testing Strategy:** + +``` +1. TEA: *framework (once per project, early) +2. TEA: *atdd (before implementing features) +3. DEV: *develop-story (includes tests) +4. TEA: *automate (comprehensive test suite) +5. TEA: *trace (quality gate) +6. TEA: *ci (pipeline setup) +``` + +**Game Development:** + +``` +1. Game Designer: *brainstorm-game +2. Game Designer: *create-gdd +3. Game Architect: *create-architecture +4. SM: *sprint-planning +5. Game Developer: *create-story +6. Game Developer: *dev-story +7. Game Developer: *code-review +``` + +### Navigation Tips + +**Lost? Run workflow-status** + +``` +Load any agent โ†’ *workflow-status +Agent analyzes project state โ†’ recommends next workflow +``` + +**Phase transitions:** + +``` +Each phase has validation gates: +- Phase 2โ†’3: validate-prd, validate-tech-spec +- Phase 3โ†’4: solutioning-gate-check +Run validation before advancing +``` + +**Course correction:** + +``` +If priorities change mid-project: +Load PM, Architect, or SM โ†’ *correct-course +``` + +**Testing integration:** + +``` +TEA can be invoked at any phase: +- Phase 1: Test strategy planning +- Phase 2: Test scenarios in PRD +- Phase 3: Architecture testability review +- Phase 4: Test automation and CI +``` + +--- + +## Agent Reference Table + +Quick reference for agent selection: + +| Agent | Icon | Primary Phase | Key Workflows | Best For | +| ----------------------- | ---- | ------------------ | --------------------------------------------- | ------------------------------------- | +| **Analyst** | ๐Ÿ“Š | 1 (Analysis) | brainstorm, brief, research, document-project | Discovery, requirements, brownfield | +| **PM** | ๐Ÿ“‹ | 2 (Planning) | prd, tech-spec, epics-stories | Planning, requirements docs | +| **UX Designer** | ๐ŸŽจ | 2 (Planning) | create-design, validate-design | UX-heavy projects, design | +| **Architect** | ๐Ÿ—๏ธ | 3 (Solutioning) | architecture, gate-check | Technical design, architecture | +| **SM** | ๐Ÿƒ | 4 (Implementation) | sprint-planning, create-story, story-context | Story management, sprint coordination | +| **DEV** | ๐Ÿ’ป | 4 (Implementation) | develop-story, code-review, story-done | Implementation, coding | +| **TEA** | ๐Ÿงช | All Phases | framework, atdd, automate, trace, ci | Testing, quality assurance | +| **Paige (Tech Writer)** | ๐Ÿ“š | All Phases | document-project, diagrams, validation | Documentation, diagrams | +| **Game Designer** | ๐ŸŽฒ | 1-2 (Games) | brainstorm-game, gdd, narrative | Game design, creative vision | +| **Game Developer** | ๐Ÿ•น๏ธ | 4 (Games) | develop-story, story-done, code-review | Game implementation | +| **Game Architect** | ๐Ÿ›๏ธ | 3 (Games) | architecture, gate-check | Game systems architecture | +| **BMad Master** | ๐Ÿง™ | Meta | party-mode, list tasks/workflows | Orchestration, multi-agent | + +### Agent Capabilities Summary + +**Planning Agents (3):** + +- PM: Requirements and planning docs +- UX Designer: User experience design +- Game Designer: Game design and narrative + +**Architecture Agents (2):** + +- Architect: System architecture +- Game Architect: Game systems architecture + +**Implementation Agents (3):** + +- SM: Story management and coordination +- DEV: Software development +- Game Developer: Game development + +**Quality Agents (2):** + +- TEA: Testing and quality assurance +- DEV: Code review + +**Support Agents (2):** + +- Analyst: Research and discovery +- Technical Writer: Documentation and diagrams + +**Meta Agent (1):** + +- BMad Master: Orchestration and party mode + +--- + +## Additional Resources + +**Workflow Documentation:** + +- [Phase 1: Analysis Workflows](./workflows-analysis.md) +- [Phase 2: Planning Workflows](./workflows-planning.md) +- [Phase 3: Solutioning Workflows](./workflows-solutioning.md) +- [Phase 4: Implementation Workflows](./workflows-implementation.md) + + +**Advanced References:** + +- [Architecture Workflow Reference](./workflow-architecture-reference.md) - Decision architecture details +- [Document Project Workflow Reference](./workflow-document-project-reference.md) - Brownfield documentation + +**Getting Started:** + +- [Quick Start Guide](./quick-start.md) - Step-by-step tutorial +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding project levels +- [Brownfield Guide](./brownfield-guide.md) - Working with existing code + +**Other Guides:** + +- [Enterprise Agentic Development](./enterprise-agentic-development.md) - Team collaboration +- [FAQ](./faq.md) - Common questions +- [Glossary](./glossary.md) - Terminology reference + +--- + +## Quick Start Checklist + +**First Time with BMM:** + +- [ ] Read [Quick Start Guide](./quick-start.md) +- [ ] Understand [Scale Adaptive System](./scale-adaptive-system.md) +- [ ] Load an agent in your IDE +- [ ] Run `*workflow-status` +- [ ] Follow recommended workflow + +**Starting a Project:** + +- [ ] Determine project type (greenfield vs brownfield) +- [ ] If brownfield: Run `*document-project` (Analyst or Technical Writer) +- [ ] Load PM or Analyst โ†’ `*workflow-init` +- [ ] Follow phase-appropriate workflows +- [ ] Try `*party-mode` for strategic decisions + +**Implementing Stories:** + +- [ ] SM: `*sprint-planning` (once) +- [ ] SM: `*create-story` +- [ ] SM: `*story-context` +- [ ] DEV: `*develop-story` +- [ ] DEV: `*code-review` +- [ ] DEV: `*story-done` + +**Testing Strategy:** + +- [ ] TEA: `*framework` (early in project) +- [ ] TEA: `*atdd` (before features) +- [ ] TEA: `*test-design` (comprehensive scenarios) +- [ ] TEA: `*ci` (pipeline setup) + +--- + +_Welcome to the team. Your AI agents are ready to collaborate._ diff --git a/.bmad/bmm/docs/brownfield-guide.md b/.bmad/bmm/docs/brownfield-guide.md new file mode 100644 index 00000000..d3c02dbb --- /dev/null +++ b/.bmad/bmm/docs/brownfield-guide.md @@ -0,0 +1,754 @@ +# BMad Method Brownfield Development Guide + +**Complete guide for working with existing codebases** + +**Reading Time:** ~35 minutes + +--- + +## Quick Navigation + +**Jump to:** + +- [Quick Reference](#quick-reference) - Commands and files +- [Common Scenarios](#common-scenarios) - Real-world examples +- [Best Practices](#best-practices) - Success tips + +--- + +## What is Brownfield Development? + +Brownfield projects involve working within existing codebases rather than starting fresh: + +- **Bug fixes** - Single file changes +- **Small features** - Adding to existing modules +- **Feature sets** - Multiple related features +- **Major integrations** - Complex architectural additions +- **System expansions** - Enterprise-scale enhancements + +**Key Difference from Greenfield:** You must understand and respect existing patterns, architecture, and constraints. + +**Core Principle:** AI agents need comprehensive documentation to understand existing code before they can effectively plan or implement changes. + +--- + +## Getting Started + +### Understanding Planning Tracks + +For complete track details, see [Scale Adaptive System](./scale-adaptive-system.md). + +**Brownfield tracks at a glance:** + +| Track | Scope | Typical Stories | Key Difference | +| --------------------- | -------------------------- | --------------- | ----------------------------------------------- | +| **Quick Flow** | Bug fixes, small features | 1-15 | Must understand affected code and patterns | +| **BMad Method** | Feature sets, integrations | 10-50+ | Integrate with existing architecture | +| **Enterprise Method** | Enterprise expansions | 30+ | Full system documentation + compliance required | + +**Note:** Story counts are guidance, not definitions. Tracks are chosen based on planning needs. + +### Track Selection for Brownfield + +When you run `workflow-init`, it handles brownfield intelligently: + +**Step 1: Shows what it found** + +- Old planning docs (PRD, epics, stories) +- Existing codebase + +**Step 2: Asks about YOUR work** + +> "Are these works in progress, previous effort, or proposed work?" + +- **(a) Works in progress** โ†’ Uses artifacts to determine level +- **(b) Previous effort** โ†’ Asks you to describe NEW work +- **(c) Proposed work** โ†’ Uses artifacts as guidance +- **(d) None of these** โ†’ You explain your work + +**Step 3: Analyzes your description** + +- Keywords: "fix", "bug" โ†’ Quick Flow, "dashboard", "platform" โ†’ BMad Method, "enterprise", "multi-tenant" โ†’ Enterprise Method +- Complexity assessment +- Confirms suggested track with you + +**Key Principle:** System asks about YOUR current work first, uses old artifacts as context only. + +**Example: Old Complex PRD, New Simple Work** + +``` +System: "Found PRD.md (BMad Method track, 30 stories, 6 months old)" +System: "Is this work in progress or previous effort?" +You: "Previous effort - I'm just fixing a bug now" +System: "Tell me about your current work" +You: "Update payment method enums" +System: "Quick Flow track (tech-spec approach). Correct?" +You: "Yes" +โœ… Creates Quick Flow workflow +``` + +--- + +## Phase 0: Documentation (Critical First Step) + +๐Ÿšจ **For brownfield projects: Always ensure adequate AI-usable documentation before planning** + +### Default Recommendation: Run document-project + +**Best practice:** Run `document-project` workflow unless you have **confirmed, trusted, AI-optimized documentation**. + +### Why Document-Project is Almost Always the Right Choice + +Existing documentation often has quality issues that break AI workflows: + +**Common Problems:** + +- **Too Much Information (TMI):** Massive markdown files with 10s or 100s of level 2 sections +- **Out of Date:** Documentation hasn't been updated with recent code changes +- **Wrong Format:** Written for humans, not AI agents (lacks structure, index, clear patterns) +- **Incomplete Coverage:** Missing critical architecture, patterns, or setup info +- **Inconsistent Quality:** Some areas documented well, others not at all + +**Impact on AI Agents:** + +- AI agents hit token limits reading massive files +- Outdated docs cause hallucinations (agent thinks old patterns still apply) +- Missing structure means agents can't find relevant information +- Incomplete coverage leads to incorrect assumptions + +### Documentation Decision Tree + +**Step 1: Assess Existing Documentation Quality** + +Ask yourself: + +- โœ… Is it **current** (updated in last 30 days)? +- โœ… Is it **AI-optimized** (structured with index.md, clear sections, <500 lines per file)? +- โœ… Is it **comprehensive** (architecture, patterns, setup all documented)? +- โœ… Do you **trust** it completely for AI agent consumption? + +**If ANY answer is NO โ†’ Run `document-project`** + +**Step 2: Check for Massive Documents** + +If you have documentation but files are huge (>500 lines, 10+ level 2 sections): + +1. **First:** Run `shard-doc` tool to split large files: + + ```bash + # Load BMad Master or any agent + .bmad/core/tools/shard-doc.xml --input docs/massive-doc.md + ``` + + - Splits on level 2 sections by default + - Creates organized, manageable files + - Preserves content integrity + +2. **Then:** Run `index-docs` task to create navigation: + + ```bash + .bmad/core/tasks/index-docs.xml --directory ./docs + ``` + +3. **Finally:** Validate quality - if sharded docs still seem incomplete/outdated โ†’ Run `document-project` + +### Four Real-World Scenarios + +| Scenario | You Have | Action | Why | +| -------- | ------------------------------------------ | -------------------------- | --------------------------------------- | +| **A** | No documentation | `document-project` | Only option - generate from scratch | +| **B** | Docs exist but massive/outdated/incomplete | `document-project` | Safer to regenerate than trust bad docs | +| **C** | Good docs but no structure | `shard-doc` โ†’ `index-docs` | Structure existing content for AI | +| **D** | Confirmed AI-optimized docs with index.md | Skip Phase 0 | Rare - only if you're 100% confident | + +### Scenario A: No Documentation (Most Common) + +**Action: Run document-project workflow** + +1. Load Analyst or Technical Writer (Paige) agent +2. Run `*document-project` +3. Choose scan level: + - **Quick** (2-5min): Pattern analysis, no source reading + - **Deep** (10-30min): Reads critical paths - **Recommended** + - **Exhaustive** (30-120min): Reads all files + +**Outputs:** + +- `docs/index.md` - Master AI entry point +- `docs/project-overview.md` - Executive summary +- `docs/architecture.md` - Architecture analysis +- `docs/source-tree-analysis.md` - Directory structure +- Additional files based on project type (API, web app, etc.) + +### Scenario B: Docs Exist But Quality Unknown/Poor (Very Common) + +**Action: Run document-project workflow (regenerate)** + +Even if `docs/` folder exists, if you're unsure about quality โ†’ **regenerate**. + +**Why regenerate instead of index?** + +- Outdated docs โ†’ AI makes wrong assumptions +- Incomplete docs โ†’ AI invents missing information +- TMI docs โ†’ AI hits token limits, misses key info +- Human-focused docs โ†’ Missing AI-critical structure + +**document-project** will: + +- Scan actual codebase (source of truth) +- Generate fresh, accurate documentation +- Structure properly for AI consumption +- Include only relevant, current information + +### Scenario C: Good Docs But Needs Structure + +**Action: Shard massive files, then index** + +If you have **good, current documentation** but it's in massive files: + +**Step 1: Shard large documents** + +```bash +# For each massive doc (>500 lines or 10+ level 2 sections) +.bmad/core/tools/shard-doc.xml \ + --input docs/api-documentation.md \ + --output docs/api/ \ + --level 2 # Split on ## headers (default) +``` + +**Step 2: Generate index** + +```bash +.bmad/core/tasks/index-docs.xml --directory ./docs +``` + +**Step 3: Validate** + +- Review generated `docs/index.md` +- Check that sharded files are <500 lines each +- Verify content is current and accurate +- **If anything seems off โ†’ Run document-project instead** + +### Scenario D: Confirmed AI-Optimized Documentation (Rare) + +**Action: Skip Phase 0** + +Only skip if ALL conditions met: + +- โœ… `docs/index.md` exists and is comprehensive +- โœ… Documentation updated within last 30 days +- โœ… All doc files <500 lines with clear structure +- โœ… Covers architecture, patterns, setup, API surface +- โœ… You personally verified quality for AI consumption +- โœ… Previous AI agents used it successfully + +**If unsure โ†’ Run document-project** (costs 10-30 minutes, saves hours of confusion) + +### Why document-project is Critical + +Without AI-optimized documentation, workflows fail: + +- **tech-spec** (Quick Flow) can't auto-detect stack/patterns โ†’ Makes wrong assumptions +- **PRD** (BMad Method) can't reference existing code โ†’ Designs incompatible features +- **architecture** can't build on existing structure โ†’ Suggests conflicting patterns +- **story-context** can't inject existing patterns โ†’ Dev agent rewrites working code +- **dev-story** invents implementations โ†’ Breaks existing integrations + +### Key Principle + +**When in doubt, run document-project.** + +It's better to spend 10-30 minutes generating fresh, accurate docs than to waste hours debugging AI agents working from bad documentation. + +--- + +## Workflow Phases by Track + +### Phase 1: Analysis (Optional) + +**Workflows:** + +- `brainstorm-project` - Solution exploration +- `research` - Technical/market research +- `product-brief` - Strategic planning (BMad Method/Enterprise tracks only) + +**When to use:** Complex features, technical decisions, strategic additions + +**When to skip:** Bug fixes, well-understood features, time-sensitive changes + +See the [Workflows section in BMM README](../README.md) for details. + +### Phase 2: Planning (Required) + +**Planning approach adapts by track:** + +**Quick Flow:** Use `tech-spec` workflow + +- Creates tech-spec.md +- Auto-detects existing stack (brownfield) +- Confirms conventions with you +- Generates implementation-ready stories + +**BMad Method/Enterprise:** Use `prd` workflow + +- Creates PRD.md + epic breakdown +- References existing architecture +- Plans integration points + +**Brownfield-specific:** See [Scale Adaptive System](./scale-adaptive-system.md) for complete workflow paths by track. + +### Phase 3: Solutioning (BMad Method/Enterprise Only) + +**Critical for brownfield:** + +- Review existing architecture FIRST +- Document integration points explicitly +- Plan backward compatibility +- Consider migration strategy + +**Workflows:** + +- `create-architecture` - Extend architecture docs (BMad Method/Enterprise) +- `solutioning-gate-check` - Validate before implementation (BMad Method/Enterprise) + +### Phase 4: Implementation (All Tracks) + +**Sprint-based development through story iteration:** + +```mermaid +flowchart TD + SPRINT[sprint-planning
Initialize tracking] + EPIC[epic-tech-context
Per epic] + CREATE[create-story] + CONTEXT[story-context] + DEV[dev-story] + REVIEW[code-review] + CHECK{More stories?} + RETRO[retrospective
Per epic] + + SPRINT --> EPIC + EPIC --> CREATE + CREATE --> CONTEXT + CONTEXT --> DEV + DEV --> REVIEW + REVIEW --> CHECK + CHECK -->|Yes| CREATE + CHECK -->|No| RETRO + + style SPRINT fill:#bfb,stroke:#333,stroke-width:2px,color:#000 + style RETRO fill:#fbf,stroke:#333,stroke-width:2px,color:#000 +``` + +**Status Progression:** + +- Epic: `backlog โ†’ contexted` +- Story: `backlog โ†’ drafted โ†’ ready-for-dev โ†’ in-progress โ†’ review โ†’ done` + +**Brownfield-Specific Implementation Tips:** + +1. **Respect existing patterns** - Follow established conventions +2. **Test integration thoroughly** - Validate interactions with existing code +3. **Use feature flags** - Enable gradual rollout +4. **Context injection matters** - epic-tech-context and story-context reference existing patterns + +--- + +## Best Practices + +### 1. Always Document First + +Even if you know the code, AI agents need `document-project` output for context. Run it before planning. + +### 2. Be Specific About Current Work + +When workflow-init asks about your work: + +- โœ… "Update payment method enums to include Apple Pay" +- โŒ "Fix stuff" + +### 3. Choose Right Documentation Approach + +- **Has good docs, no index?** โ†’ Run `index-docs` task (fast) +- **No docs or need codebase analysis?** โ†’ Run `document-project` (Deep scan) + +### 4. Respect Existing Patterns + +Tech-spec and story-context will detect conventions. Follow them unless explicitly modernizing. + +### 5. Plan Integration Points Explicitly + +Document in tech-spec/architecture: + +- Which existing modules you'll modify +- What APIs/services you'll integrate with +- How data flows between new and existing code + +### 6. Design for Gradual Rollout + +- Use feature flags for new functionality +- Plan rollback strategies +- Maintain backward compatibility +- Create migration scripts if needed + +### 7. Test Integration Thoroughly + +- Regression testing of existing features +- Integration point validation +- Performance impact assessment +- API contract verification + +### 8. Use Sprint Planning Effectively + +- Run `sprint-planning` at Phase 4 start +- Context epics before drafting stories +- Update `sprint-status.yaml` as work progresses + +### 9. Leverage Context Injection + +- Run `epic-tech-context` before story drafting +- Always create `story-context` before implementation +- These reference existing patterns for consistency + +### 10. Learn Continuously + +- Run `retrospective` after each epic +- Incorporate learnings into next stories +- Update discovered patterns +- Share insights across team + +--- + +## Common Scenarios + +### Scenario 1: Bug Fix (Quick Flow) + +**Situation:** Authentication token expiration causing logout issues + +**Track:** Quick Flow + +**Workflow:** + +1. **Document:** Skip if auth system documented, else run `document-project` (Quick scan) +2. **Plan:** Load PM โ†’ run `tech-spec` + - Analyzes bug + - Detects stack (Express, Jest) + - Confirms conventions + - Creates tech-spec.md + story +3. **Implement:** Load DEV โ†’ run `dev-story` +4. **Review:** Load DEV โ†’ run `code-review` + +**Time:** 2-4 hours + +--- + +### Scenario 2: Small Feature (Quick Flow) + +**Situation:** Add "forgot password" to existing auth system + +**Track:** Quick Flow + +**Workflow:** + +1. **Document:** Run `document-project` (Deep scan of auth module if not documented) +2. **Plan:** Load PM โ†’ run `tech-spec` + - Detects Next.js 13.4, NextAuth.js + - Analyzes existing auth patterns + - Confirms conventions + - Creates tech-spec.md + epic + 3-5 stories +3. **Implement:** Load SM โ†’ `sprint-planning` โ†’ `create-story` โ†’ `story-context` + Load DEV โ†’ `dev-story` for each story +4. **Review:** Load DEV โ†’ `code-review` + +**Time:** 1-3 days + +--- + +### Scenario 3: Feature Set (BMad Method) + +**Situation:** Add user dashboard with analytics, preferences, activity + +**Track:** BMad Method + +**Workflow:** + +1. **Document:** Run `document-project` (Deep scan) - Critical for understanding existing UI patterns +2. **Analyze:** Load Analyst โ†’ `research` (if evaluating analytics libraries) +3. **Plan:** Load PM โ†’ `prd` +4. **Solution:** Load Architect โ†’ `create-architecture` โ†’ `solutioning-gate-check` +5. **Implement:** Sprint-based (10-15 stories) + - Load SM โ†’ `sprint-planning` + - Per epic: `epic-tech-context` โ†’ stories + - Load DEV โ†’ `dev-story` per story +6. **Review:** Per story completion + +**Time:** 1-2 weeks + +--- + +### Scenario 4: Complex Integration (BMad Method) + +**Situation:** Add real-time collaboration to document editor + +**Track:** BMad Method + +**Workflow:** + +1. **Document:** Run `document-project` (Exhaustive if not documented) - **Mandatory** +2. **Analyze:** Load Analyst โ†’ `research` (WebSocket vs WebRTC vs CRDT) +3. **Plan:** Load PM โ†’ `prd` +4. **Solution:** + - Load Architect โ†’ `create-architecture` (extend for real-time layer) + - Load Architect โ†’ `solutioning-gate-check` +5. **Implement:** Sprint-based (20-30 stories) + +**Time:** 3-6 weeks + +--- + +### Scenario 5: Enterprise Expansion (Enterprise Method) + +**Situation:** Add multi-tenancy to single-tenant SaaS platform + +**Track:** Enterprise Method + +**Workflow:** + +1. **Document:** Run `document-project` (Exhaustive) - **Mandatory** +2. **Analyze:** **Required** + - `brainstorm-project` - Explore multi-tenancy approaches + - `research` - Database sharding, tenant isolation, pricing + - `product-brief` - Strategic document +3. **Plan:** Load PM โ†’ `prd` (comprehensive) +4. **Solution:** + - `create-architecture` - Full system architecture + - `integration-planning` - Phased migration strategy + - `create-architecture` - Multi-tenancy architecture + - `validate-architecture` - External review + - `solutioning-gate-check` - Executive approval +5. **Implement:** Phased sprint-based (50+ stories) + +**Time:** 3-6 months + +--- + +## Troubleshooting + +### AI Agents Lack Codebase Understanding + +**Symptoms:** + +- Suggestions don't align with existing patterns +- Ignores available components +- Doesn't reference existing code + +**Solution:** + +1. Run `document-project` with Deep scan +2. Verify `docs/index.md` exists +3. Check documentation completeness +4. Run deep-dive on specific areas if needed + +### Have Documentation But Agents Can't Find It + +**Symptoms:** + +- README.md, ARCHITECTURE.md exist +- AI agents ask questions already answered +- No `docs/index.md` file + +**Solution:** + +- **Quick fix:** Run `index-docs` task (2-5min) +- **Comprehensive:** Run `document-project` workflow (10-30min) + +### Integration Points Unclear + +**Symptoms:** + +- Not sure how to connect new code to existing +- Unsure which files to modify + +**Solution:** + +1. Ensure `document-project` captured existing architecture +2. Check `story-context` - should document integration points +3. In tech-spec/architecture - explicitly document: + - Which existing modules to modify + - What APIs/services to integrate with + - Data flow between new and existing code +4. Review architecture document for integration guidance + +### Existing Tests Breaking + +**Symptoms:** + +- Regression test failures +- Previously working functionality broken + +**Solution:** + +1. Review changes against existing patterns +2. Verify API contracts unchanged (unless intentionally versioned) +3. Run `test-review` workflow (TEA agent) +4. Add regression testing to DoD +5. Consider feature flags for gradual rollout + +### Inconsistent Patterns Being Introduced + +**Symptoms:** + +- New code style doesn't match existing +- Different architectural approach + +**Solution:** + +1. Check convention detection (Quick Spec Flow should detect patterns) +2. Review documentation - ensure `document-project` captured patterns +3. Use `story-context` - injects pattern guidance +4. Add to code-review checklist: pattern adherence, convention consistency +5. Run retrospective to identify deviations early + +--- + +## Quick Reference + +### Commands by Phase + +```bash +# Phase 0: Documentation (If Needed) +# Analyst agent: +document-project # Create comprehensive docs (10-30min) +# OR load index-docs task for existing docs (2-5min) + +# Phase 1: Analysis (Optional) +# Analyst agent: +brainstorm-project # Explore solutions +research # Gather data +product-brief # Strategic planning (BMad Method/Enterprise only) + +# Phase 2: Planning (Required) +# PM agent: +tech-spec # Quick Flow track +prd # BMad Method/Enterprise tracks + +# Phase 3: Solutioning (BMad Method/Enterprise) +# Architect agent: +create-architecture # Extend architecture +solutioning-gate-check # Final validation + +# Phase 4: Implementation (All Tracks) +# SM agent: +sprint-planning # Initialize tracking +epic-tech-context # Epic context +create-story # Draft story +story-context # Story context + +# DEV agent: +dev-story # Implement +code-review # Review + +# SM agent: +retrospective # After epic +correct-course # If issues +``` + +### Key Files + +**Phase 0 Output:** + +- `docs/index.md` - **Master AI entry point (REQUIRED)** +- `docs/project-overview.md` +- `docs/architecture.md` +- `docs/source-tree-analysis.md` + +**Phase 1-3 Tracking:** + +- `docs/bmm-workflow-status.yaml` - Progress tracker + +**Phase 2 Planning:** + +- `docs/tech-spec.md` (Quick Flow track) +- `docs/PRD.md` (BMad Method/Enterprise tracks) +- Epic breakdown + +**Phase 3 Architecture:** + +- `docs/architecture.md` (BMad Method/Enterprise tracks) + +**Phase 4 Implementation:** + +- `docs/sprint-status.yaml` - **Single source of truth** +- `docs/epic-{n}-context.md` +- `docs/stories/{epic}-{story}-{title}.md` +- `docs/stories/{epic}-{story}-{title}-context.md` + +### Decision Flowchart + +```mermaid +flowchart TD + START([Brownfield Project]) + CHECK{Has docs/
index.md?} + + START --> CHECK + CHECK -->|No| DOC[document-project
Deep scan] + CHECK -->|Yes| TRACK{What Track?} + + DOC --> TRACK + + TRACK -->|Quick Flow| TS[tech-spec] + TRACK -->|BMad Method| PRD[prd โ†’ architecture] + TRACK -->|Enterprise| PRD2[prd โ†’ arch + security/devops] + + TS --> IMPL[Phase 4
Implementation] + PRD --> IMPL + PRD2 --> IMPL + + style START fill:#f9f,stroke:#333,stroke-width:2px,color:#000 + style DOC fill:#ffb,stroke:#333,stroke-width:2px,color:#000 + style IMPL fill:#bfb,stroke:#333,stroke-width:2px,color:#000 +``` + +--- + +## Prevention Tips + +**Avoid issues before they happen:** + +1. โœ… **Always run document-project for brownfield** - Saves context issues later +2. โœ… **Use fresh chats for complex workflows** - Prevents hallucinations +3. โœ… **Verify files exist before workflows** - Check PRD, epics, stories present +4. โœ… **Read agent menu first** - Confirm agent has the workflow +5. โœ… **Start with simpler track if unsure** - Easy to upgrade (Quick Flow โ†’ BMad Method) +6. โœ… **Keep status files updated** - Manual updates when needed +7. โœ… **Run retrospectives after epics** - Catch issues early +8. โœ… **Follow phase sequence** - Don't skip required phases + +--- + +## Related Documentation + +- **[Scale Adaptive System](./scale-adaptive-system.md)** - Understanding tracks and complexity +- **[Quick Spec Flow](./quick-spec-flow.md)** - Fast-track for Quick Flow +- **[Quick Start Guide](./quick-start.md)** - Getting started with BMM +- **[Glossary](./glossary.md)** - Key terminology +- **[FAQ](./faq.md)** - Common questions +- **[Workflow Documentation](./README.md#-workflow-guides)** - Complete workflow reference + +--- + +## Support and Resources + +**Community:** + +- [Discord](https://discord.gg/gk8jAdXWmj) - #general-dev, #bugs-issues +- [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) +- [YouTube Channel](https://www.youtube.com/@BMadCode) + +**Documentation:** + +- [Test Architect Guide](./test-architecture.md) - Comprehensive testing strategy +- [BMM Module README](../README.md) - Complete module and workflow reference + +--- + +_Brownfield development is about understanding and respecting what exists while thoughtfully extending it._ diff --git a/.bmad/bmm/docs/enterprise-agentic-development.md b/.bmad/bmm/docs/enterprise-agentic-development.md new file mode 100644 index 00000000..8e11b2e8 --- /dev/null +++ b/.bmad/bmm/docs/enterprise-agentic-development.md @@ -0,0 +1,680 @@ +# Enterprise Agentic Development with BMad Method + +**The paradigm shift: From team-based story parallelism to individual epic ownership** + +**Reading Time:** ~18 minutes + +--- + +## Table of Contents + +- [The Paradigm Shift](#the-paradigm-shift) +- [The Evolving Role of Product Managers and UX Designers](#the-evolving-role-of-product-managers-and-ux-designers) +- [How BMad Method Enables PM/UX Technical Evolution](#how-bmad-method-enables-pmux-technical-evolution) +- [Team Collaboration Patterns](#team-collaboration-patterns) +- [Work Distribution Strategies](#work-distribution-strategies) +- [Enterprise Configuration with Git Submodules](#enterprise-configuration-with-git-submodules) +- [Best Practices](#best-practices) +- [Common Scenarios](#common-scenarios) + +--- + +## The Paradigm Shift + +### Traditional Agile: Team-Based Story Parallelism + +- **Epic duration:** 4-12 weeks across multiple sprints +- **Story duration:** 2-5 days per developer +- **Team size:** 5-9 developers working on same epic +- **Parallelization:** Multiple devs on stories within single epic +- **Coordination:** Constant - daily standups, merge conflicts, integration overhead + +**Example:** Payment Processing Epic + +- Sprint 1-2: Backend API (Dev A) +- Sprint 1-2: Frontend UI (Dev B) +- Sprint 2-3: Testing (Dev C) +- **Result:** 6-8 weeks, 3 developers, high coordination + +### Agentic Development: Individual Epic Ownership + +- **Epic duration:** Hours to days (not weeks) +- **Story duration:** 30 min to 4 hours with AI agent +- **Team size:** 1 developer + AI agents completes full epics +- **Parallelization:** Developers work on separate epics +- **Coordination:** Minimal - epic boundaries, async updates + +**Same Example:** Payment Processing Epic + +- Day 1 AM: Backend API stories (1 dev + agent, 3-4 stories) +- Day 1 PM: Frontend UI stories (same dev + agent, 2-3 stories) +- Day 2: Testing & deployment (same dev + agent, 2 stories) +- **Result:** 1-2 days, 1 developer, minimal coordination + +### The Core Difference + +**What changed:** AI agents collapse story duration from days to hours, making **epic-level ownership** practical. + +**Impact:** Single developer with BMad Method can deliver in 1 day what previously required full team and multiple sprints. + +--- + +## The Evolving Role of Product Managers and UX Designers + +### The Future is Now + +Product Managers and UX Designers are undergoing **the most significant transformation since the creation of these disciplines**. The emergence of AI agents is creating a new breed of technical product leaders who translate vision directly into working code. + +### From Spec Writers to Code Orchestrators + +**Traditional PM/UX (Pre-2025):** + +- Write PRDs, hand off to engineering +- Wait weeks/months for implementation +- Limited validation capabilities +- Non-technical role, heavy on process + +**Emerging PM/UX (2025+):** + +- Write AI-optimized PRDs that **feed agentic pipelines directly** +- Generate working prototypes in 10-15 minutes +- Review pull requests from AI agents +- Technical fluency is **table stakes**, not optional +- Orchestrate cloud-based AI agent teams + +### Industry Research (November 2025) + +- **56% of product professionals** cite AI/ML as top focus +- **AI agents automating** customer discovery, PRD creation, status reporting +- **PRD-to-Code automation** enables PMs to build and deploy apps in 10-15 minutes +- **By 2026**: Roles converging into "Full-Stack Product Lead" (PM + Design + Engineering) +- **Very high salaries** for AI agent PMs who orchestrate autonomous dev systems + +### Required Skills for Modern PMs/UX + +1. **AI Prompt Engineering** - Writing PRDs AI agents can execute autonomously +2. **Coding Literacy** - Understanding code structure, APIs, data flows (not production coding) +3. **Agentic Workflow Design** - Orchestrating multi-agent systems (planning โ†’ design โ†’ dev) +4. **Technical Architecture** - Reasoning frameworks, memory systems, tool integration +5. **Data Literacy** - Interpreting model outputs, spotting trends, identifying gaps +6. **Code Review** - Evaluating AI-generated PRs for correctness and vision alignment + +### What Remains Human + +**AI Can't Replace:** + +- Product vision (market dynamics, customer pain, strategic positioning) +- Empathy (deep user research, emotional intelligence, stakeholder management) +- Creativity (novel problem-solving, disruptive thinking) +- Judgment (prioritization decisions, trade-off analysis) +- Ethics (responsible AI use, privacy, accessibility) + +**What Changes:** + +- PMs/UX spend **more time on human elements** (AI handles routine execution) +- Barrier between "thinking" and "building" collapses +- Product leaders become **builder-thinkers**, not just spec writers + +### The Convergence + +- **PMs learning to code** with GitHub Copilot, Cursor, v0 +- **UX designers generating code** with UXPin Merge, Figma-to-code tools +- **Developers becoming orchestrators** reviewing AI output vs writing from scratch + +**The Bottom Line:** By 2026, successful PMs/UX will fluently operate in both vision and execution. **BMad Method provides the structured framework to make this transition.** + +--- + +## How BMad Method Enables PM/UX Technical Evolution + +BMad Method is specifically designed to position PMs and UX designers for this future. + +### 1. AI-Executable PRD Generation + +**PM Workflow:** + +```bash +bmad pm *create-prd +``` + +**BMad produces:** + +- Structured, machine-readable requirements +- Testable acceptance criteria per requirement +- Clear epic/story decomposition +- Technical context for AI agents + +**Why it matters:** Traditional PRDs are human-readable prose. BMad PRDs are **AI-executable work packages**. + +**PM Value:** Write once, automatically translated into agent-ready stories. No engineering bottleneck for translation. + +### 2. Automated Epic/Story Breakdown + +**PM Workflow:** + +```bash +bmad pm *create-epics-and-stories +``` + +**BMad produces:** + +- Epic files with clear objectives +- Story files with acceptance criteria, context, technical guidance +- Priority assignments (P0-P3) +- Dependency mapping + +**Why it matters:** Stories become **work packages for cloud AI agents**. Each story is self-contained with full context. + +**PM Value:** No more "story refinement sessions" with engineering. AI agents execute directly from BMad stories. + +### 3. Human-in-the-Loop Architecture + +**Architect/PM Workflow:** + +```bash +bmad architect *create-architecture +``` + +**BMad produces:** + +- System architecture aligned with PRD +- Architecture Decision Records (ADRs) +- Epic-specific technical guidance +- Integration patterns and standards + +**Why it matters:** PMs can **understand and validate** technical decisions. Architecture is conversational, not template-driven. + +**PM Value:** Technical fluency built through guided architecture process. PMs learn while creating. + +### 4. Cloud Agentic Pipeline (Emerging Pattern) + +**Current State (2025):** + +``` +PM writes BMad PRD + โ†“ +create-epics-and-stories generates story queue + โ†“ +Stories loaded by human developers + BMad agents + โ†“ +Developers create PRs + โ†“ +PM/Team reviews PRs + โ†“ +Merge and deploy +``` + +**Near Future (2026):** + +``` +PM writes BMad PRD + โ†“ +create-epics-and-stories generates story queue + โ†“ +Stories automatically fed to cloud AI agent pool + โ†“ +AI agents implement stories in parallel + โ†“ +AI agents create pull requests + โ†“ +PM/UX/Senior Devs review PRs + โ†“ +Approved PRs auto-merge + โ†“ +Continuous deployment to production +``` + +**Time Savings:** + +- **Traditional:** PM writes spec โ†’ 2-4 weeks engineering โ†’ review โ†’ deploy (6-8 weeks) +- **BMad Agentic:** PM writes PRD โ†’ AI agents implement โ†’ review PRs โ†’ deploy (2-5 days) + +### 5. UX Design Integration + +**UX Designer Workflow:** + +```bash +bmad ux *create-design +``` + +**BMad produces:** + +- Component-based design system +- Interaction patterns aligned with tech stack +- Accessibility guidelines +- Responsive design specifications + +**Why it matters:** Design specs become **implementation-ready** for AI agents. No "lost in translation" between design and dev. + +**UX Value:** Designs validated through working prototypes, not static mocks. Technical understanding built through BMad workflows. + +### 6. PM Technical Skills Development + +**BMad teaches PMs technical skills through:** + +- **Conversational workflows** - No pre-requisite knowledge, learn by doing +- **Architecture facilitation** - Understand system design through guided questions +- **Story context assembly** - See how code patterns inform implementation +- **Code review workflows** - Learn to evaluate code quality, patterns, standards + +**Example:** PM runs `create-architecture` workflow: + +- BMad asks about scale, performance, integrations +- PM answers business questions +- BMad explains technical implications +- PM learns architecture concepts while making decisions + +**Result:** PMs gain **working technical knowledge** without formal CS education. + +### 7. Organizational Leverage + +**Traditional Model:** + +- 1 PM โ†’ supports 5-9 developers โ†’ delivers 1-2 features/quarter + +**BMad Agentic Model:** + +- 1 PM โ†’ writes BMad PRD โ†’ 20-50 AI agents execute stories in parallel โ†’ delivers 5-10 features/quarter + +**Leverage multiplier:** 5-10ร— with same PM headcount. + +### 8. Quality Consistency + +**BMad ensures:** + +- AI agents follow architectural patterns consistently (via story-context) +- Code standards applied uniformly (via epic-tech-context) +- PRD traceability throughout implementation (via acceptance criteria) +- No "telephone game" between PM, design, and dev + +**PM Value:** What gets built **matches what was specified**, drastically reducing rework. + +### 9. Rapid Prototyping for Validation + +**PM Workflow (with BMad + Cursor/v0):** + +1. Use BMad to generate PRD structure and requirements +2. Extract key user flow from PRD +3. Feed to Cursor/v0 with BMad context +4. Working prototype in 10-15 minutes +5. Validate with users **before** committing to full development + +**Traditional:** Months of development to validate idea +**BMad Agentic:** Hours of development to validate idea + +### 10. Career Path Evolution + +**BMad positions PMs for emerging roles:** + +- **AI Agent Product Manager** - Orchestrate autonomous development systems +- **Full-Stack Product Lead** - Oversee product, design, engineering with AI leverage +- **Technical Product Strategist** - Bridge business vision and technical execution + +**Hiring advantage:** PMs using BMad demonstrate: + +- Technical fluency (can read architecture, validate tech decisions) +- AI-native workflows (structured requirements, agentic orchestration) +- Results (ship 5-10ร— faster than peers) + +--- + +## Team Collaboration Patterns + +### Old Pattern: Story Parallelism + +**Traditional Agile:** + +``` +Epic: User Dashboard (8 weeks) +โ”œโ”€ Story 1: Backend API (Dev A, Sprint 1-2) +โ”œโ”€ Story 2: Frontend Layout (Dev B, Sprint 1-2) +โ”œโ”€ Story 3: Data Viz (Dev C, Sprint 2-3) +โ””โ”€ Story 4: Integration Testing (Team, Sprint 3-4) + +Challenge: Coordination overhead, merge conflicts, integration issues +``` + +### New Pattern: Epic Ownership + +**Agentic Development:** + +``` +Project: Analytics Platform (2-3 weeks) + +Developer A: +โ””โ”€ Epic 1: User Dashboard (3 days, 12 stories sequentially with AI) + +Developer B: +โ””โ”€ Epic 2: Admin Panel (4 days, 15 stories sequentially with AI) + +Developer C: +โ””โ”€ Epic 3: Reporting Engine (5 days, 18 stories sequentially with AI) + +Benefit: Minimal coordination, epic-level ownership, clear boundaries +``` + +--- + +## Work Distribution Strategies + +### Strategy 1: Epic-Based (Recommended) + +**Best for:** 2-10 developers + +**Approach:** Each developer owns complete epics, works sequentially through stories + +**Example:** + +```yaml +epics: + - id: epic-1 + title: Payment Processing + owner: alice + stories: 8 + estimate: 2 days + + - id: epic-2 + title: User Dashboard + owner: bob + stories: 12 + estimate: 3 days +``` + +**Benefits:** Clear ownership, minimal conflicts, epic cohesion, reduced coordination + +### Strategy 2: Layer-Based + +**Best for:** Full-stack apps, specialized teams + +**Example:** + +``` +Frontend Dev: Epic 1 (Product Catalog UI), Epic 3 (Cart UI) +Backend Dev: Epic 2 (Product API), Epic 4 (Cart Service) +``` + +**Benefits:** Developers in expertise area, true parallel work, clear API contracts + +**Requirements:** Strong architecture phase, clear API contracts upfront + +### Strategy 3: Feature-Based + +**Best for:** Large teams (10+ developers) + +**Example:** + +``` +Team A (2 devs): Payments feature (4 epics) +Team B (2 devs): User Management feature (3 epics) +Team C (2 devs): Analytics feature (3 epics) +``` + +**Benefits:** Feature team autonomy, domain expertise, scalable to large orgs + +--- + +## Enterprise Configuration with Git Submodules + +### The Challenge + +**Problem:** Teams customize BMad (agents, workflows, configs) but don't want personal tooling in main repo. + +**Anti-pattern:** Adding `.bmad/` to `.gitignore` breaks IDE tools, submodule management. + +### The Solution: Git Submodules + +**Benefits:** + +- BMad exists in project but tracked separately +- Each developer controls their own BMad version/config +- Optional team config sharing via submodule repo +- IDE tools maintain proper context + +### Setup (New Projects) + +**1. Create optional team config repo:** + +```bash +git init bmm-config +cd bmm-config +npx bmad-method install +# Customize for team standards +git commit -m "Team BMM config" +git push origin main +``` + +**2. Add submodule to project:** + +```bash +cd /path/to/your-project +git submodule add https://github.com/your-org/bmm-config.git bmad +git commit -m "Add BMM as submodule" +``` + +**3. Team members initialize:** + +```bash +git clone https://github.com/your-org/your-project.git +cd your-project +git submodule update --init --recursive +# Make personal customizations in .bmad/ +``` + +### Daily Workflow + +**Work in main project:** + +```bash +cd /path/to/your-project +# BMad available at ./.bmad/, load agents normally +``` + +**Update personal config:** + +```bash +cd bmad +# Make changes, commit locally, don't push unless sharing +``` + +**Update to latest team config:** + +```bash +cd bmad +git pull origin main +``` + +### Configuration Strategies + +**Option 1: Fully Personal** - No submodule, each dev installs independently, use `.gitignore` + +**Option 2: Team Baseline + Personal** - Submodule has team standards, devs add personal customizations locally + +**Option 3: Full Team Sharing** - All configs in submodule, team collaborates on improvements + +--- + +## Best Practices + +### 1. Epic Ownership + +- **Do:** Assign entire epic to one developer (context โ†’ implementation โ†’ retro) +- **Don't:** Split epics across multiple developers (coordination overhead, context loss) + +### 2. Dependency Management + +- **Do:** Identify epic dependencies in planning, document API contracts, complete prerequisites first +- **Don't:** Start dependent epic before prerequisite ready, change API contracts without coordination + +### 3. Communication Cadence + +**Traditional:** Daily standups essential +**Agentic:** Lighter coordination + +**Recommended:** + +- Daily async updates ("Epic 1, 60% complete, no blockers") +- Twice-weekly 15min sync +- Epic completion demos +- Sprint retro after all epics complete + +### 4. Branch Strategy + +```bash +feature/epic-1-payment-processing (Alice) +feature/epic-2-user-dashboard (Bob) +feature/epic-3-admin-panel (Carol) + +# PR and merge when epic complete +``` + +### 5. Testing Strategy + +- **Story-level:** Unit tests (DoD requirement, written by agent during dev-story) +- **Epic-level:** Integration tests across stories +- **Project-level:** E2E tests after multiple epics complete + +### 6. Documentation Updates + +- **Real-time:** `sprint-status.yaml` updated by workflows +- **Epic completion:** Update architecture docs, API docs, README if changed +- **Sprint completion:** Incorporate retrospective insights + +### 7. Metrics (Different from Traditional) + +**Traditional:** Story points per sprint, burndown charts +**Agentic:** Epics per week, stories per day, time to epic completion + +**Example velocity:** + +- Junior dev + AI: 1-2 epics/week (8-15 stories) +- Mid-level dev + AI: 2-3 epics/week (15-25 stories) +- Senior dev + AI: 3-5 epics/week (25-40 stories) + +--- + +## Common Scenarios + +### Scenario 1: Startup (2 Developers) + +**Project:** SaaS MVP (Level 3) + +**Distribution:** + +``` +Developer A: +โ”œโ”€ Epic 1: Authentication (3 days) +โ”œโ”€ Epic 3: Payment Integration (2 days) +โ””โ”€ Epic 5: Admin Dashboard (3 days) + +Developer B: +โ”œโ”€ Epic 2: Core Product Features (4 days) +โ”œโ”€ Epic 4: Analytics (3 days) +โ””โ”€ Epic 6: Notifications (2 days) + +Total: ~2 weeks +Traditional estimate: 3-4 months +``` + +**BMM Setup:** Direct installation, both use Claude Code, minimal customization + +### Scenario 2: Mid-Size Team (8 Developers) + +**Project:** Enterprise Platform (Level 4) + +**Distribution (Layer-Based):** + +``` +Backend (2 devs): 6 API epics +Frontend (2 devs): 6 UI epics +Full-stack (2 devs): 4 integration epics +DevOps (1 dev): 3 infrastructure epics +QA (1 dev): 1 E2E testing epic + +Total: ~3 weeks +Traditional estimate: 9-12 months +``` + +**BMM Setup:** Git submodule, team config repo, mix of Claude Code/Cursor users + +### Scenario 3: Large Enterprise (50+ Developers) + +**Project:** Multi-Product Platform + +**Organization:** + +- 5 product teams (8-10 devs each) +- 1 platform team (10 devs - shared services) +- 1 infrastructure team (5 devs) + +**Distribution (Feature-Based):** + +``` +Product Team A: Payments (10 epics, 2 weeks) +Product Team B: User Mgmt (12 epics, 2 weeks) +Product Team C: Analytics (8 epics, 1.5 weeks) +Product Team D: Admin Tools (10 epics, 2 weeks) +Product Team E: Mobile (15 epics, 3 weeks) + +Platform Team: Shared Services (continuous) +Infrastructure Team: DevOps (continuous) + +Total: 3-4 months +Traditional estimate: 2-3 years +``` + +**BMM Setup:** Each team has own submodule config, org-wide base config, variety of IDE tools + +--- + +## Summary + +### Key Transformation + +**Work Unit Changed:** + +- **Old:** Story = unit of work assignment +- **New:** Epic = unit of work assignment + +**Why:** AI agents collapse story duration (days โ†’ hours), making epic ownership practical. + +### Velocity Impact + +- **Traditional:** Months for epic delivery, heavy coordination +- **Agentic:** Days for epic delivery, minimal coordination +- **Result:** 10-50ร— productivity gains + +### PM/UX Evolution + +**BMad Method enables:** + +- PMs to write AI-executable PRDs +- UX designers to validate through working prototypes +- Technical fluency without CS degrees +- Orchestration of cloud AI agent teams +- Career evolution to Full-Stack Product Lead + +### Enterprise Adoption + +**Git submodules:** Best practice for BMM management across teams +**Team flexibility:** Mix of tools (Claude Code, Cursor, Windsurf) with shared BMM foundation +**Scalable patterns:** Epic-based, layer-based, feature-based distribution strategies + +### The Future (2026) + +PMs write BMad PRDs โ†’ Stories auto-fed to cloud AI agents โ†’ Parallel implementation โ†’ Human review of PRs โ†’ Continuous deployment + +**The future isn't AI replacing PMsโ€”it's AI-augmented PMs becoming 10ร— more powerful.** + +--- + +## Related Documentation + +- [FAQ](./faq.md) - Common questions +- [Scale Adaptive System](./scale-adaptive-system.md) - Project levels explained +- [Quick Start Guide](./quick-start.md) - Getting started +- [Workflow Documentation](./README.md#-workflow-guides) - Complete workflow reference +- [Agents Guide](./agents-guide.md) - Understanding BMad agents + +--- + +_BMad Method fundamentally changes how PMs work, how teams structure work, and how products get built. Understanding these patterns is essential for enterprise success in the age of AI agents._ diff --git a/.bmad/bmm/docs/faq.md b/.bmad/bmm/docs/faq.md new file mode 100644 index 00000000..2eff84d9 --- /dev/null +++ b/.bmad/bmm/docs/faq.md @@ -0,0 +1,587 @@ +# BMM Frequently Asked Questions + +Quick answers to common questions about the BMad Method Module. + +--- + +## Table of Contents + +- [Getting Started](#getting-started) +- [Choosing the Right Level](#choosing-the-right-level) +- [Workflows and Phases](#workflows-and-phases) +- [Planning Documents](#planning-documents) +- [Implementation](#implementation) +- [Brownfield Development](#brownfield-development) +- [Tools and Technical](#tools-and-technical) + +--- + +## Getting Started + +### Q: Do I always need to run workflow-init? + +**A:** No, once you learn the flow you can go directly to workflows. However, workflow-init is helpful because it: + +- Determines your project's appropriate level automatically +- Creates the tracking status file +- Routes you to the correct starting workflow + +For experienced users: use the [Quick Reference](./quick-start.md#quick-reference-agent-document-mapping) to go directly to the right agent/workflow. + +### Q: Why do I need fresh chats for each workflow? + +**A:** Context-intensive workflows (like brainstorming, PRD creation, architecture design) can cause AI hallucinations if run in sequence within the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow. This is particularly important for: + +- Planning workflows (PRD, architecture) +- Analysis workflows (brainstorming, research) +- Complex story implementation + +Quick workflows like status checks can reuse chats safely. + +### Q: Can I skip workflow-status and just start working? + +**A:** Yes, if you already know your project level and which workflow comes next. workflow-status is mainly useful for: + +- New projects (guides initial setup) +- When you're unsure what to do next +- After breaks in work (reminds you where you left off) +- Checking overall progress + +### Q: What's the minimum I need to get started? + +**A:** For the fastest path: + +1. Install BMad Method: `npx bmad-method@alpha install` +2. For small changes: Load PM agent โ†’ run tech-spec โ†’ implement +3. For larger projects: Load PM agent โ†’ run prd โ†’ architect โ†’ implement + +### Q: How do I know if I'm in Phase 1, 2, 3, or 4? + +**A:** Check your `bmm-workflow-status.md` file (created by workflow-init). It shows your current phase and progress. If you don't have this file, you can also tell by what you're working on: + +- **Phase 1** - Brainstorming, research, product brief (optional) +- **Phase 2** - Creating either a PRD or tech-spec (always required) +- **Phase 3** - Architecture design (Level 2-4 only) +- **Phase 4** - Actually writing code, implementing stories + +--- + +## Choosing the Right Level + +### Q: How do I know which level my project is? + +**A:** Use workflow-init for automatic detection, or self-assess using these keywords: + +- **Level 0:** "fix", "bug", "typo", "small change", "patch" โ†’ 1 story +- **Level 1:** "simple", "basic", "small feature", "add" โ†’ 2-10 stories +- **Level 2:** "dashboard", "several features", "admin panel" โ†’ 5-15 stories +- **Level 3:** "platform", "integration", "complex", "system" โ†’ 12-40 stories +- **Level 4:** "enterprise", "multi-tenant", "multiple products" โ†’ 40+ stories + +When in doubt, start smaller. You can always run create-prd later if needed. + +### Q: Can I change levels mid-project? + +**A:** Yes! If you started at Level 1 but realize it's Level 2, you can run create-prd to add proper planning docs. The system is flexible - your initial level choice isn't permanent. + +### Q: What if workflow-init suggests the wrong level? + +**A:** You can override it! workflow-init suggests a level but always asks for confirmation. If you disagree, just say so and choose the level you think is appropriate. Trust your judgment. + +### Q: Do I always need architecture for Level 2? + +**A:** No, architecture is **optional** for Level 2. Only create architecture if you need system-level design. Many Level 2 projects work fine with just PRD + epic-tech-context created during implementation. + +### Q: What's the difference between Level 1 and Level 2? + +**A:** + +- **Level 1:** 1-10 stories, uses tech-spec (simpler, faster), no architecture +- **Level 2:** 5-15 stories, uses PRD (product-focused), optional architecture + +The overlap (5-10 stories) is intentional. Choose based on: + +- Need product-level planning? โ†’ Level 2 +- Just need technical plan? โ†’ Level 1 +- Multiple epics? โ†’ Level 2 +- Single epic? โ†’ Level 1 + +--- + +## Workflows and Phases + +### Q: What's the difference between workflow-status and workflow-init? + +**A:** + +- **workflow-status:** Checks existing status and tells you what's next (use when continuing work) +- **workflow-init:** Creates new status file and sets up project (use when starting new project) + +If status file exists, use workflow-status. If not, use workflow-init. + +### Q: Can I skip Phase 1 (Analysis)? + +**A:** Yes! Phase 1 is optional for all levels, though recommended for complex projects. Skip if: + +- Requirements are clear +- No research needed +- Time-sensitive work +- Small changes (Level 0-1) + +### Q: When is Phase 3 (Architecture) required? + +**A:** + +- **Level 0-1:** Never (skip entirely) +- **Level 2:** Optional (only if system design needed) +- **Level 3-4:** Required (comprehensive architecture mandatory) + +### Q: What happens if I skip a recommended workflow? + +**A:** Nothing breaks! Workflows are guidance, not enforcement. However, skipping recommended workflows (like architecture for Level 3) may cause: + +- Integration issues during implementation +- Rework due to poor planning +- Conflicting design decisions +- Longer development time overall + +### Q: How do I know when Phase 3 is complete and I can start Phase 4? + +**A:** For Level 3-4, run the solutioning-gate-check workflow. It validates that PRD, architecture, and UX (if applicable) are cohesive before implementation. Pass the gate check = ready for Phase 4. + +### Q: Can I run workflows in parallel or do they have to be sequential? + +**A:** Most workflows must be sequential within a phase: + +- Phase 1: brainstorm โ†’ research โ†’ product-brief (optional order) +- Phase 2: PRD must complete before moving forward +- Phase 3: architecture โ†’ validate โ†’ gate-check (sequential) +- Phase 4: Stories within an epic should generally be sequential, but stories in different epics can be parallel if you have capacity + +--- + +## Planning Documents + +### Q: What's the difference between tech-spec and epic-tech-context? + +**A:** + +- **Tech-spec (Level 0-1):** Created upfront in Planning Phase, serves as primary/only planning document, a combination of enough technical and planning information to drive a single or multiple files +- **Epic-tech-context (Level 2-4):** Created during Implementation Phase per epic, supplements PRD + Architecture + +Think of it as: tech-spec is for small projects (replaces PRD and architecture), epic-tech-context is for large projects (supplements PRD). + +### Q: Why no tech-spec at Level 2+? + +**A:** Level 2+ projects need product-level planning (PRD) and system-level design (Architecture), which tech-spec doesn't provide. Tech-spec is too narrow for coordinating multiple features. Instead, Level 2-4 uses: + +- PRD (product vision, requirements, epics) +- Architecture (system design) +- Epic-tech-context (detailed implementation per epic, created just-in-time) + +### Q: When do I create epic-tech-context? + +**A:** In Phase 4, right before implementing each epic. Don't create all epic-tech-context upfront - that's over-planning. Create them just-in-time using the epic-tech-context workflow as you're about to start working on that epic. + +**Why just-in-time?** You'll learn from earlier epics, and those learnings improve later epic-tech-context. + +### Q: Do I need a PRD for a bug fix? + +**A:** No! Bug fixes are typically Level 0 (single atomic change). Use Quick Spec Flow: + +- Load PM agent +- Run tech-spec workflow +- Implement immediately + +PRDs are for Level 2-4 projects with multiple features requiring product-level coordination. + +### Q: Can I skip the product brief? + +**A:** Yes, product brief is always optional. It's most valuable for: + +- Level 3-4 projects needing strategic direction +- Projects with stakeholders requiring alignment +- Novel products needing market research +- When you want to explore solution space before committing + +--- + +## Implementation + +### Q: Do I need story-context for every story? + +**A:** Technically no, but it's recommended. story-context provides implementation-specific guidance, references existing patterns, and injects expertise. Skip it only if: + +- Very simple story (self-explanatory) +- You're already expert in the area +- Time is extremely limited + +For Level 0-1 using tech-spec, story-context is less critical because tech-spec is already comprehensive. + +### Q: What if I don't create epic-tech-context before drafting stories? + +**A:** You can proceed without it, but you'll miss: + +- Epic-level technical direction +- Architecture guidance for this epic +- Integration strategy with other epics +- Common patterns to follow across stories + +epic-tech-context helps ensure stories within an epic are cohesive. + +### Q: How do I mark a story as done? + +**A:** You have two options: + +**Option 1: Use story-done workflow (Recommended)** + +1. Load SM agent +2. Run `story-done` workflow +3. Workflow automatically updates `sprint-status.yaml` (created by sprint-planning at Phase 4 start) +4. Moves story from current status โ†’ `DONE` +5. Advances the story queue + +**Option 2: Manual update** + +1. After dev-story completes and code-review passes +2. Open `sprint-status.yaml` (created by sprint-planning) +3. Change the story status from `review` to `done` +4. Save the file + +The story-done workflow is faster and ensures proper status file updates. + +### Q: Can I work on multiple stories at once? + +**A:** Yes, if you have capacity! Stories within different epics can be worked in parallel. However, stories within the same epic are usually sequential because they build on each other. + +### Q: What if my story takes longer than estimated? + +**A:** That's normal! Stories are estimates. If implementation reveals more complexity: + +1. Continue working until DoD is met +2. Consider if story should be split +3. Document learnings in retrospective +4. Adjust future estimates based on this learning + +### Q: When should I run retrospective? + +**A:** After completing all stories in an epic (when epic is done). Retrospectives capture: + +- What went well +- What could improve +- Technical insights +- Input for next epic-tech-context + +Don't wait until project end - run after each epic for continuous improvement. + +--- + +## Brownfield Development + +### Q: What is brownfield vs greenfield? + +**A:** + +- **Greenfield:** New project, starting from scratch, clean slate +- **Brownfield:** Existing project, working with established codebase and patterns + +### Q: Do I have to run document-project for brownfield? + +**A:** Highly recommended, especially if: + +- No existing documentation +- Documentation is outdated +- AI agents need context about existing code +- Level 2-4 complexity + +You can skip it if you have comprehensive, up-to-date documentation including `docs/index.md`. + +### Q: What if I forget to run document-project on brownfield? + +**A:** Workflows will lack context about existing code. You may get: + +- Suggestions that don't match existing patterns +- Integration approaches that miss existing APIs +- Architecture that conflicts with current structure + +Run document-project and restart planning with proper context. + +### Q: Can I use Quick Spec Flow for brownfield projects? + +**A:** Yes! Quick Spec Flow works great for brownfield. It will: + +- Auto-detect your existing stack +- Analyze brownfield code patterns +- Detect conventions and ask for confirmation +- Generate context-rich tech-spec that respects existing code + +Perfect for bug fixes and small features in existing codebases. + +### Q: How does workflow-init handle brownfield with old planning docs? + +**A:** workflow-init asks about YOUR current work first, then uses old artifacts as context: + +1. Shows what it found (old PRD, epics, etc.) +2. Asks: "Is this work in progress, previous effort, or proposed work?" +3. If previous effort: Asks you to describe your NEW work +4. Determines level based on YOUR work, not old artifacts + +This prevents old Level 3 PRDs from forcing Level 3 workflow for new Level 0 bug fix. + +### Q: What if my existing code doesn't follow best practices? + +**A:** Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide: + +- **Yes** โ†’ Maintain consistency with current codebase +- **No** โ†’ Establish new standards (document why in tech-spec) + +BMM respects your choice - it won't force modernization, but it will offer it. + +--- + +## Tools and Technical + +### Q: Why are my Mermaid diagrams not rendering? + +**A:** Common issues: + +1. Missing language tag: Use ` ```mermaid` not just ` ``` ` +2. Syntax errors in diagram (validate at mermaid.live) +3. Tool doesn't support Mermaid (check your Markdown renderer) + +All BMM docs use valid Mermaid syntax that should render in GitHub, VS Code, and most IDEs. + +### Q: Can I use BMM with GitHub Copilot / Cursor / other AI tools? + +**A:** Yes! BMM is complementary. BMM handles: + +- Project planning and structure +- Workflow orchestration +- Agent Personas and expertise +- Documentation generation +- Quality gates + +Your AI coding assistant handles: + +- Line-by-line code completion +- Quick refactoring +- Test generation + +Use them together for best results. + +### Q: What IDEs/tools support BMM? + +**A:** BMM requires tools with **agent mode** and access to **high-quality LLM models** that can load and follow complex workflows, then properly implement code changes. + +**Recommended Tools:** + +- **Claude Code** โญ **Best choice** + - Sonnet 4.5 (excellent workflow following, coding, reasoning) + - Opus (maximum context, complex planning) + - Native agent mode designed for BMM workflows + +- **Cursor** + - Supports Anthropic (Claude) and OpenAI models + - Agent mode with composer + - Good for developers who prefer Cursor's UX + +- **Windsurf** + - Multi-model support + - Agent capabilities + - Suitable for BMM workflows + +**What Matters:** + +1. **Agent mode** - Can load long workflow instructions and maintain context +2. **High-quality LLM** - Models ranked high on SWE-bench (coding benchmarks) +3. **Model selection** - Access to Claude Sonnet 4.5, Opus, or GPT-4o class models +4. **Context capacity** - Can handle large planning documents and codebases + +**Why model quality matters:** BMM workflows require LLMs that can follow multi-step processes, maintain context across phases, and implement code that adheres to specifications. Tools with weaker models will struggle with workflow adherence and code quality. + +See [IDE Setup Guides](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) for configuration specifics. + +### Q: Can I customize agents? + +**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `.bmad/_cfg/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options. + +**Note:** While source agents in this repo are YAML, they install as `.md` files with XML-style tags - a format any LLM can read and follow. + +### Q: What happens to my planning docs after implementation? + +**A:** Keep them! They serve as: + +- Historical record of decisions +- Onboarding material for new team members +- Reference for future enhancements +- Audit trail for compliance + +For enterprise projects (Level 4), consider archiving completed planning artifacts to keep workspace clean. + +### Q: Can I use BMM for non-software projects? + +**A:** BMM is optimized for software development, but the methodology principles (scale-adaptive planning, just-in-time design, context injection) can apply to other complex project types. You'd need to adapt workflows and agents for your domain. + +--- + +## Advanced Questions + +### Q: What if my project grows from Level 1 to Level 3? + +**A:** Totally fine! When you realize scope has grown: + +1. Run create-prd to add product-level planning +2. Run create-architecture for system design +3. Use existing tech-spec as input for PRD +4. Continue with updated level + +The system is flexible - growth is expected. + +### Q: Can I mix greenfield and brownfield approaches? + +**A:** Yes! Common scenario: adding new greenfield feature to brownfield codebase. Approach: + +1. Run document-project for brownfield context +2. Use greenfield workflows for new feature planning +3. Explicitly document integration points between new and existing +4. Test integration thoroughly + +### Q: How do I handle urgent hotfixes during a sprint? + +**A:** Use correct-course workflow or just: + +1. Save your current work state +2. Load PM agent โ†’ quick tech-spec for hotfix +3. Implement hotfix (Level 0 flow) +4. Deploy hotfix +5. Return to original sprint work + +Level 0 Quick Spec Flow is perfect for urgent fixes. + +### Q: What if I disagree with the workflow's recommendations? + +**A:** Workflows are guidance, not enforcement. If a workflow recommends something that doesn't make sense for your context: + +- Explain your reasoning to the agent +- Ask for alternative approaches +- Skip the recommendation if you're confident +- Document why you deviated (for future reference) + +Trust your expertise - BMM supports your decisions. + +### Q: Can multiple developers work on the same BMM project? + +**A:** Yes! But the paradigm is fundamentally different from traditional agile teams. + +**Key Difference:** + +- **Traditional:** Multiple devs work on stories within one epic (months) +- **Agentic:** Each dev owns complete epics (days) + +**In traditional agile:** A team of 5 devs might spend 2-3 months on a single epic, with each dev owning different stories. + +**With BMM + AI agents:** A single dev can complete an entire epic in 1-3 days. What used to take months now takes days. + +**Team Work Distribution:** + +- **Recommended:** Split work by **epic** (not story) +- Each developer owns complete epics end-to-end +- Parallel work happens at epic level +- Minimal coordination needed + +**For full-stack apps:** + +- Frontend and backend can be separate epics (unusual in traditional agile) +- Frontend dev owns all frontend epics +- Backend dev owns all backend epics +- Works because delivery is so fast + +**Enterprise Considerations:** + +- Use **git submodules** for BMM installation (not .gitignore) +- Allows personal configurations without polluting main repo +- Teams may use different AI tools (Claude Code, Cursor, etc.) +- Developers may follow different methods or create custom agents/workflows + +**Quick Tips:** + +- Share `sprint-status.yaml` (single source of truth) +- Assign entire epics to developers (not individual stories) +- Coordinate at epic boundaries, not story level +- Use git submodules for BMM in enterprise settings + +**For comprehensive coverage of enterprise team collaboration, work distribution strategies, git submodule setup, and velocity expectations, see:** + +๐Ÿ‘‰ **[Enterprise Agentic Development Guide](./enterprise-agentic-development.md)** + +### Q: What is party mode and when should I use it? + +**A:** Party mode is a unique multi-agent collaboration feature where ALL your installed agents (19+ from BMM, CIS, BMB, custom modules) discuss your challenges together in real-time. + +**How it works:** + +1. Run `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent) +2. Introduce your topic +3. BMad Master selects 2-3 most relevant agents per message +4. Agents cross-talk, debate, and build on each other's ideas + +**Best for:** + +- Strategic decisions with trade-offs (architecture choices, tech stack, scope) +- Creative brainstorming (game design, product innovation, UX ideation) +- Cross-functional alignment (epic kickoffs, retrospectives, phase transitions) +- Complex problem-solving (multi-faceted challenges, risk assessment) + +**Example parties:** + +- **Product Strategy:** PM + Innovation Strategist (CIS) + Analyst +- **Technical Design:** Architect + Creative Problem Solver (CIS) + Game Architect +- **User Experience:** UX Designer + Design Thinking Coach (CIS) + Storyteller (CIS) + +**Why it's powerful:** + +- Diverse perspectives (technical, creative, strategic) +- Healthy debate reveals blind spots +- Emergent insights from agent interaction +- Natural collaboration across modules + +**For complete documentation:** + +๐Ÿ‘‰ **[Party Mode Guide](./party-mode.md)** - How it works, when to use it, example compositions, best practices + +--- + +## Getting Help + +### Q: Where do I get help if my question isn't answered here? + +**A:** + +1. Search [Complete Documentation](./README.md) for related topics +2. Ask in [Discord Community](https://discord.gg/gk8jAdXWmj) (#general-dev) +3. Open a [GitHub Issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) +4. Watch [YouTube Tutorials](https://www.youtube.com/@BMadCode) + +### Q: How do I report a bug or request a feature? + +**A:** Open a GitHub issue at: https://github.com/bmad-code-org/BMAD-METHOD/issues + +Please include: + +- BMM version (check your installed version) +- Steps to reproduce (for bugs) +- Expected vs actual behavior +- Relevant workflow or agent involved + +--- + +## Related Documentation + +- [Quick Start Guide](./quick-start.md) - Get started with BMM +- [Glossary](./glossary.md) - Terminology reference +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding levels +- [Brownfield Guide](./brownfield-guide.md) - Existing codebase workflows + +--- + +**Have a question not answered here?** Please [open an issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) or ask in [Discord](https://discord.gg/gk8jAdXWmj) so we can add it! diff --git a/.bmad/bmm/docs/glossary.md b/.bmad/bmm/docs/glossary.md new file mode 100644 index 00000000..c67ee1c0 --- /dev/null +++ b/.bmad/bmm/docs/glossary.md @@ -0,0 +1,320 @@ +# BMM Glossary + +Comprehensive terminology reference for the BMad Method Module. + +--- + +## Navigation + +- [Core Concepts](#core-concepts) +- [Scale and Complexity](#scale-and-complexity) +- [Planning Documents](#planning-documents) +- [Workflow and Phases](#workflow-and-phases) +- [Agents and Roles](#agents-and-roles) +- [Status and Tracking](#status-and-tracking) +- [Project Types](#project-types) +- [Implementation Terms](#implementation-terms) + +--- + +## Core Concepts + +### BMM (BMad Method Module) + +Core orchestration system for AI-driven agile development, providing comprehensive lifecycle management through specialized agents and workflows. + +### BMad Method + +The complete methodology for AI-assisted software development, encompassing planning, architecture, implementation, and quality assurance workflows that adapt to project complexity. + +### Scale-Adaptive System + +BMad Method's intelligent workflow orchestration that automatically adjusts planning depth, documentation requirements, and implementation processes based on project needs through three distinct planning tracks (Quick Flow, BMad Method, Enterprise Method). + +### Agent + +A specialized AI persona with specific expertise (PM, Architect, SM, DEV, TEA) that guides users through workflows and creates deliverables. Agents have defined capabilities, communication styles, and workflow access. + +### Workflow + +A multi-step guided process that orchestrates AI agent activities to produce specific deliverables. Workflows are interactive and adapt to user context. + +--- + +## Scale and Complexity + +### Quick Flow Track + +Fast implementation track using tech-spec planning only. Best for bug fixes, small features, and changes with clear scope. Typical range: 1-15 stories. No architecture phase needed. Examples: bug fixes, OAuth login, search features. + +### BMad Method Track + +Full product planning track using PRD + Architecture + UX. Best for products, platforms, and complex features requiring system design. Typical range: 10-50+ stories. Examples: admin dashboards, e-commerce platforms, SaaS products. + +### Enterprise Method Track + +Extended enterprise planning track adding Security Architecture, DevOps Strategy, and Test Strategy to BMad Method. Best for enterprise requirements, compliance needs, and multi-tenant systems. Typical range: 30+ stories. Examples: multi-tenant platforms, compliance-driven systems, mission-critical applications. + +### Planning Track + +The methodology path (Quick Flow, BMad Method, or Enterprise Method) chosen for a project based on planning needs, complexity, and requirements rather than story count alone. + +**Note:** Story counts are guidance, not definitions. Tracks are determined by what planning the project needs, not story math. + +--- + +## Planning Documents + +### Tech-Spec (Technical Specification) + +**Quick Flow track only.** Comprehensive technical plan created upfront that serves as the primary planning document for small changes or features. Contains problem statement, solution approach, file-level changes, stack detection (brownfield), testing strategy, and developer resources. + +### Epic-Tech-Context (Epic Technical Context) + +**BMad Method/Enterprise tracks only.** Detailed technical planning document created during implementation (just-in-time) for each epic. Supplements PRD + Architecture with epic-specific implementation details, code-level design decisions, and integration points. + +**Key Difference:** Tech-spec (Quick Flow) is created upfront and is the only planning doc. Epic-tech-context (BMad Method/Enterprise) is created per epic during implementation and supplements PRD + Architecture. + +### PRD (Product Requirements Document) + +**BMad Method/Enterprise tracks.** Product-level planning document containing vision, goals, feature requirements, epic breakdown, success criteria, and UX considerations. Replaces tech-spec for larger projects that need product planning. + +### Architecture Document + +**BMad Method/Enterprise tracks.** System-wide design document defining structure, components, interactions, data models, integration patterns, security, performance, and deployment. + +**Scale-Adaptive:** Architecture complexity scales with track - BMad Method is lightweight to moderate, Enterprise Method is comprehensive with security/devops/test strategies. + +### Epics + +High-level feature groupings that contain multiple related stories. Typically span 5-15 stories each and represent cohesive functionality (e.g., "User Authentication Epic"). + +### Product Brief + +Optional strategic planning document created in Phase 1 (Analysis) that captures product vision, market context, user needs, and high-level requirements before detailed planning. + +### GDD (Game Design Document) + +Game development equivalent of PRD, created by Game Designer agent for game projects. + +--- + +## Workflow and Phases + +### Phase 0: Documentation (Prerequisite) + +**Conditional phase for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. + +### Phase 1: Analysis (Optional) + +Discovery and research phase including brainstorming, research workflows, and product brief creation. Optional for Quick Flow, recommended for BMad Method, required for Enterprise Method. + +### Phase 2: Planning (Required) + +**Always required.** Creates formal requirements and work breakdown. Routes to tech-spec (Quick Flow) or PRD (BMad Method/Enterprise) based on selected track. + +### Phase 3: Solutioning (Track-Dependent) + +Architecture design phase. Required for BMad Method and Enterprise Method tracks. Includes architecture creation, validation, and gate checks. + +### Phase 4: Implementation (Required) + +Sprint-based development through story-by-story iteration. Uses sprint-planning, epic-tech-context, create-story, story-context, dev-story, code-review, and retrospective workflows. + +### Quick Spec Flow + +Fast-track workflow system for Quick Flow track projects that goes straight from idea to tech-spec to implementation, bypassing heavy planning. Designed for bug fixes, small features, and rapid prototyping. + +### Just-In-Time Design + +Pattern where epic-tech-context is created during implementation (Phase 4) right before working on each epic, rather than all upfront. Enables learning and adaptation. + +### Context Injection + +Dynamic technical guidance generated for each story via epic-tech-context and story-context workflows, providing exact expertise when needed without upfront over-planning. + +--- + +## Agents and Roles + +### PM (Product Manager) + +Agent responsible for creating PRDs, tech-specs, and managing product requirements. Primary agent for Phase 2 planning. + +### Analyst (Business Analyst) + +Agent that initializes workflows, conducts research, creates product briefs, and tracks progress. Often the entry point for new projects. + +### Architect + +Agent that designs system architecture, creates architecture documents, performs technical reviews, and validates designs. Primary agent for Phase 3 solutioning. + +### SM (Scrum Master) + +Agent that manages sprints, creates stories, generates contexts, and coordinates implementation. Primary orchestrator for Phase 4 implementation. + +### DEV (Developer) + +Agent that implements stories, writes code, runs tests, and performs code reviews. Primary implementer in Phase 4. + +### TEA (Test Architect) + +Agent responsible for test strategy, quality gates, NFR assessment, and comprehensive quality assurance. Integrates throughout all phases. + +### Technical Writer + +Agent specialized in creating and maintaining high-quality technical documentation. Expert in documentation standards, information architecture, and professional technical writing. The agent's internal name is "paige" but is presented as "Technical Writer" to users. + +### UX Designer + +Agent that creates UX design documents, interaction patterns, and visual specifications for UI-heavy projects. + +### Game Designer + +Specialized agent for game development projects. Creates game design documents (GDD) and game-specific workflows. + +### BMad Master + +Meta-level orchestrator agent from BMad Core. Facilitates party mode, lists available tasks and workflows, and provides high-level guidance across all modules. + +### Party Mode + +Multi-agent collaboration feature where all installed agents (19+ from BMM, CIS, BMB, custom modules) discuss challenges together in real-time. BMad Master orchestrates, selecting 2-3 relevant agents per message for natural cross-talk and debate. Best for strategic decisions, creative brainstorming, cross-functional alignment, and complex problem-solving. See [Party Mode Guide](./party-mode.md). + +--- + +## Status and Tracking + +### bmm-workflow-status.yaml + +**Phases 1-3.** Tracking file that shows current phase, completed workflows, progress, and next recommended actions. Created by workflow-init, updated automatically. + +### sprint-status.yaml + +**Phase 4 only.** Single source of truth for implementation tracking. Contains all epics, stories, and retrospectives with current status for each. Created by sprint-planning, updated by agents. + +### Story Status Progression + +``` +backlog โ†’ drafted โ†’ ready-for-dev โ†’ in-progress โ†’ review โ†’ done +``` + +- **backlog** - Story exists in epic but not yet drafted +- **drafted** - Story file created by SM via create-story +- **ready-for-dev** - Story has context, ready for DEV via story-context +- **in-progress** - DEV is implementing via dev-story +- **review** - Implementation complete, awaiting code-review +- **done** - Completed with DoD met + +### Epic Status Progression + +``` +backlog โ†’ contexted +``` + +- **backlog** - Epic exists in planning docs but no context yet +- **contexted** - Epic has technical context via epic-tech-context + +### Retrospective + +Workflow run after completing each epic to capture learnings, identify improvements, and feed insights into next epic planning. Critical for continuous improvement. + +--- + +## Project Types + +### Greenfield + +New project starting from scratch with no existing codebase. Freedom to establish patterns, choose stack, and design from clean slate. + +### Brownfield + +Existing project with established codebase, patterns, and constraints. Requires understanding existing architecture, respecting established conventions, and planning integration with current systems. + +**Critical:** Brownfield projects should run document-project workflow BEFORE planning to ensure AI agents have adequate context about existing code. + +### document-project Workflow + +**Brownfield prerequisite.** Analyzes and documents existing codebase, creating comprehensive documentation including project overview, architecture analysis, source tree, API contracts, and data models. Three scan levels: quick, deep, exhaustive. + +--- + +## Implementation Terms + +### Story + +Single unit of implementable work with clear acceptance criteria, typically 2-8 hours of development effort. Stories are grouped into epics and tracked in sprint-status.yaml. + +### Story File + +Markdown file containing story details: description, acceptance criteria, technical notes, dependencies, implementation guidance, and testing requirements. + +### Story Context + +Technical guidance document created via story-context workflow that provides implementation-specific context, references existing patterns, suggests approaches, and injects expertise for the specific story. + +### Epic Context + +Technical planning document created via epic-tech-context workflow before drafting stories within an epic. Provides epic-level technical direction, architecture notes, and implementation strategy. + +### Sprint Planning + +Workflow that initializes Phase 4 implementation by creating sprint-status.yaml, extracting all epics/stories from planning docs, and setting up tracking infrastructure. + +### Gate Check + +Validation workflow (solutioning-gate-check) run before Phase 4 to ensure PRD, architecture, and UX documents are cohesive with no gaps or contradictions. Required for BMad Method and Enterprise Method tracks. + +### DoD (Definition of Done) + +Criteria that must be met before marking a story as done. Typically includes: implementation complete, tests written and passing, code reviewed, documentation updated, and acceptance criteria validated. + +### Shard / Sharding + +**For runtime LLM optimization only (NOT human docs).** Splitting large planning documents (PRD, epics, architecture) into smaller section-based files to improve workflow efficiency. Phase 1-3 workflows load entire sharded documents transparently. Phase 4 workflows selectively load only needed sections for massive token savings. + +--- + +## Additional Terms + +### Workflow Status + +Universal entry point workflow that checks for existing status file, displays current phase/progress, and recommends next action based on project state. + +### Workflow Init + +Initialization workflow that creates bmm-workflow-status.yaml, detects greenfield vs brownfield, determines planning track, and sets up appropriate workflow path. + +### Track Selection + +Automatic analysis by workflow-init that uses keyword analysis, complexity indicators, and project requirements to suggest appropriate track (Quick Flow, BMad Method, or Enterprise Method). User can override suggested track. + +### Correct Course + +Workflow run during Phase 4 when significant changes or issues arise. Analyzes impact, proposes solutions, and routes to appropriate remediation workflows. + +### Migration Strategy + +Plan for handling changes to existing data, schemas, APIs, or patterns during brownfield development. Critical for ensuring backward compatibility and smooth rollout. + +### Feature Flags + +Implementation technique for brownfield projects that allows gradual rollout of new functionality, easy rollback, and A/B testing. Recommended for BMad Method and Enterprise brownfield changes. + +### Integration Points + +Specific locations where new code connects with existing systems. Must be documented explicitly in brownfield tech-specs and architectures. + +### Convention Detection + +Quick Spec Flow feature that automatically detects existing code style, naming conventions, patterns, and frameworks from brownfield codebases, then asks user to confirm before proceeding. + +--- + +## Related Documentation + +- [Quick Start Guide](./quick-start.md) - Learn BMM basics +- [Scale Adaptive System](./scale-adaptive-system.md) - Deep dive on tracks and complexity +- [Brownfield Guide](./brownfield-guide.md) - Working with existing codebases +- [Quick Spec Flow](./quick-spec-flow.md) - Fast-track for Quick Flow track +- [FAQ](./faq.md) - Common questions diff --git a/.bmad/bmm/docs/party-mode.md b/.bmad/bmm/docs/party-mode.md new file mode 100644 index 00000000..277c4981 --- /dev/null +++ b/.bmad/bmm/docs/party-mode.md @@ -0,0 +1,224 @@ +# Party Mode: Multi-Agent Collaboration + +**Get all your AI agents in one conversation** + +--- + +## What is Party Mode? + +Ever wanted to gather your entire AI team in one room and see what happens? That's party mode. + +Type `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent), and suddenly you've got **all your AI agents** in one conversation. PM, Architect, DEV, UX Designer, the CIS creative agents - everyone shows up. + +**Why it's useful:** + +- **After complex workflows** - Debrief with the whole team about what worked, what didn't +- **Big decisions with tradeoffs** - Get technical, creative, and strategic perspectives simultaneously +- **Brainstorming sessions** - Watch ideas evolve through cross-pollination +- **When things go wrong** - Call out failures, watch agents defend their decisions, let them debate whose fault it was (oddly therapeutic) +- **Sprint retrospectives** - Party mode powers the retrospective workflow +- **Sprint planning** - Multi-agent collaboration for planning sessions + +**Future use:** Advanced elicitation workflows will leverage party mode for sophisticated requirement gathering. + +--- + +## How It Works + +**The basics:** + +1. Party mode reads `.bmad/_cfg/agent-manifest.csv` +2. Loads ALL installed agents (already includes your customizations from install) +3. BMad Master orchestrates - picks 2-3 relevant agents per message based on topic +4. Agents respond in character, can agree/disagree/build on each other's ideas +5. Discussion continues until you type "exit" or reach natural conclusion + +**That's it.** No complex merging, no runtime magic. Just agents talking. + +--- + +## Quick Start + +```bash +# Trigger party mode +/bmad:core:workflows:party-mode + +# OR from any agent context +*party-mode + +# During party +Ask questions, respond to agents, direct the conversation + +# Exit +Type: exit +``` + +--- + +## Fun Examples + +### Example 1: Calling Out Bad Architecture + +**You:** "Okay team, our last sprint was a disaster. The authentication service went down three times. Who screwed this up?" + +**Architect (Winston):** "The design was sound - distributed authentication with proper fallbacks. If implementation deviated from the spec..." + +**DEV (Amelia):** "I followed the architecture doc exactly. The spec didn't account for concurrent session invalidation race conditions." + +**PM (John):** "Both of you missed the bigger issue - we didn't validate session management requirements in the PRD. This is on me for not catching it." + +**TEA (Murat):** "And I should've caught this in integration tests. The test scenarios didn't cover concurrent invalidation." + +_(Watch them debate whose fault it really was - it's therapeutic)_ + +--- + +### Example 2: Creative Brainstorming + +**You:** "How do we make onboarding feel magical instead of boring?" + +**UX Designer (Sally):** "Start with progressive disclosure - reveal features as users need them, not all at once in a tutorial." + +**Storyteller (CIS):** "What if onboarding was a story? Each step reveals a character's journey - the user IS the hero." + +**Innovation Strategist (CIS):** "Take it further - gamify with unlockable achievements. But make them meaningful, not arbitrary badges." + +**Game Designer:** "Building on that - what if the first 'quest' is actually solving a real user problem? They learn by doing something valuable." + +_(Ideas cross-pollinate and evolve)_ + +--- + +### Example 3: Technical Decision + +**You:** "Monolith or microservices for MVP?" + +**Architect:** "Start monolith. Microservices add complexity you don't need at 1000 users." + +**PM:** "Agree. Time to market matters more than theoretical scalability." + +**DEV:** "Monolith with clear module boundaries. We can extract services later if needed." + +**Innovation Strategist:** "Contrarian take - if your differentiator IS scalability, build for it now. Otherwise Architect's right." + +_(Multiple perspectives reveal the right answer)_ + +--- + +## When NOT to Use Party Mode + +**Skip party mode for:** + +- Simple implementation questions โ†’ Use DEV agent +- Document review โ†’ Use Technical Writer +- Workflow status checks โ†’ Use any agent + `*workflow-status` +- Single-domain questions โ†’ Use specialist agent + +**Use party mode for:** + +- Multi-perspective decisions +- Creative collaboration +- Post-mortems and retrospectives +- Sprint planning sessions +- Complex problem-solving + +--- + +## Agent Customization + +Party mode uses agents from `.bmad/[module]/agents/*.md` - these already include any customizations you applied during install. + +**To customize agents for party mode:** + +1. Create customization file: `.bmad/_cfg/agents/bmm-pm.customize.yaml` +2. Run `npx bmad-method install` to rebuild agents +3. Customizations now active in party mode + +Example customization: + +```yaml +agent: + persona: + principles: + - 'HIPAA compliance is non-negotiable' + - 'Patient safety over feature velocity' +``` + +See [Agents Guide](./agents-guide.md#agent-customization) for details. + +--- + +## BMM Workflows That Use Party Mode + +**Current:** + +- `epic-retrospective` - Post-epic team retrospective powered by party mode +- Sprint planning discussions (informal party mode usage) + +**Future:** + +- Advanced elicitation workflows will officially integrate party mode +- Multi-agent requirement validation +- Collaborative technical reviews + +--- + +## Available Agents + +Party mode can include **19+ agents** from all installed modules: + +**BMM (12 agents):** PM, Analyst, Architect, SM, DEV, TEA, UX Designer, Technical Writer, Game Designer, Game Developer, Game Architect + +**CIS (5 agents):** Brainstorming Coach, Creative Problem Solver, Design Thinking Coach, Innovation Strategist, Storyteller + +**BMB (1 agent):** BMad Builder + +**Core (1 agent):** BMad Master (orchestrator) + +**Custom:** Any agents you've created + +--- + +## Tips + +**Get better results:** + +- Be specific with your topic/question +- Provide context (project type, constraints, goals) +- Direct specific agents when you want their expertise +- Make decisions - party mode informs, you decide +- Time box discussions (15-30 minutes is usually plenty) + +**Examples of good opening questions:** + +- "We need to decide between REST and GraphQL for our mobile API. Project is a B2B SaaS with 50 enterprise clients." +- "Our last sprint failed spectacularly. Let's discuss what went wrong with authentication implementation." +- "Brainstorm: how can we make our game's tutorial feel rewarding instead of tedious?" + +--- + +## Troubleshooting + +**Same agents responding every time?** +Vary your questions or explicitly request other perspectives: "Game Designer, your thoughts?" + +**Discussion going in circles?** +BMad Master will summarize and redirect, or you can make a decision and move on. + +**Too many agents talking?** +Make your topic more specific - BMad Master picks 2-3 agents based on relevance. + +**Agents not using customizations?** +Make sure you ran `npx bmad-method install` after creating customization files. + +--- + +## Related Documentation + +- [Agents Guide](./agents-guide.md) - Complete agent reference +- [Quick Start Guide](./quick-start.md) - Getting started with BMM +- [FAQ](./faq.md) - Common questions + +--- + +_Better decisions through diverse perspectives. Welcome to party mode._ diff --git a/.bmad/bmm/docs/quick-spec-flow.md b/.bmad/bmm/docs/quick-spec-flow.md new file mode 100644 index 00000000..3fd2b2f8 --- /dev/null +++ b/.bmad/bmm/docs/quick-spec-flow.md @@ -0,0 +1,652 @@ +# BMad Quick Spec Flow + +**Perfect for:** Bug fixes, small features, rapid prototyping, and quick enhancements + +**Time to implementation:** Minutes, not hours + +--- + +## What is Quick Spec Flow? + +Quick Spec Flow is a **streamlined alternative** to the full BMad Method for Quick Flow track projects. Instead of going through Product Brief โ†’ PRD โ†’ Architecture, you go **straight to a context-aware technical specification** and start coding. + +### When to Use Quick Spec Flow + +โœ… **Use Quick Flow track when:** + +- Single bug fix or small enhancement +- Small feature with clear scope (typically 1-15 stories) +- Rapid prototyping or experimentation +- Adding to existing brownfield codebase +- You know exactly what you want to build + +โŒ **Use BMad Method or Enterprise tracks when:** + +- Building new products or major features +- Need stakeholder alignment +- Complex multi-team coordination +- Requires extensive planning and architecture + +๐Ÿ’ก **Not sure?** Run `workflow-init` to get a recommendation based on your project's needs! + +--- + +## Quick Spec Flow Overview + +```mermaid +flowchart TD + START[Step 1: Run Tech-Spec Workflow] + DETECT[Detects project stack
package.json, requirements.txt, etc.] + ANALYZE[Analyzes brownfield codebase
if exists] + TEST[Detects test frameworks
and conventions] + CONFIRM[Confirms conventions
with you] + GENERATE[Generates context-rich
tech-spec] + STORIES[Creates ready-to-implement
stories] + + OPTIONAL[Step 2: Optional
Generate Story Context
SM Agent
For complex scenarios only] + + IMPL[Step 3: Implement
DEV Agent
Code, test, commit] + + DONE[DONE! ๐Ÿš€] + + START --> DETECT + DETECT --> ANALYZE + ANALYZE --> TEST + TEST --> CONFIRM + CONFIRM --> GENERATE + GENERATE --> STORIES + STORIES --> OPTIONAL + OPTIONAL -.->|Optional| IMPL + STORIES --> IMPL + IMPL --> DONE + + style START fill:#bfb,stroke:#333,stroke-width:2px,color:#000 + style OPTIONAL fill:#ffb,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5,color:#000 + style IMPL fill:#bbf,stroke:#333,stroke-width:2px,color:#000 + style DONE fill:#f9f,stroke:#333,stroke-width:3px,color:#000 +``` + +--- + +## Single Atomic Change + +**Best for:** Bug fixes, single file changes, isolated improvements + +### What You Get + +1. **tech-spec.md** - Comprehensive technical specification with: + - Problem statement and solution + - Detected framework versions and dependencies + - Brownfield code patterns (if applicable) + - Existing test patterns to follow + - Specific file paths to modify + - Complete implementation guidance + +2. **story-[slug].md** - Single user story ready for development + +### Quick Spec Flow Commands + +```bash +# Start Quick Spec Flow (no workflow-init needed!) +# Load PM agent and run tech-spec + +# When complete, implement directly: +# Load DEV agent and run dev-story +``` + +### What Makes It Quick + +- โœ… No Product Brief needed +- โœ… No PRD needed +- โœ… No Architecture doc needed +- โœ… Auto-detects your stack +- โœ… Auto-analyzes brownfield code +- โœ… Auto-validates quality +- โœ… Story context optional (tech-spec is comprehensive!) + +### Example Single Change Scenarios + +- "Fix the login validation bug" +- "Add email field to user registration form" +- "Update API endpoint to return additional field" +- "Improve error handling in payment processing" + +--- + +## Coherent Small Feature + +**Best for:** Small features with 2-3 related user stories + +### What You Get + +1. **tech-spec.md** - Same comprehensive spec as single change projects +2. **epics.md** - Epic organization with story breakdown +3. **story-[epic-slug]-1.md** - First story +4. **story-[epic-slug]-2.md** - Second story +5. **story-[epic-slug]-3.md** - Third story (if needed) + +### Quick Spec Flow Commands + +```bash +# Start Quick Spec Flow +# Load PM agent and run tech-spec + +# Optional: Organize stories as a sprint +# Load SM agent and run sprint-planning + +# Implement story-by-story: +# Load DEV agent and run dev-story for each story +``` + +### Story Sequencing + +Stories are **automatically validated** to ensure proper sequence: + +- โœ… No forward dependencies (Story 2 can't depend on Story 3) +- โœ… Clear dependency documentation +- โœ… Infrastructure โ†’ Features โ†’ Polish order +- โœ… Backend โ†’ Frontend flow + +### Example Small Feature Scenarios + +- "Add OAuth social login (Google, GitHub, Twitter)" +- "Build user profile page with avatar upload" +- "Implement basic search with filters" +- "Add dark mode toggle to application" + +--- + +## Smart Context Discovery + +Quick Spec Flow automatically discovers and uses: + +### 1. Existing Documentation + +- Product briefs (if they exist) +- Research documents +- `document-project` output (brownfield codebase map) + +### 2. Project Stack + +- **Node.js:** package.json โ†’ frameworks, dependencies, scripts, test framework +- **Python:** requirements.txt, pyproject.toml โ†’ packages, tools +- **Ruby:** Gemfile โ†’ gems and versions +- **Java:** pom.xml, build.gradle โ†’ Maven/Gradle dependencies +- **Go:** go.mod โ†’ modules +- **Rust:** Cargo.toml โ†’ crates +- **PHP:** composer.json โ†’ packages + +### 3. Brownfield Code Patterns + +- Directory structure and organization +- Existing code patterns (class-based, functional, MVC) +- Naming conventions (camelCase, snake_case, PascalCase) +- Test frameworks and patterns +- Code style (semicolons, quotes, indentation) +- Linter/formatter configs +- Error handling patterns +- Logging conventions +- Documentation style + +### 4. Convention Confirmation + +**IMPORTANT:** Quick Spec Flow detects your conventions and **asks for confirmation**: + +``` +I've detected these conventions in your codebase: + +Code Style: +- ESLint with Airbnb config +- Prettier with single quotes, 2-space indent +- No semicolons + +Test Patterns: +- Jest test framework +- .test.js file naming +- expect() assertion style + +Should I follow these existing conventions? (yes/no) +``` + +**You decide:** Conform to existing patterns or establish new standards! + +--- + +## Modern Best Practices via WebSearch + +Quick Spec Flow stays current by using WebSearch when appropriate: + +### For Greenfield Projects + +- Searches for latest framework versions +- Recommends official starter templates +- Suggests modern best practices + +### For Outdated Dependencies + +- Detects if your dependencies are >2 years old +- Searches for migration guides +- Notes upgrade complexity + +### Starter Template Recommendations + +For greenfield projects, Quick Spec Flow recommends: + +**React:** + +- Vite (modern, fast) +- Next.js (full-stack) + +**Python:** + +- cookiecutter templates +- FastAPI starter + +**Node.js:** + +- NestJS CLI +- express-generator + +**Benefits:** + +- โœ… Modern best practices baked in +- โœ… Proper project structure +- โœ… Build tooling configured +- โœ… Testing framework set up +- โœ… Faster time to first feature + +--- + +## UX/UI Considerations + +For user-facing changes, Quick Spec Flow captures: + +- UI components affected (create vs modify) +- UX flow changes (current vs new) +- Responsive design needs (mobile, tablet, desktop) +- Accessibility requirements: + - Keyboard navigation + - Screen reader compatibility + - ARIA labels + - Color contrast standards +- User feedback patterns: + - Loading states + - Error messages + - Success confirmations + - Progress indicators + +--- + +## Auto-Validation and Quality Assurance + +Quick Spec Flow **automatically validates** everything: + +### Tech-Spec Validation (Always Runs) + +Checks: + +- โœ… Context gathering completeness +- โœ… Definitiveness (no "use X or Y" statements) +- โœ… Brownfield integration quality +- โœ… Stack alignment +- โœ… Implementation readiness + +Generates scores: + +``` +โœ… Validation Passed! +- Context Gathering: Comprehensive +- Definitiveness: All definitive +- Brownfield Integration: Excellent +- Stack Alignment: Perfect +- Implementation Readiness: โœ… Ready +``` + +### Story Validation (Multi-Story Features) + +Checks: + +- โœ… Story sequence (no forward dependencies!) +- โœ… Acceptance criteria quality (specific, testable) +- โœ… Completeness (all tech spec tasks covered) +- โœ… Clear dependency documentation + +**Auto-fixes issues if found!** + +--- + +## Complete User Journey + +### Scenario 1: Bug Fix (Single Change) + +**Goal:** Fix login validation bug + +**Steps:** + +1. **Start:** Load PM agent, say "I want to fix the login validation bug" +2. **PM runs tech-spec workflow:** + - Asks: "What problem are you solving?" + - You explain the validation issue + - Detects your Node.js stack (Express 4.18.2, Jest for testing) + - Analyzes existing UserService code patterns + - Asks: "Should I follow your existing conventions?" โ†’ You say yes + - Generates tech-spec.md with specific file paths and patterns + - Creates story-login-fix.md +3. **Implement:** Load DEV agent, run `dev-story` + - DEV reads tech-spec (has all context!) + - Implements fix following existing patterns + - Runs tests (following existing Jest patterns) + - Done! + +**Total time:** 15-30 minutes (mostly implementation) + +--- + +### Scenario 2: Small Feature (Multi-Story) + +**Goal:** Add OAuth social login (Google, GitHub) + +**Steps:** + +1. **Start:** Load PM agent, say "I want to add OAuth social login" +2. **PM runs tech-spec workflow:** + - Asks about the feature scope + - You specify: Google and GitHub OAuth + - Detects your stack (Next.js 13.4, NextAuth.js already installed!) + - Analyzes existing auth patterns + - Confirms conventions with you + - Generates: + - tech-spec.md (comprehensive implementation guide) + - epics.md (OAuth Integration epic) + - story-oauth-1.md (Backend OAuth setup) + - story-oauth-2.md (Frontend login buttons) +3. **Optional Sprint Planning:** Load SM agent, run `sprint-planning` +4. **Implement Story 1:** + - Load DEV agent, run `dev-story` for story 1 + - DEV implements backend OAuth +5. **Implement Story 2:** + - DEV agent, run `dev-story` for story 2 + - DEV implements frontend + - Done! + +**Total time:** 1-3 hours (mostly implementation) + +--- + +## Integration with Phase 4 Workflows + +Quick Spec Flow works seamlessly with all Phase 4 implementation workflows: + +### story-context (SM Agent) + +- โœ… Recognizes tech-spec.md as authoritative source +- โœ… Extracts context from tech-spec (replaces PRD) +- โœ… Generates XML context for complex scenarios + +### create-story (SM Agent) + +- โœ… Can work with tech-spec.md instead of PRD +- โœ… Uses epics.md from tech-spec workflow +- โœ… Creates additional stories if needed + +### sprint-planning (SM Agent) + +- โœ… Works with epics.md from tech-spec +- โœ… Organizes multi-story features for coordinated implementation +- โœ… Tracks progress through sprint-status.yaml + +### dev-story (DEV Agent) + +- โœ… Reads stories generated by tech-spec +- โœ… Uses tech-spec.md as comprehensive context +- โœ… Implements following detected conventions + +--- + +## Comparison: Quick Spec vs Full BMM + +| Aspect | Quick Flow Track | BMad Method/Enterprise Tracks | +| --------------------- | ---------------------------- | ---------------------------------- | +| **Setup** | None (standalone) | workflow-init recommended | +| **Planning Docs** | tech-spec.md only | Product Brief โ†’ PRD โ†’ Architecture | +| **Time to Code** | Minutes | Hours to days | +| **Best For** | Bug fixes, small features | New products, major features | +| **Context Discovery** | Automatic | Manual + guided | +| **Story Context** | Optional (tech-spec is rich) | Required (generated from PRD) | +| **Validation** | Auto-validates everything | Manual validation steps | +| **Brownfield** | Auto-analyzes and conforms | Manual documentation required | +| **Conventions** | Auto-detects and confirms | Document in PRD/Architecture | + +--- + +## When to Graduate from Quick Flow to BMad Method + +Start with Quick Flow, but switch to BMad Method when: + +- โŒ Project grows beyond initial scope +- โŒ Multiple teams need coordination +- โŒ Stakeholders need formal documentation +- โŒ Product vision is unclear +- โŒ Architectural decisions need deep analysis +- โŒ Compliance/regulatory requirements exist + +๐Ÿ’ก **Tip:** You can always run `workflow-init` later to transition from Quick Flow to BMad Method! + +--- + +## Quick Spec Flow - Key Benefits + +### ๐Ÿš€ **Speed** + +- No Product Brief +- No PRD +- No Architecture doc +- Straight to implementation + +### ๐Ÿง  **Intelligence** + +- Auto-detects stack +- Auto-analyzes brownfield +- Auto-validates quality +- WebSearch for current info + +### ๐Ÿ“ **Respect for Existing Code** + +- Detects conventions +- Asks for confirmation +- Follows patterns +- Adapts vs. changes + +### โœ… **Quality** + +- Auto-validation +- Definitive decisions (no "or" statements) +- Comprehensive context +- Clear acceptance criteria + +### ๐ŸŽฏ **Focus** + +- Single atomic changes +- Coherent small features +- No scope creep +- Fast iteration + +--- + +## Getting Started + +### Prerequisites + +- BMad Method installed (`npx bmad-method install`) +- Project directory with code (or empty for greenfield) + +### Quick Start Commands + +```bash +# For a quick bug fix or small change: +# 1. Load PM agent +# 2. Say: "I want to [describe your change]" +# 3. PM will ask if you want to run tech-spec +# 4. Answer questions about your change +# 5. Get tech-spec + story +# 6. Load DEV agent and implement! + +# For a small feature with multiple stories: +# Same as above, but get epic + 2-3 stories +# Optionally use SM sprint-planning to organize +``` + +### No workflow-init Required! + +Quick Spec Flow is **fully standalone**: + +- Detects if it's a single change or multi-story feature +- Asks for greenfield vs brownfield +- Works without status file tracking +- Perfect for rapid prototyping + +--- + +## FAQ + +### Q: Can I use Quick Spec Flow on an existing project? + +**A:** Yes! It's perfect for brownfield projects. It will analyze your existing code, detect patterns, and ask if you want to follow them. + +### Q: What if I don't have a package.json or requirements.txt? + +**A:** Quick Spec Flow will work in greenfield mode, recommend starter templates, and use WebSearch for modern best practices. + +### Q: Do I need to run workflow-init first? + +**A:** No! Quick Spec Flow is standalone. But if you want guidance on which flow to use, workflow-init can help. + +### Q: Can I use this for frontend changes? + +**A:** Absolutely! Quick Spec Flow captures UX/UI considerations, component changes, and accessibility requirements. + +### Q: What if my Quick Flow project grows? + +**A:** No problem! You can always transition to BMad Method by running workflow-init and create-prd. Your tech-spec becomes input for the PRD. + +### Q: Do I need story-context for every story? + +**A:** Usually no! Tech-spec is comprehensive enough for most Quick Flow projects. Only use story-context for complex edge cases. + +### Q: Can I skip validation? + +**A:** No, validation always runs automatically. But it's fast and catches issues early! + +### Q: Will it work with my team's code style? + +**A:** Yes! It detects your conventions and asks for confirmation. You control whether to follow existing patterns or establish new ones. + +--- + +## Tips and Best Practices + +### 1. **Be Specific in Discovery** + +When describing your change, provide specifics: + +- โœ… "Fix email validation in UserService to allow plus-addressing" +- โŒ "Fix validation bug" + +### 2. **Trust the Convention Detection** + +If it detects your patterns correctly, say yes! It's faster than establishing new conventions. + +### 3. **Use WebSearch Recommendations for Greenfield** + +Starter templates save hours of setup time. Let Quick Spec Flow find the best ones. + +### 4. **Review the Auto-Validation** + +When validation runs, read the scores. They tell you if your spec is production-ready. + +### 5. **Story Context is Optional** + +For single changes, try going directly to dev-story first. Only add story-context if you hit complexity. + +### 6. **Keep Single Changes Truly Atomic** + +If your "single change" needs 3+ files, it might be a multi-story feature. Let the workflow guide you. + +### 7. **Validate Story Sequence for Multi-Story Features** + +When you get multiple stories, check the dependency validation output. Proper sequence matters! + +--- + +## Real-World Examples + +### Example 1: Adding Logging (Single Change) + +**Input:** "Add structured logging to payment processing" + +**Tech-Spec Output:** + +- Detected: winston 3.8.2 already in package.json +- Analyzed: Existing services use winston with JSON format +- Confirmed: Follow existing logging patterns +- Generated: Specific file paths, log levels, format example +- Story: Ready to implement in 1-2 hours + +**Result:** Consistent logging added, following team patterns, no research needed. + +--- + +### Example 2: Search Feature (Multi-Story) + +**Input:** "Add search to product catalog with filters" + +**Tech-Spec Output:** + +- Detected: React 18.2.0, MUI component library, Express backend +- Analyzed: Existing ProductList component patterns +- Confirmed: Follow existing API and component structure +- Generated: + - Epic: Product Search Functionality + - Story 1: Backend search API with filters + - Story 2: Frontend search UI component +- Auto-validated: Story 1 โ†’ Story 2 sequence correct + +**Result:** Search feature implemented in 4-6 hours with proper architecture. + +--- + +## Summary + +Quick Spec Flow is your **fast path from idea to implementation** for: + +- ๐Ÿ› Bug fixes +- โœจ Small features +- ๐Ÿš€ Rapid prototyping +- ๐Ÿ”ง Quick enhancements + +**Key Features:** + +- Auto-detects your stack +- Auto-analyzes brownfield code +- Auto-validates quality +- Respects existing conventions +- Uses WebSearch for modern practices +- Generates comprehensive tech-specs +- Creates implementation-ready stories + +**Time to code:** Minutes, not hours. + +**Ready to try it?** Load the PM agent and say what you want to build! ๐Ÿš€ + +--- + +## Next Steps + +- **Try it now:** Load PM agent and describe a small change +- **Learn more:** See the [BMM Workflow Guides](./README.md#-workflow-guides) for comprehensive workflow documentation +- **Need help deciding?** Run `workflow-init` to get a recommendation +- **Have questions?** Join us on Discord: https://discord.gg/gk8jAdXWmj + +--- + +_Quick Spec Flow - Because not every change needs a Product Brief._ diff --git a/.bmad/bmm/docs/quick-start.md b/.bmad/bmm/docs/quick-start.md new file mode 100644 index 00000000..68329c0e --- /dev/null +++ b/.bmad/bmm/docs/quick-start.md @@ -0,0 +1,366 @@ +# BMad Method V6 Quick Start Guide + +Get started with BMad Method v6 for your new greenfield project. This guide walks you through building software from scratch using AI-powered workflows. + +## TL;DR - The Quick Path + +1. **Install**: `npx bmad-method@alpha install` +2. **Initialize**: Load Analyst agent โ†’ Run "workflow-init" +3. **Plan**: Load PM agent โ†’ Run "prd" (or "tech-spec" for small projects) +4. **Architect**: Load Architect agent โ†’ Run "create-architecture" (10+ stories only) +5. **Build**: Load SM agent โ†’ Run workflows for each story โ†’ Load DEV agent โ†’ Implement +6. **Always use fresh chats** for each workflow to avoid hallucinations + +--- + +## What is BMad Method? + +BMad Method (BMM) helps you build software through guided workflows with specialized AI agents. The process follows four phases: + +1. **Phase 1: Analysis** (Optional) - Brainstorming, Research, Product Brief +2. **Phase 2: Planning** (Required) - Create your requirements (tech-spec or PRD) +3. **Phase 3: Solutioning** (Track-dependent) - Design the architecture for BMad Method and Enterprise tracks +4. **Phase 4: Implementation** (Required) - Build your software Epic by Epic, Story by Story + +## Installation + +```bash +# Install v6 Alpha to your project +npx bmad-method@alpha install +``` + +The interactive installer will guide you through setup and create a `.bmad/` folder with all agents and workflows. + +--- + +## Getting Started + +### Step 1: Initialize Your Workflow + +1. **Load the Analyst agent** in your IDE - See your IDE-specific instructions in [docs/ide-info](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) for how to activate agents: + - [Claude Code](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/docs/ide-info/claude-code.md) + - [VS Code/Cursor/Windsurf](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) - Check your IDE folder + - Other IDEs also supported +2. **Wait for the agent's menu** to appear +3. **Tell the agent**: "Run workflow-init" or type "\*workflow-init" or select the menu item number + +#### What happens during workflow-init? + +Workflows are interactive processes in V6 that replaced tasks and templates from prior versions. There are many types of workflows, and you can even create your own with the BMad Builder module. For the BMad Method, you'll be interacting with expert-designed workflows crafted to work with you to get the best out of both you and the LLM. + +During workflow-init, you'll describe: + +- Your project and its goals +- Whether there's an existing codebase or this is a new project +- The general size and complexity (you can adjust this later) + +#### Planning Tracks + +Based on your description, the workflow will suggest a track and let you choose from: + +**Three Planning Tracks:** + +- **Quick Flow** - Fast implementation (tech-spec only) - bug fixes, simple features, clear scope (typically 1-15 stories) +- **BMad Method** - Full planning (PRD + Architecture + UX) - products, platforms, complex features (typically 10-50+ stories) +- **Enterprise Method** - Extended planning (BMad Method + Security/DevOps/Test) - enterprise requirements, compliance, multi-tenant (typically 30+ stories) + +**Note**: Story counts are guidance, not definitions. Tracks are chosen based on planning needs, not story math. + +#### What gets created? + +Once you confirm your track, the `bmm-workflow-status.yaml` file will be created in your project's docs folder (assuming default install location). This file tracks your progress through all phases. + +**Important notes:** + +- Every track has different paths through the phases +- Story counts can still change based on overall complexity as you work +- For this guide, we'll assume a BMad Method track project +- This workflow will guide you through Phase 1 (optional), Phase 2 (required), and Phase 3 (required for BMad Method and Enterprise tracks) + +### Step 2: Work Through Phases 1-3 + +After workflow-init completes, you'll work through the planning phases. **Important: Use fresh chats for each workflow to avoid context limitations.** + +#### Checking Your Status + +If you're unsure what to do next: + +1. Load any agent in a new chat +2. Ask for "workflow-status" +3. The agent will tell you the next recommended or required workflow + +**Example response:** + +``` +Phase 1 (Analysis) is entirely optional. All workflows are optional or recommended: + - brainstorm-project - optional + - research - optional + - product-brief - RECOMMENDED (but not required) + +The next TRULY REQUIRED step is: + - PRD (Product Requirements Document) in Phase 2 - Planning + - Agent: pm + - Command: prd +``` + +#### How to Run Workflows in Phases 1-3 + +When an agent tells you to run a workflow (like `prd`): + +1. **Start a new chat** with the specified agent (e.g., PM) - See [docs/ide-info](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) for your IDE's specific instructions +2. **Wait for the menu** to appear +3. **Tell the agent** to run it using any of these formats: + - Type the shorthand: `*prd` + - Say it naturally: "Let's create a new PRD" + - Select the menu number for "create-prd" + +The agents in V6 are very good with fuzzy menu matching! + +#### Quick Reference: Agent โ†’ Document Mapping + +For v4 users or those who prefer to skip workflow-status guidance: + +- **Analyst** โ†’ Brainstorming, Product Brief +- **PM** โ†’ PRD (BMad Method/Enterprise tracks) OR tech-spec (Quick Flow track) +- **UX-Designer** โ†’ UX Design Document (if UI-heavy) +- **Architect** โ†’ Architecture (BMad Method/Enterprise tracks) + +#### Phase 2: Planning - Creating the PRD + +**For BMad Method and Enterprise tracks:** + +1. Load the **PM agent** in a new chat +2. Tell it to run the PRD workflow +3. Once complete, you'll have: + - **PRD.md** - Your Product Requirements Document + - Epic breakdown + +**For Quick Flow track:** + +- Use **tech-spec** instead of PRD (no architecture needed) + +#### Phase 2 (Optional): UX Design + +If your project has a user interface: + +1. Load the **UX-Designer agent** in a new chat +2. Tell it to run the UX design workflow +3. After completion, run validations to ensure the Epics file stays updated + +#### Phase 3: Architecture + +**For BMad Method and Enterprise tracks:** + +1. Load the **Architect agent** in a new chat +2. Tell it to run the create-architecture workflow +3. After completion, run validations to ensure the Epics file stays updated + +#### Phase 3: Solutioning Gate Check (Highly Recommended) + +Once architecture is complete: + +1. Load the **Architect agent** in a new chat +2. Tell it to run "solutioning-gate-check" +3. This validates cohesion across all your planning documents (PRD, UX, Architecture, Epics) +4. This was called the "PO Master Checklist" in v4 + +**Why run this?** It ensures all your planning assets align properly before you start building. + +#### Context Management Tips + +- **Use 200k+ context models** for best results (Claude Sonnet 4.5, GPT-4, etc.) +- **Fresh chat for each workflow** - Brainstorming, Briefs, Research, and PRD generation are all context-intensive +- **No document sharding needed** - Unlike v4, you don't need to split documents +- **Web Bundles coming soon** - Will help save LLM tokens for users with limited plans + +### Step 3: Start Building (Phase 4 - Implementation) + +Once planning and architecture are complete, you'll move to Phase 4. **Important: Each workflow below should be run in a fresh chat to avoid context limitations and hallucinations.** + +#### 3.1 Initialize Sprint Planning + +1. **Start a new chat** with the **SM (Scrum Master) agent** +2. Wait for the menu to appear +3. Tell the agent: "Run sprint-planning" +4. This creates your `sprint-status.yaml` file that tracks all epics and stories + +#### 3.2 Create Epic Context (Optional but Recommended) + +1. **Start a new chat** with the **SM agent** +2. Wait for the menu +3. Tell the agent: "Run epic-tech-context" +4. This creates technical context for the current epic before drafting stories + +#### 3.3 Draft Your First Story + +1. **Start a new chat** with the **SM agent** +2. Wait for the menu +3. Tell the agent: "Run create-story" +4. This drafts the story file from the epic + +#### 3.4 Add Story Context (Optional but Recommended) + +1. **Start a new chat** with the **SM agent** +2. Wait for the menu +3. Tell the agent: "Run story-context" +4. This creates implementation-specific technical context for the story + +#### 3.5 Implement the Story + +1. **Start a new chat** with the **DEV agent** +2. Wait for the menu +3. Tell the agent: "Run dev-story" +4. The DEV agent will implement the story and update the sprint status + +#### 3.6 Review the Code (Optional but Recommended) + +1. **Start a new chat** with the **DEV agent** +2. Wait for the menu +3. Tell the agent: "Run code-review" +4. The DEV agent performs quality validation (this was called QA in v4) + +### Step 4: Keep Going + +For each subsequent story, repeat the cycle using **fresh chats** for each workflow: + +1. **New chat** โ†’ SM agent โ†’ "Run create-story" +2. **New chat** โ†’ SM agent โ†’ "Run story-context" +3. **New chat** โ†’ DEV agent โ†’ "Run dev-story" +4. **New chat** โ†’ DEV agent โ†’ "Run code-review" (optional but recommended) + +After completing all stories in an epic: + +1. **Start a new chat** with the **SM agent** +2. Tell the agent: "Run retrospective" + +**Why fresh chats?** Context-intensive workflows can cause hallucinations if you keep issuing commands in the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow. + +--- + +## Understanding the Agents + +Each agent is a specialized AI persona: + +- **Analyst** - Initializes workflows and tracks progress +- **PM** - Creates requirements and specifications +- **UX-Designer** - If your project has a front end - this designer will help produce artifacts, come up with mock updates, and design a great look and feel with you giving it guidance. +- **Architect** - Designs system architecture +- **SM (Scrum Master)** - Manages sprints and creates stories +- **DEV** - Implements code and reviews work + +## How Workflows Work + +1. **Load an agent** - Open the agent file in your IDE to activate it +2. **Wait for the menu** - The agent will present its available workflows +3. **Tell the agent what to run** - Say "Run [workflow-name]" +4. **Follow the prompts** - The agent guides you through each step + +The agent creates documents, asks questions, and helps you make decisions throughout the process. + +## Project Tracking Files + +BMad creates two files to track your progress: + +**1. bmm-workflow-status.yaml** + +- Shows which phase you're in and what's next +- Created by workflow-init +- Updated automatically as you progress through phases + +**2. sprint-status.yaml** (Phase 4 only) + +- Tracks all your epics and stories during implementation +- Critical for SM and DEV agents to know what to work on next +- Created by sprint-planning workflow +- Updated automatically as stories progress + +**You don't need to edit these manually** - agents update them as you work. + +--- + +## The Complete Flow Visualized + +```mermaid +flowchart LR + subgraph P1["Phase 1 (Optional)
Analysis"] + direction TB + A1[Brainstorm] + A2[Research] + A3[Brief] + A4[Analyst] + A1 ~~~ A2 ~~~ A3 ~~~ A4 + end + + subgraph P2["Phase 2 (Required)
Planning"] + direction TB + B1[Quick Flow:
tech-spec] + B2[Method/Enterprise:
PRD] + B3[UX opt] + B4[PM, UX] + B1 ~~~ B2 ~~~ B3 ~~~ B4 + end + + subgraph P3["Phase 3 (Track-dependent)
Solutioning"] + direction TB + C1[Method/Enterprise:
architecture] + C2[gate-check] + C3[Architect] + C1 ~~~ C2 ~~~ C3 + end + + subgraph P4["Phase 4 (Required)
Implementation"] + direction TB + D1[Per Epic:
epic context] + D2[Per Story:
create-story] + D3[story-context] + D4[dev-story] + D5[code-review] + D6[SM, DEV] + D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5 ~~~ D6 + end + + P1 --> P2 + P2 --> P3 + P3 --> P4 + + style P1 fill:#bbf,stroke:#333,stroke-width:2px,color:#000 + style P2 fill:#bfb,stroke:#333,stroke-width:2px,color:#000 + style P3 fill:#ffb,stroke:#333,stroke-width:2px,color:#000 + style P4 fill:#fbf,stroke:#333,stroke-width:2px,color:#000 +``` + +## Common Questions + +**Q: Do I always need architecture?** +A: Only for BMad Method and Enterprise tracks. Quick Flow projects skip straight from tech-spec to implementation. + +**Q: Can I change my plan later?** +A: Yes! The SM agent has a "correct-course" workflow for handling scope changes. + +**Q: What if I want to brainstorm first?** +A: Load the Analyst agent and tell it to "Run brainstorm-project" before running workflow-init. + +**Q: Why do I need fresh chats for each workflow?** +A: Context-intensive workflows can cause hallucinations if run in sequence. Fresh chats ensure maximum context capacity. + +**Q: Can I skip workflow-init and workflow-status?** +A: Yes, once you learn the flow. Use the Quick Reference in Step 2 to go directly to the workflows you need. + +## Getting Help + +- **During workflows**: Agents guide you with questions and explanations +- **Community**: [Discord](https://discord.gg/gk8jAdXWmj) - #general-dev, #bugs-issues +- **Complete guide**: [BMM Workflow Documentation](./README.md#-workflow-guides) +- **YouTube tutorials**: [BMad Code Channel](https://www.youtube.com/@BMadCode) + +--- + +## Key Takeaways + +โœ… **Always use fresh chats** - Load agents in new chats for each workflow to avoid context issues +โœ… **Let workflow-status guide you** - Load any agent and ask for status when unsure what's next +โœ… **Track matters** - Quick Flow uses tech-spec, BMad Method/Enterprise need PRD and architecture +โœ… **Tracking is automatic** - The status files update themselves, no manual editing needed +โœ… **Agents are flexible** - Use menu numbers, shortcuts (\*prd), or natural language + +**Ready to start building?** Install BMad, load the Analyst, run workflow-init, and let the agents guide you! diff --git a/.bmad/bmm/docs/scale-adaptive-system.md b/.bmad/bmm/docs/scale-adaptive-system.md new file mode 100644 index 00000000..a8631d18 --- /dev/null +++ b/.bmad/bmm/docs/scale-adaptive-system.md @@ -0,0 +1,599 @@ +# BMad Method Scale Adaptive System + +**Automatically adapts workflows to project complexity - from quick fixes to enterprise systems** + +--- + +## Overview + +The **Scale Adaptive System** intelligently routes projects to the right planning methodology based on complexity, not arbitrary story counts. + +### The Problem + +Traditional methodologies apply the same process to every project: + +- Bug fix requires full design docs +- Enterprise system built with minimal planning +- One-size-fits-none approach + +### The Solution + +BMad Method adapts to three distinct planning tracks: + +- **Quick Flow**: Tech-spec only, implement immediately +- **BMad Method**: PRD + Architecture, structured approach +- **Enterprise Method**: Full planning with security/devops/test + +**Result**: Right planning depth for every project. + +--- + +## Quick Reference + +### Three Tracks at a Glance + +| Track | Planning Depth | Time Investment | Best For | +| --------------------- | --------------------- | --------------- | ------------------------------------------ | +| **Quick Flow** | Tech-spec only | Hours to 1 day | Simple features, bug fixes, clear scope | +| **BMad Method** | PRD + Arch + UX | 1-3 days | Products, platforms, complex features | +| **Enterprise Method** | Method + Test/Sec/Ops | 3-7 days | Enterprise needs, compliance, multi-tenant | + +### Decision Tree + +```mermaid +flowchart TD + START{Describe your project} + + START -->|Bug fix, simple feature| Q1{Scope crystal clear?} + START -->|Product, platform, complex| M[BMad Method
PRD + Architecture] + START -->|Enterprise, compliance| E[Enterprise Method
Extended Planning] + + Q1 -->|Yes| QF[Quick Flow
Tech-spec only] + Q1 -->|Uncertain| M + + style QF fill:#bfb,stroke:#333,stroke-width:2px,color:#000 + style M fill:#bbf,stroke:#333,stroke-width:2px,color:#000 + style E fill:#f9f,stroke:#333,stroke-width:2px,color:#000 +``` + +### Quick Keywords + +- **Quick Flow**: fix, bug, simple, add, clear scope +- **BMad Method**: product, platform, dashboard, complex, multiple features +- **Enterprise Method**: enterprise, multi-tenant, compliance, security, audit + +--- + +## How Track Selection Works + +When you run `workflow-init`, it guides you through an educational choice: + +### 1. Description Analysis + +Analyzes your project description for complexity indicators and suggests an appropriate track. + +### 2. Educational Presentation + +Shows all three tracks with: + +- Time investment +- Planning approach +- Benefits and trade-offs +- AI agent support level +- Concrete examples + +### 3. Honest Recommendation + +Provides tailored recommendation based on: + +- Complexity keywords +- Greenfield vs brownfield +- User's description + +### 4. User Choice + +You choose the track that fits your situation. The system guides but never forces. + +**Example:** + +``` +workflow-init: "Based on 'Add user dashboard with analytics', I recommend BMad Method. + This involves multiple features and system design. The PRD + Architecture + gives AI agents complete context for better code generation." + +You: "Actually, this is simpler than it sounds. Quick Flow." + +workflow-init: "Got it! Using Quick Flow with tech-spec." +``` + +--- + +## The Three Tracks + +### Track 1: Quick Flow + +**Definition**: Fast implementation with tech-spec planning. + +**Time**: Hours to 1 day of planning + +**Planning Docs**: + +- Tech-spec.md (implementation-focused) +- Story files (1-15 typically, auto-detects epic structure) + +**Workflow Path**: + +``` +(Brownfield: document-project first if needed) +โ†“ +Tech-Spec โ†’ Implement +``` + +**Use For**: + +- Bug fixes +- Simple features +- Enhancements with clear scope +- Quick additions + +**Story Count**: Typically 1-15 stories (guidance, not rule) + +**Example**: "Fix authentication token expiration bug" + +**AI Agent Support**: Basic - minimal context provided + +**Trade-off**: Less planning = higher rework risk if complexity emerges + +--- + +### Track 2: BMad Method (RECOMMENDED) + +**Definition**: Full product + system design planning. + +**Time**: 1-3 days of planning + +**Planning Docs**: + +- PRD.md (product requirements) +- Architecture.md (system design) +- UX Design (if UI components) +- Epic breakdown with stories + +**Workflow Path**: + +``` +(Brownfield: document-project first if needed) +โ†“ +(Optional: Analysis phase - brainstorm, research, product brief) +โ†“ +PRD โ†’ (Optional UX) โ†’ Architecture โ†’ Gate Check โ†’ Implement +``` + +**Use For**: + +**Greenfield**: + +- Products +- Platforms +- Multi-feature initiatives + +**Brownfield**: + +- Complex additions (new UIs + APIs) +- Major refactors +- New modules + +**Story Count**: Typically 10-50+ stories (guidance, not rule) + +**Examples**: + +- "User dashboard with analytics and preferences" +- "Add real-time collaboration to existing document editor" +- "Payment integration system" + +**AI Agent Support**: Exceptional - complete context for coding partnership + +**Why Architecture for Brownfield?** + +Your brownfield documentation might be huge. Architecture workflow distills massive codebase context into a focused solution design specific to YOUR project. This keeps AI agents focused without getting lost in existing code. + +**Benefits**: + +- Complete AI agent context +- Prevents architectural drift +- Fewer surprises during implementation +- Better code quality +- Faster overall delivery (planning pays off) + +--- + +### Track 3: Enterprise Method + +**Definition**: Extended planning with security, devops, and test strategy. + +**Time**: 3-7 days of planning + +**Planning Docs**: + +- All BMad Method docs PLUS: +- Security Architecture +- DevOps Strategy +- Test Strategy +- Compliance documentation + +**Workflow Path**: + +``` +(Brownfield: document-project nearly mandatory) +โ†“ +Analysis (recommended/required) โ†’ PRD โ†’ UX โ†’ Architecture +โ†“ +Security Architecture โ†’ DevOps Strategy โ†’ Test Strategy +โ†“ +Gate Check โ†’ Implement +``` + +**Use For**: + +- Enterprise requirements +- Multi-tenant systems +- Compliance needs (HIPAA, SOC2, etc.) +- Mission-critical systems +- Security-sensitive applications + +**Story Count**: Typically 30+ stories (but defined by enterprise needs, not count) + +**Examples**: + +- "Multi-tenant SaaS platform" +- "HIPAA-compliant patient portal" +- "Add SOC2 audit logging to enterprise app" + +**AI Agent Support**: Elite - comprehensive enterprise planning + +**Critical for Enterprise**: + +- Security architecture and threat modeling +- DevOps pipeline planning +- Comprehensive test strategy +- Risk assessment +- Compliance mapping + +--- + +## Planning Documents by Track + +### Quick Flow Documents + +**Created**: Upfront in Planning Phase + +**Tech-Spec**: + +- Problem statement and solution +- Source tree changes +- Technical implementation details +- Detected stack and conventions (brownfield) +- UX/UI considerations (if user-facing) +- Testing strategy + +**Serves as**: Complete planning document (replaces PRD + Architecture) + +--- + +### BMad Method Documents + +**Created**: Upfront in Planning and Solutioning Phases + +**PRD (Product Requirements Document)**: + +- Product vision and goals +- Feature requirements +- Epic breakdown with stories +- Success criteria +- User experience considerations +- Business context + +**Architecture Document**: + +- System components and responsibilities +- Data models and schemas +- Integration patterns +- Security architecture +- Performance considerations +- Deployment architecture + +**For Brownfield**: Acts as focused "solution design" that distills existing codebase into integration plan + +--- + +### Enterprise Method Documents + +**Created**: Extended planning across multiple phases + +Includes all BMad Method documents PLUS: + +**Security Architecture**: + +- Threat modeling +- Authentication/authorization design +- Data protection strategy +- Audit requirements + +**DevOps Strategy**: + +- CI/CD pipeline design +- Infrastructure architecture +- Monitoring and alerting +- Disaster recovery + +**Test Strategy**: + +- Test approach and coverage +- Automation strategy +- Quality gates +- Performance testing + +--- + +## Workflow Comparison + +| Track | Analysis | Planning | Architecture | Security/Ops | Typical Stories | +| --------------- | ----------- | --------- | ------------ | ------------ | --------------- | +| **Quick Flow** | Optional | Tech-spec | None | None | 1-15 | +| **BMad Method** | Recommended | PRD + UX | Required | None | 10-50+ | +| **Enterprise** | Required | PRD + UX | Required | Required | 30+ | + +**Note**: Story counts are GUIDANCE based on typical usage, NOT definitions of tracks. + +--- + +## Brownfield Projects + +### Critical First Step + +For ALL brownfield projects: Run `document-project` BEFORE planning workflows. + +### Why document-project is Critical + +**Quick Flow** uses it for: + +- Auto-detecting existing patterns +- Understanding codebase structure +- Confirming conventions + +**BMad Method** uses it for: + +- Architecture inputs (existing structure) +- Integration design +- Pattern consistency + +**Enterprise Method** uses it for: + +- Security analysis +- Integration architecture +- Risk assessment + +### Brownfield Workflow Pattern + +```mermaid +flowchart TD + START([Brownfield Project]) + CHECK{Has docs/
index.md?} + + START --> CHECK + CHECK -->|No| DOC[document-project workflow
10-30 min] + CHECK -->|Yes| TRACK[Choose Track] + + DOC --> TRACK + TRACK -->|Quick| QF[Tech-Spec] + TRACK -->|Method| M[PRD + Arch] + TRACK -->|Enterprise| E[PRD + Arch + Sec/Ops] + + style DOC fill:#ffb,stroke:#333,stroke-width:2px,color:#000 + style TRACK fill:#bfb,stroke:#333,stroke-width:2px,color:#000 +``` + +--- + +## Common Scenarios + +### Scenario 1: Bug Fix (Quick Flow) + +**Input**: "Fix email validation bug in login form" + +**Detection**: Keywords "fix", "bug" + +**Track**: Quick Flow + +**Workflow**: + +1. (Optional) Brief analysis +2. Tech-spec with single story +3. Implement immediately + +**Time**: 2-4 hours total + +--- + +### Scenario 2: Small Feature (Quick Flow) + +**Input**: "Add OAuth social login (Google, GitHub, Facebook)" + +**Detection**: Keywords "add", "feature", clear scope + +**Track**: Quick Flow + +**Workflow**: + +1. (Optional) Research OAuth providers +2. Tech-spec with 3 stories +3. Implement story-by-story + +**Time**: 1-3 days + +--- + +### Scenario 3: Customer Portal (BMad Method) + +**Input**: "Build customer portal with dashboard, tickets, billing" + +**Detection**: Keywords "portal", "dashboard", multiple features + +**Track**: BMad Method + +**Workflow**: + +1. (Recommended) Product Brief +2. PRD with epics +3. (If UI) UX Design +4. Architecture (system design) +5. Gate Check +6. Implement with sprint planning + +**Time**: 1-2 weeks + +--- + +### Scenario 4: E-commerce Platform (BMad Method) + +**Input**: "Build e-commerce platform with products, cart, checkout, admin, analytics" + +**Detection**: Keywords "platform", multiple subsystems + +**Track**: BMad Method + +**Workflow**: + +1. Research + Product Brief +2. Comprehensive PRD +3. UX Design (recommended) +4. System Architecture (required) +5. Gate check +6. Implement with phased approach + +**Time**: 3-6 weeks + +--- + +### Scenario 5: Brownfield Addition (BMad Method) + +**Input**: "Add search functionality to existing product catalog" + +**Detection**: Brownfield + moderate complexity + +**Track**: BMad Method (not Quick Flow) + +**Critical First Step**: + +1. **Run document-project** to analyze existing codebase + +**Then Workflow**: 2. PRD for search feature 3. Architecture (integration design - highly recommended) 4. Implement following existing patterns + +**Time**: 1-2 weeks + +**Why Method not Quick Flow?**: Integration with existing catalog system benefits from architecture planning to ensure consistency. + +--- + +### Scenario 6: Multi-tenant Platform (Enterprise Method) + +**Input**: "Add multi-tenancy to existing single-tenant SaaS platform" + +**Detection**: Keywords "multi-tenant", enterprise scale + +**Track**: Enterprise Method + +**Workflow**: + +1. Document-project (mandatory) +2. Research (compliance, security) +3. PRD (multi-tenancy requirements) +4. Architecture (tenant isolation design) +5. Security Architecture (data isolation, auth) +6. DevOps Strategy (tenant provisioning, monitoring) +7. Test Strategy (tenant isolation testing) +8. Gate check +9. Phased implementation + +**Time**: 3-6 months + +--- + +## Best Practices + +### 1. Document-Project First for Brownfield + +Always run `document-project` before starting brownfield planning. AI agents need existing codebase context. + +### 2. Trust the Recommendation + +If `workflow-init` suggests BMad Method, there's probably complexity you haven't considered. Review carefully before overriding. + +### 3. Start Smaller if Uncertain + +Uncertain between Quick Flow and Method? Start with Quick Flow. You can create PRD later if needed. + +### 4. Don't Skip Gate Checks + +For BMad Method and Enterprise, gate checks prevent costly mistakes. Invest the time. + +### 5. Architecture is Optional but Recommended for Brownfield + +Brownfield BMad Method makes architecture optional, but it's highly recommended. It distills complex codebase into focused solution design. + +### 6. Discovery Phase Based on Need + +Brainstorming and research are offered regardless of track. Use them when you need to think through the problem space. + +### 7. Product Brief for Greenfield Method + +Product Brief is only offered for greenfield BMad Method and Enterprise. It's optional but helps with strategic thinking. + +--- + +## Key Differences from Legacy System + +### Old System (Levels 0-4) + +- Arbitrary story count thresholds +- Level 2 vs Level 3 based on story count +- Confusing overlap zones (5-10 stories, 12-40 stories) +- Tech-spec and PRD shown as conflicting options + +### New System (3 Tracks) + +- Methodology-based distinction (not story counts) +- Story counts as guidance, not definitions +- Clear track purposes: + - Quick Flow = Implementation-focused + - BMad Method = Product + system design + - Enterprise = Extended with security/ops +- Mutually exclusive paths chosen upfront +- Educational decision-making + +--- + +## Migration from Old System + +If you have existing projects using the old level system: + +- **Level 0-1** โ†’ Quick Flow +- **Level 2-3** โ†’ BMad Method +- **Level 4** โ†’ Enterprise Method + +Run `workflow-init` on existing projects to migrate to new tracking system. It detects existing planning artifacts and creates appropriate workflow tracking. + +--- + +## Related Documentation + +- **[Quick Start Guide](./quick-start.md)** - Get started with BMM +- **[Quick Spec Flow](./quick-spec-flow.md)** - Details on Quick Flow track +- **[Brownfield Guide](./brownfield-guide.md)** - Existing codebase workflows +- **[Glossary](./glossary.md)** - Complete terminology +- **[FAQ](./faq.md)** - Common questions +- **[Workflows Guide](./README.md#-workflow-guides)** - Complete workflow reference + +--- + +_Scale Adaptive System - Right planning depth for every project._ diff --git a/.bmad/bmm/docs/test-architecture.md b/.bmad/bmm/docs/test-architecture.md new file mode 100644 index 00000000..5cf254d0 --- /dev/null +++ b/.bmad/bmm/docs/test-architecture.md @@ -0,0 +1,394 @@ +--- +last-redoc-date: 2025-11-05 +--- + +# Test Architect (TEA) Agent Guide + +## Overview + +- **Persona:** Murat, Master Test Architect and Quality Advisor focused on risk-based testing, fixture architecture, ATDD, and CI/CD governance. +- **Mission:** Deliver actionable quality strategies, automation coverage, and gate decisions that scale with project complexity and compliance demands. +- **Use When:** BMad Method or Enterprise track projects, integration risk is non-trivial, brownfield regression risk exists, or compliance/NFR evidence is required. (Quick Flow projects typically don't require TEA) + +## TEA Workflow Lifecycle + +TEA integrates into the BMad development lifecycle during Solutioning (Phase 3) and Implementation (Phase 4): + +```mermaid +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','secondaryColor':'#fff','tertiaryColor':'#fff','fontSize':'16px','fontFamily':'arial'}}}%% +graph TB + subgraph Phase2["Phase 2: PLANNING"] + PM["PM: *prd (creates PRD + epics)"] + PlanNote["Business requirements phase"] + PM -.-> PlanNote + end + + subgraph Phase3["Phase 3: SOLUTIONING"] + Architecture["Architect: *architecture"] + Framework["TEA: *framework"] + CI["TEA: *ci"] + GateCheck["Architect: *solutioning-gate-check"] + Architecture --> Framework + Framework --> CI + CI --> GateCheck + Phase3Note["Test infrastructure AFTER architecture
defines technology stack"] + Framework -.-> Phase3Note + end + + subgraph Phase4["Phase 4: IMPLEMENTATION - Per Epic Cycle"] + SprintPlan["SM: *sprint-planning"] + TestDesign["TEA: *test-design (per epic)"] + CreateStory["SM: *create-story"] + ATDD["TEA: *atdd (optional, before dev)"] + DevImpl["DEV: implements story"] + Automate["TEA: *automate"] + TestReview1["TEA: *test-review (optional)"] + Trace1["TEA: *trace (refresh coverage)"] + + SprintPlan --> TestDesign + TestDesign --> CreateStory + CreateStory --> ATDD + ATDD --> DevImpl + DevImpl --> Automate + Automate --> TestReview1 + TestReview1 --> Trace1 + Trace1 -.->|next story| CreateStory + TestDesignNote["Test design: 'How do I test THIS epic?'
Creates test-design-epic-N.md per epic"] + TestDesign -.-> TestDesignNote + end + + subgraph Gate["EPIC/RELEASE GATE"] + NFR["TEA: *nfr-assess (if not done earlier)"] + TestReview2["TEA: *test-review (final audit, optional)"] + TraceGate["TEA: *trace - Phase 2: Gate"] + GateDecision{"Gate Decision"} + + NFR --> TestReview2 + TestReview2 --> TraceGate + TraceGate --> GateDecision + GateDecision -->|PASS| Pass["PASS โœ…"] + GateDecision -->|CONCERNS| Concerns["CONCERNS โš ๏ธ"] + GateDecision -->|FAIL| Fail["FAIL โŒ"] + GateDecision -->|WAIVED| Waived["WAIVED โญ๏ธ"] + end + + Phase2 --> Phase3 + Phase3 --> Phase4 + Phase4 --> Gate + + style Phase2 fill:#bbdefb,stroke:#0d47a1,stroke-width:3px,color:#000 + style Phase3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#000 + style Phase4 fill:#e1bee7,stroke:#4a148c,stroke-width:3px,color:#000 + style Gate fill:#ffe082,stroke:#f57c00,stroke-width:3px,color:#000 + style Pass fill:#4caf50,stroke:#1b5e20,stroke-width:3px,color:#000 + style Concerns fill:#ffc107,stroke:#f57f17,stroke-width:3px,color:#000 + style Fail fill:#f44336,stroke:#b71c1c,stroke-width:3px,color:#000 + style Waived fill:#9c27b0,stroke:#4a148c,stroke-width:3px,color:#000 +``` + +**Phase Numbering Note:** BMad uses a 4-phase methodology with optional Phase 0/1: + +- **Phase 0** (Optional): Documentation (brownfield prerequisite - `*document-project`) +- **Phase 1** (Optional): Discovery/Analysis (`*brainstorm`, `*research`, `*product-brief`) +- **Phase 2** (Required): Planning (`*prd` creates PRD + epics) +- **Phase 3** (Track-dependent): Solutioning (`*architecture` โ†’ TEA: `*framework`, `*ci` โ†’ `*solutioning-gate-check`) +- **Phase 4** (Required): Implementation (`*sprint-planning` โ†’ per-epic: `*test-design` โ†’ per-story: dev workflows) + +**TEA workflows:** `*framework` and `*ci` run once in Phase 3 after architecture. `*test-design` runs per-epic in Phase 4. Output: `test-design-epic-N.md`. + +Quick Flow track skips Phases 0, 1, and 3. BMad Method and Enterprise use all phases based on project needs. + +### Why TEA is Different from Other BMM Agents + +TEA is the only BMM agent that operates in **multiple phases** (Phase 3 and Phase 4) and has its own **knowledge base architecture**. + +
+Cross-Phase Operation & Unique Architecture + +### Phase-Specific Agents (Standard Pattern) + +Most BMM agents work in a single phase: + +- **Phase 1 (Analysis)**: Analyst agent +- **Phase 2 (Planning)**: PM agent +- **Phase 3 (Solutioning)**: Architect agent +- **Phase 4 (Implementation)**: SM, DEV agents + +### TEA: Multi-Phase Quality Agent (Unique Pattern) + +TEA is **the only agent that operates in multiple phases**: + +``` +Phase 1 (Analysis) โ†’ [TEA not typically used] + โ†“ +Phase 2 (Planning) โ†’ [PM defines requirements - TEA not active] + โ†“ +Phase 3 (Solutioning) โ†’ TEA: *framework, *ci (test infrastructure AFTER architecture) + โ†“ +Phase 4 (Implementation) โ†’ TEA: *test-design (per epic: "how do I test THIS feature?") + โ†’ TEA: *atdd, *automate, *test-review, *trace (per story) + โ†“ +Epic/Release Gate โ†’ TEA: *nfr-assess, *trace Phase 2 (release decision) +``` + +### TEA's 8 Workflows Across Phases + +**Standard agents**: 1-3 workflows per phase +**TEA**: 8 workflows across Phase 3, Phase 4, and Release Gate + +| Phase | TEA Workflows | Frequency | Purpose | +| ----------- | ----------------------------------------------------- | ---------------- | ---------------------------------------------- | +| **Phase 2** | (none) | - | Planning phase - PM defines requirements | +| **Phase 3** | *framework, *ci | Once per project | Setup test infrastructure AFTER architecture | +| **Phase 4** | *test-design, *atdd, *automate, *test-review, \*trace | Per epic/story | Test planning per epic, then per-story testing | +| **Release** | *nfr-assess, *trace (Phase 2: gate) | Per epic/release | Go/no-go decision | + +**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow. + +### Unique Directory Architecture + +TEA is the only BMM agent with its own top-level module directory (`bmm/testarch/`): + +``` +src/modules/bmm/ +โ”œโ”€โ”€ agents/ +โ”‚ โ””โ”€โ”€ tea.agent.yaml # Agent definition (standard location) +โ”œโ”€โ”€ workflows/ +โ”‚ โ””โ”€โ”€ testarch/ # TEA workflows (standard location) +โ””โ”€โ”€ testarch/ # Knowledge base (UNIQUE!) + โ”œโ”€โ”€ knowledge/ # 21 production-ready test pattern fragments + โ”œโ”€โ”€ tea-index.csv # Centralized knowledge lookup (21 fragments indexed) + โ””โ”€โ”€ README.md # This guide +``` + +### Why TEA Gets Special Treatment + +TEA uniquely requires: + +- **Extensive domain knowledge**: 21 fragments, 12,821 lines covering test patterns, CI/CD, fixtures, quality practices, healing strategies +- **Centralized reference system**: `tea-index.csv` for on-demand fragment loading during workflow execution +- **Cross-cutting concerns**: Domain-specific testing patterns (vs project-specific artifacts like PRDs/stories) +- **Optional MCP integration**: Healing, exploratory, and verification modes for enhanced testing capabilities + +This architecture enables TEA to maintain consistent, production-ready testing patterns across all BMad projects while operating across multiple development phases. + +
+ +## High-Level Cheat Sheets + +These cheat sheets map TEA workflows to the **BMad Method and Enterprise tracks** across the **4-Phase Methodology** (Phase 1: Analysis, Phase 2: Planning, Phase 3: Solutioning, Phase 4: Implementation). + +**Note:** Quick Flow projects typically don't require TEA (covered in Overview). These cheat sheets focus on BMad Method and Enterprise tracks where TEA adds value. + +**Legend for Track Deltas:** + +- โž• = New workflow or phase added (doesn't exist in baseline) +- ๐Ÿ”„ = Modified focus (same workflow, different emphasis or purpose) +- ๐Ÿ“ฆ = Additional output or archival requirement + +### Greenfield - BMad Method (Simple/Standard Work) + +**Planning Track:** BMad Method (PRD + Architecture) +**Use Case:** New projects with standard complexity + +| Workflow Stage | Test Architect | Dev / Team | Outputs | +| -------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------- | +| **Phase 1**: Discovery | - | Analyst `*product-brief` (optional) | `product-brief.md` | +| **Phase 2**: Planning | - | PM `*prd` (creates PRD + epics) | PRD, epics | +| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture | Architect `*architecture`, `*solutioning-gate-check` | Architecture, test scaffold, CI pipeline | +| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint status file with all epics and stories | +| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic (per-epic test plan) | Review epic scope | `test-design-epic-N.md` with risk assessment and test plan | +| **Phase 4**: Story Dev | (Optional) `*atdd` before dev, then `*automate` after | SM `*create-story`, DEV implements | Tests, story implementation | +| **Phase 4**: Story Review | Execute `*test-review` (optional), re-run `*trace` | Address recommendations, update code/tests | Quality report, refreshed coverage matrix | +| **Phase 4**: Release Gate | (Optional) `*test-review` for final audit, Run `*trace` (Phase 2) | Confirm Definition of Done, share release notes | Quality audit, Gate YAML + release summary | + +
+Execution Notes + +- Run `*framework` only once per repo or when modern harness support is missing. +- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` to setup test infrastructure based on architectural decisions. +- **Phase 4 starts**: After solutioning is complete, sprint planning loads all epics. +- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to create a test plan for THAT specific epic/feature. Output: `test-design-epic-N.md`. +- Use `*atdd` before coding when the team can adopt ATDD; share its checklist with the dev agent. +- Post-implementation, keep `*trace` current, expand coverage with `*automate`, optionally review test quality with `*test-review`. For release gate, run `*trace` with Phase 2 enabled to get deployment decision. +- Use `*test-review` after `*atdd` to validate generated tests, after `*automate` to ensure regression quality, or before gate for final audit. + +
+ +
+Worked Example โ€“ โ€œNova CRMโ€ Greenfield Feature + +1. **Planning (Phase 2):** Analyst runs `*product-brief`; PM executes `*prd` to produce PRD and epics. +2. **Solutioning (Phase 3):** Architect completes `*architecture` for the new module; TEA sets up test infrastructure via `*framework` and `*ci` based on architectural decisions; gate check validates planning completeness. +3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load all epics into sprint status. +4. **Epic 1 Planning (Phase 4):** TEA runs `*test-design` to create test plan for Epic 1, producing `test-design-epic-1.md` with risk assessment. +5. **Story Implementation (Phase 4):** For each story in Epic 1, SM generates story via `*create-story`; TEA optionally runs `*atdd`; Dev implements with guidance from failing tests. +6. **Post-Dev (Phase 4):** TEA runs `*automate`, optionally `*test-review` to audit test quality, re-runs `*trace` to refresh coverage. +7. **Release Gate:** TEA runs `*trace` with Phase 2 enabled to generate gate decision. + +
+ +### Brownfield - BMad Method or Enterprise (Simple or Complex) + +**Planning Tracks:** BMad Method or Enterprise Method +**Use Case:** Existing codebases - simple additions (BMad Method) or complex enterprise requirements (Enterprise Method) + +**๐Ÿ”„ Brownfield Deltas from Greenfield:** + +- โž• Phase 0 (Documentation) - Document existing codebase if undocumented +- โž• Phase 2: `*trace` - Baseline existing test coverage before planning +- ๐Ÿ”„ Phase 4: `*test-design` - Focus on regression hotspots and brownfield risks +- ๐Ÿ”„ Phase 4: Story Review - May include `*nfr-assess` if not done earlier + +| Workflow Stage | Test Architect | Dev / Team | Outputs | +| ----------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------- | +| **Phase 0**: Documentation โž• | - | Analyst `*document-project` (if undocumented) | Comprehensive project documentation | +| **Phase 1**: Discovery | - | Analyst/PM/Architect rerun planning workflows | Updated planning artifacts in `{output_folder}` | +| **Phase 2**: Planning | Run โž• `*trace` (baseline coverage) | PM `*prd` (creates PRD + epics) | PRD, epics, โž• coverage baseline | +| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture | Architect `*architecture`, `*solutioning-gate-check` | Architecture, test framework, CI pipeline | +| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint status file with all epics and stories | +| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic ๐Ÿ”„ (regression hotspots) | Review epic scope and brownfield risks | `test-design-epic-N.md` with brownfield risk assessment and mitigation | +| **Phase 4**: Story Dev | (Optional) `*atdd` before dev, then `*automate` after | SM `*create-story`, DEV implements | Tests, story implementation | +| **Phase 4**: Story Review | Apply `*test-review` (optional), re-run `*trace`, โž• `*nfr-assess` if needed | Resolve gaps, update docs/tests | Quality report, refreshed coverage matrix, NFR report | +| **Phase 4**: Release Gate | (Optional) `*test-review` for final audit, Run `*trace` (Phase 2) | Capture sign-offs, share release notes | Quality audit, Gate YAML + release summary | + +
+Execution Notes + +- Lead with `*trace` during Planning (Phase 2) to baseline existing test coverage before architecture work begins. +- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` to modernize test infrastructure. For brownfield, framework may need to integrate with or replace existing test setup. +- **Phase 4 starts**: After solutioning is complete and sprint planning loads all epics. +- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to identify regression hotspots, integration risks, and mitigation strategies for THAT specific epic/feature. Output: `test-design-epic-N.md`. +- Use `*atdd` when stories benefit from ATDD; otherwise proceed to implementation and rely on post-dev automation. +- After development, expand coverage with `*automate`, optionally review test quality with `*test-review`, re-run `*trace` (Phase 2 for gate decision). Run `*nfr-assess` now if non-functional risks weren't addressed earlier. +- Use `*test-review` to validate existing brownfield tests or audit new tests before gate. + +
+ +
+Worked Example โ€“ โ€œAtlas Paymentsโ€ Brownfield Story + +1. **Planning (Phase 2):** PM executes `*prd` to update PRD and `epics.md` (Epic 1: Payment Processing); TEA runs `*trace` to baseline existing coverage. +2. **Solutioning (Phase 3):** Architect triggers `*architecture` capturing legacy payment flows and integration architecture; TEA sets up `*framework` and `*ci` based on architectural decisions; gate check validates planning. +3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load Epic 1 into sprint status. +4. **Epic 1 Planning (Phase 4):** TEA runs `*test-design` for Epic 1 (Payment Processing), producing `test-design-epic-1.md` that flags settlement edge cases, regression hotspots, and mitigation plans. +5. **Story Implementation (Phase 4):** For each story in Epic 1, SM generates story via `*create-story`; TEA runs `*atdd` producing failing Playwright specs; Dev implements with guidance from tests and checklist. +6. **Post-Dev (Phase 4):** TEA applies `*automate`, optionally `*test-review` to audit test quality, re-runs `*trace` to refresh coverage. +7. **Release Gate:** TEA performs `*nfr-assess` to validate SLAs, runs `*trace` with Phase 2 enabled to generate gate decision (PASS/CONCERNS/FAIL). + +
+ +### Greenfield - Enterprise Method (Enterprise/Compliance Work) + +**Planning Track:** Enterprise Method (BMad Method + extended security/devops/test strategies) +**Use Case:** New enterprise projects with compliance, security, or complex regulatory requirements + +**๐Ÿข Enterprise Deltas from BMad Method:** + +- โž• Phase 1: `*research` - Domain and compliance research (recommended) +- โž• Phase 2: `*nfr-assess` - Capture NFR requirements early (security/performance/reliability) +- ๐Ÿ”„ Phase 4: `*test-design` - Enterprise focus (compliance, security architecture alignment) +- ๐Ÿ“ฆ Release Gate - Archive artifacts and compliance evidence for audits + +| Workflow Stage | Test Architect | Dev / Team | Outputs | +| -------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------ | +| **Phase 1**: Discovery | - | Analyst โž• `*research`, `*product-brief` | Domain research, compliance analysis, product brief | +| **Phase 2**: Planning | Run โž• `*nfr-assess` | PM `*prd` (creates PRD + epics), UX `*create-design` | Enterprise PRD, epics, UX design, โž• NFR documentation | +| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture | Architect `*architecture`, `*solutioning-gate-check` | Architecture, test framework, CI pipeline | +| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint plan with all epics | +| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic ๐Ÿ”„ (compliance focus) | Review epic scope and compliance requirements | `test-design-epic-N.md` with security/performance/compliance focus | +| **Phase 4**: Story Dev | (Optional) `*atdd`, `*automate`, `*test-review`, `*trace` per story | SM `*create-story`, DEV implements | Tests, fixtures, quality reports, coverage matrices | +| **Phase 4**: Release Gate | Final `*test-review` audit, Run `*trace` (Phase 2), ๐Ÿ“ฆ archive artifacts | Capture sign-offs, ๐Ÿ“ฆ compliance evidence | Quality audit, updated assessments, gate YAML, ๐Ÿ“ฆ audit trail | + +
+Execution Notes + +- `*nfr-assess` runs early in Planning (Phase 2) to capture compliance, security, and performance requirements upfront. +- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` with enterprise-grade configurations (selective testing, burn-in jobs, caching, notifications). +- **Phase 4 starts**: After solutioning is complete and sprint planning loads all epics. +- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to create an enterprise-focused test plan for THAT specific epic, ensuring alignment with security architecture, performance targets, and compliance requirements. Output: `test-design-epic-N.md`. +- Use `*atdd` for stories when feasible so acceptance tests can lead implementation. +- Use `*test-review` per story or sprint to maintain quality standards and ensure compliance with testing best practices. +- Prior to release, rerun coverage (`*trace`, `*automate`), perform final quality audit with `*test-review`, and formalize the decision with `*trace` Phase 2 (gate decision); archive artifacts for compliance audits. + +
+ +
+Worked Example โ€“ โ€œHelios Ledgerโ€ Enterprise Release + +1. **Planning (Phase 2):** Analyst runs `*research` and `*product-brief`; PM completes `*prd` creating PRD and epics; TEA runs `*nfr-assess` to establish NFR targets. +2. **Solutioning (Phase 3):** Architect completes `*architecture` with enterprise considerations; TEA sets up `*framework` and `*ci` with enterprise-grade configurations based on architectural decisions; gate check validates planning completeness. +3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load all epics into sprint status. +4. **Per-Epic (Phase 4):** For each epic, TEA runs `*test-design` to create epic-specific test plan (e.g., `test-design-epic-1.md`, `test-design-epic-2.md`) with compliance-focused risk assessment. +5. **Per-Story (Phase 4):** For each story, TEA uses `*atdd`, `*automate`, `*test-review`, and `*trace`; Dev teams iterate on the findings. +6. **Release Gate:** TEA re-checks coverage, performs final quality audit with `*test-review`, and logs the final gate decision via `*trace` Phase 2, archiving artifacts for compliance. + +
+ +## Command Catalog + +
+Optional Playwright MCP Enhancements + +**Two Playwright MCP servers** (actively maintained, continuously updated): + +- `playwright` - Browser automation (`npx @playwright/mcp@latest`) +- `playwright-test` - Test runner with failure analysis (`npx playwright run-test-mcp-server`) + +**How MCP Enhances TEA Workflows**: + +MCP provides additional capabilities on top of TEA's default AI-based approach: + +1. `*test-design`: + - Default: Analysis + documentation + - **+ MCP**: Interactive UI discovery with `browser_navigate`, `browser_click`, `browser_snapshot`, behavior observation + + Benefit: Discover actual functionality, edge cases, undocumented features + +2. `*atdd`, `*automate`: + - Default: Infers selectors and interactions from requirements and knowledge fragments + - **+ MCP**: Generates tests **then** verifies with `generator_setup_page`, `browser_*` tools, validates against live app + + Benefit: Accurate selectors from real DOM, verified behavior, refined test code + +3. `*automate`: + - Default: Pattern-based fixes from error messages + knowledge fragments + - **+ MCP**: Pattern fixes **enhanced with** `browser_snapshot`, `browser_console_messages`, `browser_network_requests`, `browser_generate_locator` + + Benefit: Visual failure context, live DOM inspection, root cause discovery + +**Config example**: + +```json +{ + "mcpServers": { + "playwright": { + "command": "npx", + "args": ["@playwright/mcp@latest"] + }, + "playwright-test": { + "command": "npx", + "args": ["playwright", "run-test-mcp-server"] + } + } +} +``` + +**To disable**: Set `tea_use_mcp_enhancements: false` in `.bmad/bmm/config.yaml` OR remove MCPs from IDE config. + +
+ +

+ +| Command | Workflow README | Primary Outputs | Notes | With Playwright MCP Enhancements | +| -------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `*framework` | [๐Ÿ“–](../workflows/testarch/framework/README.md) | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - | +| `*ci` | [๐Ÿ“–](../workflows/testarch/ci/README.md) | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - | +| `*test-design` | [๐Ÿ“–](../workflows/testarch/test-design/README.md) | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) | +| `*atdd` | [๐Ÿ“–](../workflows/testarch/atdd/README.md) | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) | +| `*automate` | [๐Ÿ“–](../workflows/testarch/automate/README.md) | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser | +| `*test-review` | [๐Ÿ“–](../workflows/testarch/test-review/README.md) | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - | +| `*nfr-assess` | [๐Ÿ“–](../workflows/testarch/nfr-assess/README.md) | NFR assessment report with actions | Focus on security/performance/reliability | - | +| `*trace` | [๐Ÿ“–](../workflows/testarch/trace/README.md) | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - | + +**๐Ÿ“–** = Click to view detailed workflow documentation diff --git a/.bmad/bmm/docs/workflow-architecture-reference.md b/.bmad/bmm/docs/workflow-architecture-reference.md new file mode 100644 index 00000000..d8761965 --- /dev/null +++ b/.bmad/bmm/docs/workflow-architecture-reference.md @@ -0,0 +1,371 @@ +# Decision Architecture Workflow - Technical Reference + +**Module:** BMM (BMAD Method Module) +**Type:** Solutioning Workflow + +--- + +## Overview + +The Decision Architecture workflow is a complete reimagining of how architectural decisions are made in the BMAD Method. Instead of template-driven documentation, this workflow facilitates an intelligent conversation that produces a **decision-focused architecture document** optimized for preventing AI agent conflicts during implementation. + +--- + +## Core Philosophy + +**The Problem**: When multiple AI agents implement different parts of a system, they make conflicting technical decisions leading to incompatible implementations. + +**The Solution**: A "consistency contract" that documents all critical technical decisions upfront, ensuring every agent follows the same patterns and uses the same technologies. + +--- + +## Key Features + +### 1. Starter Template Intelligence โญ NEW + +- Discovers relevant starter templates (create-next-app, create-t3-app, etc.) +- Considers UX requirements when selecting templates (animations, accessibility, etc.) +- Searches for current CLI options and defaults +- Documents decisions made BY the starter template +- Makes remaining architectural decisions around the starter foundation +- First implementation story becomes "initialize with starter command" + +### 2. Adaptive Facilitation + +- Adjusts conversation style based on user skill level (beginner/intermediate/expert) +- Experts get rapid, technical discussions +- Beginners receive education and protection from complexity +- Everyone produces the same high-quality output + +### 3. Dynamic Version Verification + +- NEVER trusts hardcoded version numbers +- Uses WebSearch to find current stable versions +- Verifies versions during the conversation +- Documents only verified, current versions + +### 4. Intelligent Discovery + +- No rigid project type templates +- Analyzes PRD to identify which decisions matter for THIS project +- Uses knowledge base of decisions and patterns +- Scales to infinite project types + +### 5. Collaborative Decision Making + +- Facilitates discussion for each critical decision +- Presents options with trade-offs +- Integrates advanced elicitation for innovative approaches +- Ensures decisions are coherent and compatible + +### 6. Consistent Output + +- Structured decision collection during conversation +- Strict document generation from collected decisions +- Validated against hard requirements +- Optimized for AI agent consumption + +--- + +## Workflow Structure + +``` +Step 0: Validate workflow and extract project configuration +Step 0.5: Validate workflow sequencing +Step 1: Load PRD and understand project context +Step 2: Discover and evaluate starter templates โญ NEW +Step 3: Adapt facilitation style and identify remaining decisions +Step 4: Facilitate collaborative decision making (with version verification) +Step 5: Address cross-cutting concerns +Step 6: Define project structure and boundaries +Step 7: Design novel architectural patterns (when needed) โญ NEW +Step 8: Define implementation patterns to prevent agent conflicts +Step 9: Validate architectural coherence +Step 10: Generate decision architecture document (with initialization commands) +Step 11: Validate document completeness +Step 12: Final review and update workflow status +``` + +--- + +## Files in This Workflow + +- **workflow.yaml** - Configuration and metadata +- **instructions.md** - The adaptive facilitation flow +- **decision-catalog.yaml** - Knowledge base of all architectural decisions +- **architecture-patterns.yaml** - Common patterns identified from requirements +- **pattern-categories.csv** - Pattern principles that teach LLM what needs defining +- **checklist.md** - Validation requirements for the output document +- **architecture-template.md** - Strict format for the final document + +--- + +## How It's Different from Old architecture + +| Aspect | Old Workflow | New Workflow | +| -------------------- | -------------------------------------------- | ----------------------------------------------- | +| **Approach** | Template-driven | Conversation-driven | +| **Project Types** | 11 rigid types with 22+ files | Infinite flexibility with intelligent discovery | +| **User Interaction** | Output sections with "Continue?" | Collaborative decision facilitation | +| **Skill Adaptation** | One-size-fits-all | Adapts to beginner/intermediate/expert | +| **Decision Making** | Late in process (Step 5) | Upfront and central focus | +| **Output** | Multiple documents including faux tech-specs | Single decision-focused architecture | +| **Time** | Confusing and slow | 30-90 minutes depending on skill level | +| **Elicitation** | Never used | Integrated at decision points | + +--- + +## Expected Inputs + +- **PRD** (Product Requirements Document) with: + - Functional Requirements + - Non-Functional Requirements + - Performance and compliance needs + +- **Epics** file with: + - User stories + - Acceptance criteria + - Dependencies + +- **UX Spec** (Optional but valuable) with: + - Interface designs and interaction patterns + - Accessibility requirements (WCAG levels) + - Animation and transition needs + - Platform-specific UI requirements + - Performance expectations for interactions + +--- + +## Output Document + +A single `architecture.md` file containing: + +- Executive summary (2-3 sentences) +- Project initialization command (if using starter template) +- Decision summary table with verified versions and epic mapping +- Complete project structure +- Integration specifications +- Consistency rules for AI agents + +--- + +## How Novel Pattern Design Works + +Step 7 handles unique or complex patterns that need to be INVENTED: + +### 1. Detection + +The workflow analyzes the PRD for concepts that don't have standard solutions: + +- Novel interaction patterns (e.g., "swipe to match" when Tinder doesn't exist) +- Complex multi-epic workflows (e.g., "viral invitation system") +- Unique data relationships (e.g., "social graph" before Facebook) +- New paradigms (e.g., "ephemeral messages" before Snapchat) + +### 2. Design Collaboration + +Instead of just picking technologies, the workflow helps DESIGN the solution: + +- Identifies the core problem to solve +- Explores different approaches with the user +- Documents how components interact +- Creates sequence diagrams for complex flows +- Uses elicitation to find innovative solutions + +### 3. Documentation + +Novel patterns become part of the architecture with: + +- Pattern name and purpose +- Component interactions +- Data flow diagrams +- Which epics/stories are affected +- Implementation guidance for agents + +### 4. Example + +``` +PRD: "Users can create 'circles' of friends with overlapping membership" +โ†“ +Workflow detects: This is a novel social structure pattern +โ†“ +Designs with user: Circle membership model, permission cascading, UI patterns +โ†“ +Documents: "Circle Pattern" with component design and data flow +โ†“ +All agents understand how to implement circle-related features consistently +``` + +--- + +## How Implementation Patterns Work + +Step 8 prevents agent conflicts by defining patterns for consistency: + +### 1. The Core Principle + +> "Any time multiple agents might make the SAME decision DIFFERENTLY, that's a pattern to capture" + +The LLM asks: "What could an agent encounter where they'd have to guess?" + +### 2. Pattern Categories (principles, not prescriptions) + +- **Naming**: How things are named (APIs, database fields, files) +- **Structure**: How things are organized (folders, modules, layers) +- **Format**: How data is formatted (JSON structures, responses) +- **Communication**: How components talk (events, messages, protocols) +- **Lifecycle**: How states change (workflows, transitions) +- **Location**: Where things go (URLs, paths, storage) +- **Consistency**: Cross-cutting concerns (dates, errors, logs) + +### 3. LLM Intelligence + +- Uses the principle to identify patterns beyond the 7 categories +- Figures out what specific patterns matter for chosen tech +- Only asks about patterns that could cause conflicts +- Skips obvious patterns that the tech choice determines + +### 4. Example + +``` +Tech chosen: REST API + PostgreSQL + React +โ†“ +LLM identifies needs: +- REST: URL structure, response format, status codes +- PostgreSQL: table naming, column naming, FK patterns +- React: component structure, state management, test location +โ†“ +Facilitates each with user +โ†“ +Documents as Implementation Patterns in architecture +``` + +--- + +## How Starter Templates Work + +When the workflow detects a project type that has a starter template: + +1. **Discovery**: Searches for relevant starter templates based on PRD +2. **Investigation**: Looks up current CLI options and defaults +3. **Presentation**: Shows user what the starter provides +4. **Integration**: Documents starter decisions as "PROVIDED BY STARTER" +5. **Continuation**: Only asks about decisions NOT made by starter +6. **Documentation**: Includes exact initialization command in architecture + +### Example Flow + +``` +PRD says: "Next.js web application with authentication" +โ†“ +Workflow finds: create-next-app and create-t3-app +โ†“ +User chooses: create-t3-app (includes auth setup) +โ†“ +Starter provides: Next.js, TypeScript, tRPC, Prisma, NextAuth, Tailwind +โ†“ +Workflow only asks about: Database choice, deployment target, additional services +โ†“ +First story becomes: "npx create t3-app@latest my-app --trpc --nextauth --prisma" +``` + +--- + +## Usage + +```bash +# In your BMAD-enabled project +workflow architecture +``` + +The AI agent will: + +1. Load your PRD and epics +2. Identify critical decisions needed +3. Facilitate discussion on each decision +4. Generate a comprehensive architecture document +5. Validate completeness + +--- + +## Design Principles + +1. **Facilitation over Prescription** - Guide users to good decisions rather than imposing templates +2. **Intelligence over Templates** - Use AI understanding rather than rigid structures +3. **Decisions over Details** - Focus on what prevents agent conflicts, not implementation minutiae +4. **Adaptation over Uniformity** - Meet users where they are while ensuring quality output +5. **Collaboration over Output** - The conversation matters as much as the document + +--- + +## For Developers + +This workflow assumes: + +- Single developer + AI agents (not teams) +- Speed matters (decisions in minutes, not days) +- AI agents need clear constraints to prevent conflicts +- The architecture document is for agents, not humans + +--- + +## Migration from architecture + +Projects using the old `architecture` workflow should: + +1. Complete any in-progress architecture work +2. Use `architecture` for new projects +3. The old workflow remains available but is deprecated + +--- + +## Version History + +**1.3.2** - UX specification integration and fuzzy file matching + +- Added UX spec as optional input with fuzzy file matching +- Updated workflow.yaml with input file references +- Starter template selection now considers UX requirements +- Added UX alignment validation to checklist +- Instructions use variable references for flexible file names + +**1.3.1** - Workflow refinement and standardization + +- Added workflow status checking at start (Steps 0 and 0.5) +- Added workflow status updating at end (Step 12) +- Reorganized step numbering for clarity (removed fractional steps) +- Enhanced with intent-based approach throughout +- Improved cohesiveness across all workflow components + +**1.3.0** - Novel pattern design for unique architectures + +- Added novel pattern design (now Step 7, formerly Step 5.3) +- Detects novel concepts in PRD that need architectural invention +- Facilitates design collaboration with sequence diagrams +- Uses elicitation for innovative approaches +- Documents custom patterns for multi-epic consistency + +**1.2.0** - Implementation patterns for agent consistency + +- Added implementation patterns (now Step 8, formerly Step 5.5) +- Created principle-based pattern-categories.csv (7 principles, not 118 prescriptions) +- Core principle: "What could agents decide differently?" +- LLM uses principle to identify patterns beyond the categories +- Prevents agent conflicts through intelligent pattern discovery + +**1.1.0** - Enhanced with starter template discovery and version verification + +- Added intelligent starter template detection and integration (now Step 2) +- Added dynamic version verification via web search +- Starter decisions are documented as "PROVIDED BY STARTER" +- First implementation story uses starter initialization command + +**1.0.0** - Initial release replacing architecture workflow + +--- + +**Related Documentation:** + +- [Solutioning Workflows](./workflows-solutioning.md) +- [Planning Workflows](./workflows-planning.md) +- [Scale Adaptive System](./scale-adaptive-system.md) diff --git a/.bmad/bmm/docs/workflow-document-project-reference.md b/.bmad/bmm/docs/workflow-document-project-reference.md new file mode 100644 index 00000000..dfffd092 --- /dev/null +++ b/.bmad/bmm/docs/workflow-document-project-reference.md @@ -0,0 +1,487 @@ +# Document Project Workflow - Technical Reference + +**Module:** BMM (BMAD Method Module) +**Type:** Action Workflow (Documentation Generator) + +--- + +## Purpose + +Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development. Generates a master index and multiple documentation files tailored to project structure and type. + +**NEW in v1.2.0:** Context-safe architecture with scan levels, resumability, and write-as-you-go pattern to prevent context exhaustion. + +--- + +## Key Features + +- **Multi-Project Type Support**: Handles web, backend, mobile, CLI, game, embedded, data, infra, library, desktop, and extension projects +- **Multi-Part Detection**: Automatically detects and documents projects with separate client/server or multiple services +- **Three Scan Levels** (NEW v1.2.0): Quick (2-5 min), Deep (10-30 min), Exhaustive (30-120 min) +- **Resumability** (NEW v1.2.0): Interrupt and resume workflows without losing progress +- **Write-as-you-go** (NEW v1.2.0): Documents written immediately to prevent context exhaustion +- **Intelligent Batching** (NEW v1.2.0): Subfolder-based processing for deep/exhaustive scans +- **Data-Driven Analysis**: Uses CSV-based project type detection and documentation requirements +- **Comprehensive Scanning**: Analyzes APIs, data models, UI components, configuration, security patterns, and more +- **Architecture Matching**: Matches projects to 170+ architecture templates from the solutioning registry +- **Brownfield PRD Ready**: Generates documentation specifically designed for AI agents planning new features + +--- + +## How to Invoke + +```bash +workflow document-project +``` + +Or from BMAD CLI: + +```bash +/bmad:bmm:workflows:document-project +``` + +--- + +## Scan Levels (NEW in v1.2.0) + +Choose the right scan depth for your needs: + +### 1. Quick Scan (Default) + +**Duration:** 2-5 minutes +**What it does:** Pattern-based analysis without reading source files +**Reads:** Config files, package manifests, directory structure, README +**Use when:** + +- You need a fast project overview +- Initial understanding of project structure +- Planning next steps before deeper analysis + +**Does NOT read:** Source code files (_.js, _.ts, _.py, _.go, etc.) + +### 2. Deep Scan + +**Duration:** 10-30 minutes +**What it does:** Reads files in critical directories based on project type +**Reads:** Files in critical paths defined by documentation requirements +**Use when:** + +- Creating comprehensive documentation for brownfield PRD +- Need detailed analysis of key areas +- Want balance between depth and speed + +**Example:** For a web app, reads controllers/, models/, components/, but not every utility file + +### 3. Exhaustive Scan + +**Duration:** 30-120 minutes +**What it does:** Reads ALL source files in project +**Reads:** Every source file (excludes node_modules, dist, build, .git) +**Use when:** + +- Complete project analysis needed +- Migration planning requires full understanding +- Detailed audit of entire codebase +- Deep technical debt assessment + +**Note:** Deep-dive mode ALWAYS uses exhaustive scan (no choice) + +--- + +## Resumability (NEW in v1.2.0) + +The workflow can be interrupted and resumed without losing progress: + +- **State Tracking:** Progress saved in `project-scan-report.json` +- **Auto-Detection:** Workflow detects incomplete runs (<24 hours old) +- **Resume Prompt:** Choose to resume or start fresh +- **Step-by-Step:** Resume from exact step where interrupted +- **Archiving:** Old state files automatically archived + +**Example Resume Flow:** + +``` +> workflow document-project + +I found an in-progress workflow state from 2025-10-11 14:32:15. + +Current Progress: +- Mode: initial_scan +- Scan Level: deep +- Completed Steps: 5/12 +- Last Step: step_5 + +Would you like to: +1. Resume from where we left off - Continue from step 6 +2. Start fresh - Archive old state and begin new scan +3. Cancel - Exit without changes + +Your choice [1/2/3]: +``` + +--- + +## What It Does + +### Step-by-Step Process + +1. **Detects Project Structure** - Identifies if project is single-part or multi-part (client/server/etc.) +2. **Classifies Project Type** - Matches against 12 project types (web, backend, mobile, etc.) +3. **Discovers Documentation** - Finds existing README, CONTRIBUTING, ARCHITECTURE files +4. **Analyzes Tech Stack** - Parses package files, identifies frameworks, versions, dependencies +5. **Conditional Scanning** - Performs targeted analysis based on project type requirements: + - API routes and endpoints + - Database models and schemas + - State management patterns + - UI component libraries + - Configuration and security + - CI/CD and deployment configs +6. **Generates Source Tree** - Creates annotated directory structure with critical paths +7. **Extracts Dev Instructions** - Documents setup, build, run, and test commands +8. **Creates Architecture Docs** - Generates detailed architecture using matched templates +9. **Builds Master Index** - Creates comprehensive index.md as primary AI retrieval source +10. **Validates Output** - Runs 140+ point checklist to ensure completeness + +### Output Files + +**Single-Part Projects:** + +- `index.md` - Master index +- `project-overview.md` - Executive summary +- `architecture.md` - Detailed architecture +- `source-tree-analysis.md` - Annotated directory tree +- `component-inventory.md` - Component catalog (if applicable) +- `development-guide.md` - Local dev instructions +- `api-contracts.md` - API documentation (if applicable) +- `data-models.md` - Database schema (if applicable) +- `deployment-guide.md` - Deployment process (optional) +- `contribution-guide.md` - Contributing guidelines (optional) +- `project-scan-report.json` - State file for resumability (NEW v1.2.0) + +**Multi-Part Projects (e.g., client + server):** + +- `index.md` - Master index with part navigation +- `project-overview.md` - Multi-part summary +- `architecture-{part_id}.md` - Per-part architecture docs +- `source-tree-analysis.md` - Full tree with part annotations +- `component-inventory-{part_id}.md` - Per-part components +- `development-guide-{part_id}.md` - Per-part dev guides +- `integration-architecture.md` - How parts communicate +- `project-parts.json` - Machine-readable metadata +- `project-scan-report.json` - State file for resumability (NEW v1.2.0) +- Additional conditional files per part (API, data models, etc.) + +--- + +## Data Files + +The workflow uses a single comprehensive CSV file: + +**documentation-requirements.csv** - Complete project analysis guide + +- Location: `/.bmad/bmm/workflows/document-project/documentation-requirements.csv` +- 12 project types (web, mobile, backend, cli, library, desktop, game, data, extension, infra, embedded) +- 24 columns combining: + - **Detection columns**: `project_type_id`, `key_file_patterns` (identifies project type from codebase) + - **Requirement columns**: `requires_api_scan`, `requires_data_models`, `requires_ui_components`, etc. + - **Pattern columns**: `critical_directories`, `test_file_patterns`, `config_patterns`, etc. +- Self-contained: All project detection AND scanning requirements in one file +- Architecture patterns inferred from tech stack (no external registry needed) + +--- + +## Use Cases + +### Primary Use Case: Brownfield PRD Creation + +After running this workflow, use the generated `index.md` as input to brownfield PRD workflows: + +``` +User: "I want to add a new dashboard feature" +PRD Workflow: Loads docs/index.md +โ†’ Understands existing architecture +โ†’ Identifies reusable components +โ†’ Plans integration with existing APIs +โ†’ Creates contextual PRD with epics and stories +``` + +### Other Use Cases + +- **Onboarding New Developers** - Comprehensive project documentation +- **Architecture Review** - Structured analysis of existing system +- **Technical Debt Assessment** - Identify patterns and anti-patterns +- **Migration Planning** - Understand current state before refactoring + +--- + +## Requirements + +### Recommended Inputs (Optional) + +- Project root directory (defaults to current directory) +- README.md or similar docs (auto-discovered if present) +- User guidance on key areas to focus (workflow will ask) + +### Tools Used + +- File system scanning (Glob, Read, Grep) +- Code analysis +- Git repository analysis (optional) + +--- + +## Configuration + +### Default Output Location + +Files are saved to: `{output_folder}` (from config.yaml) + +Default: `/docs/` folder in project root + +### Customization + +- Modify `documentation-requirements.csv` to adjust scanning patterns for project types +- Add new project types to `project-types.csv` +- Add new architecture templates to `registry.csv` + +--- + +## Example: Multi-Part Web App + +**Input:** + +``` +my-app/ +โ”œโ”€โ”€ client/ # React frontend +โ”œโ”€โ”€ server/ # Express backend +โ””โ”€โ”€ README.md +``` + +**Detection Result:** + +- Repository Type: Monorepo +- Part 1: client (web/React) +- Part 2: server (backend/Express) + +**Output (10+ files):** + +``` +docs/ +โ”œโ”€โ”€ index.md +โ”œโ”€โ”€ project-overview.md +โ”œโ”€โ”€ architecture-client.md +โ”œโ”€โ”€ architecture-server.md +โ”œโ”€โ”€ source-tree-analysis.md +โ”œโ”€โ”€ component-inventory-client.md +โ”œโ”€โ”€ development-guide-client.md +โ”œโ”€โ”€ development-guide-server.md +โ”œโ”€โ”€ api-contracts-server.md +โ”œโ”€โ”€ data-models-server.md +โ”œโ”€โ”€ integration-architecture.md +โ””โ”€โ”€ project-parts.json +``` + +--- + +## Example: Simple CLI Tool + +**Input:** + +``` +hello-cli/ +โ”œโ”€โ”€ main.go +โ”œโ”€โ”€ go.mod +โ””โ”€โ”€ README.md +``` + +**Detection Result:** + +- Repository Type: Monolith +- Part 1: main (cli/Go) + +**Output (4 files):** + +``` +docs/ +โ”œโ”€โ”€ index.md +โ”œโ”€โ”€ project-overview.md +โ”œโ”€โ”€ architecture.md +โ””โ”€โ”€ source-tree-analysis.md +``` + +--- + +## Deep-Dive Mode + +### What is Deep-Dive Mode? + +When you run the workflow on a project that already has documentation, you'll be offered a choice: + +1. **Rescan entire project** - Update all documentation with latest changes +2. **Deep-dive into specific area** - Generate EXHAUSTIVE documentation for a particular feature/module/folder +3. **Cancel** - Keep existing documentation + +Deep-dive mode performs **comprehensive, file-by-file analysis** of a specific area, reading EVERY file completely and documenting: + +- All exports with complete signatures +- All imports and dependencies +- Dependency graphs and data flow +- Code patterns and implementations +- Testing coverage and strategies +- Integration points +- Reuse opportunities + +### When to Use Deep-Dive Mode + +- **Before implementing a feature** - Deep-dive the area you'll be modifying +- **During architecture review** - Deep-dive complex modules +- **For code understanding** - Deep-dive unfamiliar parts of codebase +- **When creating PRDs** - Deep-dive areas affected by new features + +### Deep-Dive Process + +1. Workflow detects existing `index.md` +2. Offers deep-dive option +3. Suggests areas based on project structure: + - API route groups + - Feature modules + - UI component areas + - Services/business logic +4. You select area or specify custom path +5. Workflow reads EVERY file in that area +6. Generates `deep-dive-{area-name}.md` with complete analysis +7. Updates `index.md` with link to deep-dive doc +8. Offers to deep-dive another area or finish + +### Deep-Dive Output Example + +**docs/deep-dive-dashboard-feature.md:** + +- Complete file inventory (47 files analyzed) +- Every export with signatures +- Dependency graph +- Data flow analysis +- Integration points +- Testing coverage +- Related code references +- Implementation guidance +- ~3,000 LOC documented in detail + +### Incremental Deep-Diving + +You can deep-dive multiple areas over time: + +- First run: Scan entire project โ†’ generates index.md +- Second run: Deep-dive dashboard feature +- Third run: Deep-dive API layer +- Fourth run: Deep-dive authentication system + +All deep-dive docs are linked from the master index. + +--- + +## Validation + +The workflow includes a comprehensive 160+ point checklist covering: + +- Project detection accuracy +- Technology stack completeness +- Codebase scanning thoroughness +- Architecture documentation quality +- Multi-part handling (if applicable) +- Brownfield PRD readiness +- Deep-dive completeness (if applicable) + +--- + +## Next Steps After Completion + +1. **Review** `docs/index.md` - Your master documentation index +2. **Validate** - Check generated docs for accuracy +3. **Use for PRD** - Point brownfield PRD workflow to index.md +4. **Maintain** - Re-run workflow when architecture changes significantly + +--- + +## File Structure + +``` +document-project/ +โ”œโ”€โ”€ workflow.yaml # Workflow configuration +โ”œโ”€โ”€ instructions.md # Step-by-step workflow logic +โ”œโ”€โ”€ checklist.md # Validation criteria +โ”œโ”€โ”€ documentation-requirements.csv # Project type scanning patterns +โ”œโ”€โ”€ templates/ # Output templates +โ”‚ โ”œโ”€โ”€ index-template.md +โ”‚ โ”œโ”€โ”€ project-overview-template.md +โ”‚ โ””โ”€โ”€ source-tree-template.md +โ””โ”€โ”€ README.md # This file +``` + +--- + +## Troubleshooting + +**Issue: Project type not detected correctly** + +- Solution: Workflow will ask for confirmation; manually select correct type + +**Issue: Missing critical information** + +- Solution: Provide additional context when prompted; re-run specific analysis steps + +**Issue: Multi-part detection missed a part** + +- Solution: When asked to confirm parts, specify the missing part and its path + +**Issue: Architecture template doesn't match well** + +- Solution: Check registry.csv; may need to add new template or adjust matching criteria + +--- + +## Architecture Improvements in v1.2.0 + +### Context-Safe Design + +The workflow now uses a write-as-you-go architecture: + +- Documents written immediately to disk (not accumulated in memory) +- Detailed findings purged after writing (only summaries kept) +- State tracking enables resumption from any step +- Batching strategy prevents context exhaustion on large projects + +### Batching Strategy + +For deep/exhaustive scans: + +- Process ONE subfolder at a time +- Read files โ†’ Extract info โ†’ Write output โ†’ Validate โ†’ Purge context +- Primary concern is file SIZE (not count) +- Track batches in state file for resumability + +### State File Format + +Optimized JSON (no pretty-printing): + +```json +{ + "workflow_version": "1.2.0", + "timestamps": {...}, + "mode": "initial_scan", + "scan_level": "deep", + "completed_steps": [...], + "current_step": "step_6", + "findings": {"summary": "only"}, + "outputs_generated": [...], + "resume_instructions": "..." +} +``` + +--- + +**Related Documentation:** + +- [Brownfield Development Guide](./brownfield-guide.md) +- [Implementation Workflows](./workflows-implementation.md) +- [Scale Adaptive System](./scale-adaptive-system.md) diff --git a/.bmad/bmm/docs/workflows-analysis.md b/.bmad/bmm/docs/workflows-analysis.md new file mode 100644 index 00000000..cf475ce5 --- /dev/null +++ b/.bmad/bmm/docs/workflows-analysis.md @@ -0,0 +1,370 @@ +# BMM Analysis Workflows (Phase 1) + +**Reading Time:** ~7 minutes + +## Overview + +Phase 1 (Analysis) workflows are **optional** exploration and discovery tools that help validate ideas, understand markets, and generate strategic context before planning begins. + +**Key principle:** Analysis workflows help you think strategically before committing to implementation. Skip them if your requirements are already clear. + +**When to use:** Starting new projects, exploring opportunities, validating market fit, generating ideas, understanding problem spaces. + +**When to skip:** Continuing existing projects with clear requirements, well-defined features with known solutions, strict constraints where discovery is complete. + +--- + +## Phase 1 Analysis Workflow Map + +```mermaid +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','fontSize':'16px','fontFamily':'arial'}}}%% +graph TB + subgraph Discovery["DISCOVERY & IDEATION (Optional)"] + direction LR + BrainstormProject["Analyst: brainstorm-project
Multi-track solution exploration"] + BrainstormGame["Analyst: brainstorm-game
Game concept generation"] + end + + subgraph Research["RESEARCH & VALIDATION (Optional)"] + direction TB + ResearchWF["Analyst: research
โ€ข market (TAM/SAM/SOM)
โ€ข technical (framework evaluation)
โ€ข competitive (landscape)
โ€ข user (personas, JTBD)
โ€ข domain (industry analysis)
โ€ข deep_prompt (AI research)"] + end + + subgraph Strategy["STRATEGIC CAPTURE (Recommended for Greenfield)"] + direction LR + ProductBrief["Analyst: product-brief
Product vision + strategy
(Interactive or YOLO mode)"] + GameBrief["Game Designer: game-brief
Game vision capture
(Interactive or YOLO mode)"] + end + + Discovery -.->|Software| ProductBrief + Discovery -.->|Games| GameBrief + Discovery -.->|Validate ideas| Research + Research -.->|Inform brief| ProductBrief + Research -.->|Inform brief| GameBrief + ProductBrief --> Phase2["Phase 2: prd workflow"] + GameBrief --> Phase2Game["Phase 2: gdd workflow"] + Research -.->|Can feed directly| Phase2 + + style Discovery fill:#e1f5fe,stroke:#01579b,stroke-width:3px,color:#000 + style Research fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#000 + style Strategy fill:#f3e5f5,stroke:#4a148c,stroke-width:3px,color:#000 + style Phase2 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#000 + style Phase2Game fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px,color:#000 + + style BrainstormProject fill:#81d4fa,stroke:#0277bd,stroke-width:2px,color:#000 + style BrainstormGame fill:#81d4fa,stroke:#0277bd,stroke-width:2px,color:#000 + style ResearchWF fill:#fff59d,stroke:#f57f17,stroke-width:2px,color:#000 + style ProductBrief fill:#ce93d8,stroke:#6a1b9a,stroke-width:2px,color:#000 + style GameBrief fill:#ce93d8,stroke:#6a1b9a,stroke-width:2px,color:#000 +``` + +--- + +## Quick Reference + +| Workflow | Agent | Required | Purpose | Output | +| ---------------------- | ------------- | ----------- | -------------------------------------------------------------- | ---------------------------- | +| **brainstorm-project** | Analyst | No | Explore solution approaches and architectures | Solution options + rationale | +| **brainstorm-game** | Analyst | No | Generate game concepts using creative techniques | Game concepts + evaluation | +| **research** | Analyst | No | Multi-type research (market/technical/competitive/user/domain) | Research reports | +| **product-brief** | Analyst | Recommended | Define product vision and strategy (interactive) | Product Brief document | +| **game-brief** | Game Designer | Recommended | Capture game vision before GDD (interactive) | Game Brief document | + +--- + +## Workflow Descriptions + +### brainstorm-project + +**Purpose:** Generate multiple solution approaches through parallel ideation tracks (architecture, UX, integration, value). + +**Agent:** Analyst + +**When to Use:** + +- Unclear technical approach with business objectives +- Multiple solution paths need evaluation +- Hidden assumptions need discovery +- Innovation beyond obvious solutions + +**Key Outputs:** + +- Architecture proposals with trade-off analysis +- Value framework (prioritized features) +- Risk analysis (dependencies, challenges) +- Strategic recommendation with rationale + +**Example:** "We need a customer dashboard" โ†’ Options: Monolith SSR (faster), Microservices SPA (scalable), Hybrid (balanced) with recommendation. + +--- + +### brainstorm-game + +**Purpose:** Generate game concepts through systematic creative exploration using five brainstorming techniques. + +**Agent:** Analyst + +**When to Use:** + +- Generating original game concepts +- Exploring variations on themes +- Breaking creative blocks +- Validating game ideas against constraints + +**Techniques Used:** + +- SCAMPER (systematic modification) +- Mind Mapping (hierarchical exploration) +- Lotus Blossom (radial expansion) +- Six Thinking Hats (multi-perspective) +- Random Word Association (lateral thinking) + +**Key Outputs:** + +- Method-specific artifacts (5 separate documents) +- Consolidated concept document with feasibility +- Design pillar alignment matrix + +**Example:** "Roguelike with psychological themes" โ†’ Emotions as characters, inner demons as enemies, therapy sessions as rest points, deck composition affects narrative. + +--- + +### research + +**Purpose:** Comprehensive multi-type research system consolidating market, technical, competitive, user, and domain analysis. + +**Agent:** Analyst + +**Research Types:** + +| Type | Purpose | Use When | +| --------------- | ------------------------------------------------------ | ----------------------------------- | +| **market** | TAM/SAM/SOM, competitive analysis | Need market viability validation | +| **technical** | Technology evaluation, ADRs | Choosing frameworks/platforms | +| **competitive** | Deep competitor analysis | Understanding competitive landscape | +| **user** | Customer insights, personas, JTBD | Need user understanding | +| **domain** | Industry deep dives, trends | Understanding domain/industry | +| **deep_prompt** | Generate AI research prompts (ChatGPT, Claude, Gemini) | Need deeper AI-assisted research | + +**Key Features:** + +- Real-time web research +- Multiple analytical frameworks (Porter's Five Forces, SWOT, Technology Adoption Lifecycle) +- Platform-specific optimization for deep_prompt type +- Configurable research depth (quick/standard/comprehensive) + +**Example (market):** "SaaS project management tool" โ†’ TAM $50B, SAM $5B, SOM $50M, top competitors (Asana, Monday), positioning recommendation. + +--- + +### product-brief + +**Purpose:** Interactive product brief creation that guides strategic product vision definition. + +**Agent:** Analyst + +**When to Use:** + +- Starting new product/major feature initiative +- Aligning stakeholders before detailed planning +- Transitioning from exploration to strategy +- Need executive-level product documentation + +**Modes:** + +- **Interactive Mode** (Recommended): Step-by-step collaborative development with probing questions +- **YOLO Mode**: AI generates complete draft from context, then iterative refinement + +**Key Outputs:** + +- Executive summary +- Problem statement with evidence +- Proposed solution and differentiators +- Target users (segmented) +- MVP scope (ruthlessly defined) +- Financial impact and ROI +- Strategic alignment +- Risks and open questions + +**Integration:** Feeds directly into PRD workflow (Phase 2). + +--- + +### game-brief + +**Purpose:** Lightweight interactive brainstorming session capturing game vision before Game Design Document. + +**Agent:** Game Designer + +**When to Use:** + +- Starting new game project +- Exploring game ideas before committing +- Pitching concepts to team/stakeholders +- Validating market fit and feasibility + +**Game Brief vs GDD:** + +| Aspect | Game Brief | GDD | +| ------------ | ------------------ | ------------------------- | +| Purpose | Validate concept | Design for implementation | +| Detail Level | High-level vision | Detailed specs | +| Format | Conversational | Structured | +| Output | Concise vision doc | Comprehensive design | + +**Key Outputs:** + +- Game vision (concept, pitch) +- Target market and positioning +- Core gameplay pillars +- Scope and constraints +- Reference framework +- Risk assessment +- Success criteria + +**Integration:** Feeds into GDD workflow (Phase 2). + +--- + +## Decision Guide + +### Starting a Software Project + +``` +brainstorm-project (if unclear) โ†’ research (market/technical) โ†’ product-brief โ†’ Phase 2 (prd) +``` + +### Starting a Game Project + +``` +brainstorm-game (if generating concepts) โ†’ research (market/competitive) โ†’ game-brief โ†’ Phase 2 (gdd) +``` + +### Validating an Idea + +``` +research (market type) โ†’ product-brief or game-brief โ†’ Phase 2 +``` + +### Technical Decision Only + +``` +research (technical type) โ†’ Use findings in Phase 3 (architecture) +``` + +### Understanding Market + +``` +research (market/competitive type) โ†’ product-brief โ†’ Phase 2 +``` + +--- + +## Integration with Phase 2 (Planning) + +Analysis outputs feed directly into Planning: + +| Analysis Output | Planning Input | +| --------------------------- | -------------------------- | +| product-brief.md | **prd** workflow | +| game-brief.md | **gdd** workflow | +| market-research.md | **prd** context | +| technical-research.md | **architecture** (Phase 3) | +| competitive-intelligence.md | **prd** positioning | + +Planning workflows automatically load these documents if they exist in the output folder. + +--- + +## Best Practices + +### 1. Don't Over-Invest in Analysis + +Analysis is optional. If requirements are clear, skip to Phase 2 (Planning). + +### 2. Iterate Between Workflows + +Common pattern: brainstorm โ†’ research (validate) โ†’ brief (synthesize) + +### 3. Document Assumptions + +Analysis surfaces and validates assumptions. Document them explicitly for planning to challenge. + +### 4. Keep It Strategic + +Focus on "what" and "why", not "how". Leave implementation for Planning and Solutioning. + +### 5. Involve Stakeholders + +Use analysis workflows to align stakeholders before committing to detailed planning. + +--- + +## Common Patterns + +### Greenfield Software (Full Analysis) + +``` +1. brainstorm-project - explore approaches +2. research (market) - validate viability +3. product-brief - capture strategic vision +4. โ†’ Phase 2: prd +``` + +### Greenfield Game (Full Analysis) + +``` +1. brainstorm-game - generate concepts +2. research (competitive) - understand landscape +3. game-brief - capture vision +4. โ†’ Phase 2: gdd +``` + +### Skip Analysis (Clear Requirements) + +``` +โ†’ Phase 2: prd or tech-spec directly +``` + +### Technical Research Only + +``` +1. research (technical) - evaluate technologies +2. โ†’ Phase 3: architecture (use findings in ADRs) +``` + +--- + +## Related Documentation + +- [Phase 2: Planning Workflows](./workflows-planning.md) - Next phase +- [Phase 3: Solutioning Workflows](./workflows-solutioning.md) +- [Phase 4: Implementation Workflows](./workflows-implementation.md) +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding project complexity +- [Agents Guide](./agents-guide.md) - Complete agent reference + +--- + +## Troubleshooting + +**Q: Do I need to run all analysis workflows?** +A: No! Analysis is entirely optional. Use only workflows that help you think through your problem. + +**Q: Which workflow should I start with?** +A: If unsure, start with `research` (market type) to validate viability, then move to `product-brief` or `game-brief`. + +**Q: Can I skip straight to Planning?** +A: Yes! If you know what you're building and why, skip Phase 1 entirely and start with Phase 2 (prd/gdd/tech-spec). + +**Q: How long should Analysis take?** +A: Typically hours to 1-2 days. If taking longer, you may be over-analyzing. Move to Planning. + +**Q: What if I discover problems during Analysis?** +A: That's the point! Analysis helps you fail fast and pivot before heavy planning investment. + +**Q: Should brownfield projects do Analysis?** +A: Usually no. Start with `document-project` (Phase 0), then skip to Planning (Phase 2). + +--- + +_Phase 1 Analysis - Optional strategic thinking before commitment._ diff --git a/.bmad/bmm/docs/workflows-implementation.md b/.bmad/bmm/docs/workflows-implementation.md new file mode 100644 index 00000000..f4df3cd1 --- /dev/null +++ b/.bmad/bmm/docs/workflows-implementation.md @@ -0,0 +1,284 @@ +# BMM Implementation Workflows (Phase 4) + +**Reading Time:** ~8 minutes + +## Overview + +Phase 4 (Implementation) workflows manage the iterative sprint-based development cycle using a **story-centric workflow** where each story moves through a defined lifecycle from creation to completion. + +**Key principle:** One story at a time, move it through the entire lifecycle before starting the next. + +--- + +## Phase 4 Workflow Lifecycle + +```mermaid +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','fontSize':'16px','fontFamily':'arial'}}}%% +graph TB + subgraph Setup["SPRINT SETUP - Run Once"] + direction TB + SprintPlanning["SM: sprint-planning
Initialize sprint status file"] + end + + subgraph EpicCycle["EPIC CYCLE - Repeat Per Epic"] + direction TB + EpicContext["SM: epic-tech-context
Generate epic technical guidance"] + ValidateEpic["SM: validate-epic-tech-context
(Optional validation)"] + + EpicContext -.->|Optional| ValidateEpic + ValidateEpic -.-> StoryLoopStart + EpicContext --> StoryLoopStart[Start Story Loop] + end + + subgraph StoryLoop["STORY LIFECYCLE - Repeat Per Story"] + direction TB + + CreateStory["SM: create-story
Create next story from queue"] + ValidateStory["SM: validate-create-story
(Optional validation)"] + StoryContext["SM: story-context
Assemble dynamic context"] + StoryReady["SM: story-ready-for-dev
Mark ready without context"] + ValidateContext["SM: validate-story-context
(Optional validation)"] + DevStory["DEV: develop-story
Implement with tests"] + CodeReview["DEV: code-review
Senior dev review"] + StoryDone["DEV: story-done
Mark complete, advance queue"] + + CreateStory -.->|Optional| ValidateStory + ValidateStory -.-> StoryContext + CreateStory --> StoryContext + CreateStory -.->|Alternative| StoryReady + StoryContext -.->|Optional| ValidateContext + ValidateContext -.-> DevStory + StoryContext --> DevStory + StoryReady -.-> DevStory + DevStory --> CodeReview + CodeReview -.->|Needs fixes| DevStory + CodeReview --> StoryDone + StoryDone -.->|Next story| CreateStory + end + + subgraph EpicClose["EPIC COMPLETION"] + direction TB + Retrospective["SM: epic-retrospective
Post-epic lessons learned"] + end + + subgraph Support["SUPPORTING WORKFLOWS"] + direction TB + CorrectCourse["SM: correct-course
Handle mid-sprint changes"] + WorkflowStatus["Any Agent: workflow-status
Check what's next"] + end + + Setup --> EpicCycle + EpicCycle --> StoryLoop + StoryLoop --> EpicClose + EpicClose -.->|Next epic| EpicCycle + StoryLoop -.->|If issues arise| CorrectCourse + StoryLoop -.->|Anytime| WorkflowStatus + EpicCycle -.->|Anytime| WorkflowStatus + + style Setup fill:#e3f2fd,stroke:#1565c0,stroke-width:3px,color:#000 + style EpicCycle fill:#c5e1a5,stroke:#33691e,stroke-width:3px,color:#000 + style StoryLoop fill:#f3e5f5,stroke:#6a1b9a,stroke-width:3px,color:#000 + style EpicClose fill:#ffcc80,stroke:#e65100,stroke-width:3px,color:#000 + style Support fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#000 + + style SprintPlanning fill:#90caf9,stroke:#0d47a1,stroke-width:2px,color:#000 + style EpicContext fill:#aed581,stroke:#1b5e20,stroke-width:2px,color:#000 + style ValidateEpic fill:#c5e1a5,stroke:#33691e,stroke-width:1px,color:#000 + style CreateStory fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style ValidateStory fill:#e1bee7,stroke:#6a1b9a,stroke-width:1px,color:#000 + style StoryContext fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style StoryReady fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style ValidateContext fill:#e1bee7,stroke:#6a1b9a,stroke-width:1px,color:#000 + style DevStory fill:#a5d6a7,stroke:#1b5e20,stroke-width:2px,color:#000 + style CodeReview fill:#a5d6a7,stroke:#1b5e20,stroke-width:2px,color:#000 + style StoryDone fill:#a5d6a7,stroke:#1b5e20,stroke-width:2px,color:#000 + style Retrospective fill:#ffb74d,stroke:#e65100,stroke-width:2px,color:#000 +``` + +--- + +## Quick Reference + +| Workflow | Agent | When | Purpose | +| ------------------------------ | ----- | -------------------------------- | ------------------------------------------- | +| **sprint-planning** | SM | Once at Phase 4 start | Initialize sprint tracking file | +| **epic-tech-context** | SM | Per epic | Generate epic-specific technical guidance | +| **validate-epic-tech-context** | SM | Optional after epic-tech-context | Validate tech spec against checklist | +| **create-story** | SM | Per story | Create next story from epic backlog | +| **validate-create-story** | SM | Optional after create-story | Independent validation of story draft | +| **story-context** | SM | Optional per story | Assemble dynamic story context XML | +| **validate-story-context** | SM | Optional after story-context | Validate story context against checklist | +| **story-ready-for-dev** | SM | Optional per story | Mark story ready without generating context | +| **develop-story** | DEV | Per story | Implement story with tests | +| **code-review** | DEV | Per story | Senior dev quality review | +| **story-done** | DEV | Per story | Mark complete and advance queue | +| **epic-retrospective** | SM | After epic complete | Review lessons and extract insights | +| **correct-course** | SM | When issues arise | Handle significant mid-sprint changes | +| **workflow-status** | Any | Anytime | Check "what should I do now?" | + +--- + +## Agent Roles + +### SM (Scrum Master) - Primary Implementation Orchestrator + +**Workflows:** sprint-planning, epic-tech-context, validate-epic-tech-context, create-story, validate-create-story, story-context, validate-story-context, story-ready-for-dev, epic-retrospective, correct-course + +**Responsibilities:** + +- Initialize and maintain sprint tracking +- Generate technical context (epic and story level) +- Orchestrate story lifecycle with optional validations +- Mark stories ready for development +- Handle course corrections +- Facilitate retrospectives + +### DEV (Developer) - Implementation and Quality + +**Workflows:** develop-story, code-review, story-done + +**Responsibilities:** + +- Implement stories with tests +- Perform senior developer code reviews +- Mark stories complete and advance queue +- Ensure quality and adherence to standards + +--- + +## Story Lifecycle States + +Stories move through these states in the sprint status file: + +1. **TODO** - Story identified but not started +2. **IN PROGRESS** - Story being implemented (create-story โ†’ story-context โ†’ dev-story) +3. **READY FOR REVIEW** - Implementation complete, awaiting code review +4. **DONE** - Accepted and complete + +--- + +## Typical Sprint Flow + +### Sprint 0 (Planning Phase) + +- Complete Phases 1-3 (Analysis, Planning, Solutioning) +- PRD/GDD + Architecture + Epics ready + +### Sprint 1+ (Implementation Phase) + +**Start of Phase 4:** + +1. SM runs `sprint-planning` (once) + +**Per Epic:** + +1. SM runs `epic-tech-context` +2. SM optionally runs `validate-epic-tech-context` + +**Per Story (repeat until epic complete):** + +1. SM runs `create-story` +2. SM optionally runs `validate-create-story` +3. SM runs `story-context` OR `story-ready-for-dev` (choose one) +4. SM optionally runs `validate-story-context` (if story-context was used) +5. DEV runs `develop-story` +6. DEV runs `code-review` +7. If code review passes: DEV runs `story-done` +8. If code review finds issues: DEV fixes in `develop-story`, then back to code-review + +**After Epic Complete:** + +- SM runs `epic-retrospective` +- Move to next epic (start with `epic-tech-context` again) + +**As Needed:** + +- Run `workflow-status` anytime to check progress +- Run `correct-course` if significant changes needed + +--- + +## Key Principles + +### One Story at a Time + +Complete each story's full lifecycle before starting the next. This prevents context switching and ensures quality. + +### Epic-Level Technical Context + +Generate detailed technical guidance per epic (not per story) using `epic-tech-context`. This provides just-in-time architecture without upfront over-planning. + +### Story Context (Optional) + +Use `story-context` to assemble focused context XML for each story, pulling from PRD, architecture, epic context, and codebase docs. Alternatively, use `story-ready-for-dev` to mark a story ready without generating context XML. + +### Quality Gates + +Every story goes through `code-review` before being marked done. No exceptions. + +### Continuous Tracking + +The `sprint-status.yaml` file is the single source of truth for all implementation progress. + +--- + +## Common Patterns + +### Level 0-1 (Quick Flow) + +``` +tech-spec (PM) + โ†’ sprint-planning (SM) + โ†’ story loop (SM/DEV) +``` + +### Level 2-4 (BMad Method / Enterprise) + +``` +PRD + Architecture (PM/Architect) + โ†’ solutioning-gate-check (Architect) + โ†’ sprint-planning (SM, once) + โ†’ [Per Epic]: + epic-tech-context (SM) + โ†’ story loop (SM/DEV) + โ†’ epic-retrospective (SM) + โ†’ [Next Epic] +``` + +--- + +## Related Documentation + +- [Phase 2: Planning Workflows](./workflows-planning.md) +- [Phase 3: Solutioning Workflows](./workflows-solutioning.md) +- [Quick Spec Flow](./quick-spec-flow.md) - Level 0-1 fast track +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding project levels + +--- + +## Troubleshooting + +**Q: Which workflow should I run next?** +A: Run `workflow-status` - it reads the sprint status file and tells you exactly what to do. + +**Q: Story needs significant changes mid-implementation?** +A: Run `correct-course` to analyze impact and route appropriately. + +**Q: Do I run epic-tech-context for every story?** +A: No! Run once per epic, not per story. Use `story-context` or `story-ready-for-dev` per story instead. + +**Q: Do I have to use story-context for every story?** +A: No, it's optional. You can use `story-ready-for-dev` to mark a story ready without generating context XML. + +**Q: Can I work on multiple stories in parallel?** +A: Not recommended. Complete one story's full lifecycle before starting the next. Prevents context switching and ensures quality. + +**Q: What if code review finds issues?** +A: DEV runs `develop-story` to make fixes, re-runs tests, then runs `code-review` again until it passes. + +**Q: When do I run validations?** +A: Validations are optional quality gates. Use them when you want independent review of epic tech specs, story drafts, or story context before proceeding. + +--- + +_Phase 4 Implementation - One story at a time, done right._ diff --git a/.bmad/bmm/docs/workflows-planning.md b/.bmad/bmm/docs/workflows-planning.md new file mode 100644 index 00000000..19b32876 --- /dev/null +++ b/.bmad/bmm/docs/workflows-planning.md @@ -0,0 +1,601 @@ +# BMM Planning Workflows (Phase 2) + +**Reading Time:** ~10 minutes + +## Overview + +Phase 2 (Planning) workflows are **required** for all projects. They transform strategic vision into actionable requirements using a **scale-adaptive system** that automatically selects the right planning depth based on project complexity. + +**Key principle:** One unified entry point (`workflow-init`) intelligently routes to the appropriate planning methodology - from quick tech-specs to comprehensive PRDs. + +**When to use:** All projects require planning. The system adapts depth automatically based on complexity. + +--- + +## Phase 2 Planning Workflow Map + +```mermaid +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','fontSize':'16px','fontFamily':'arial'}}}%% +graph TB + Start["START: workflow-init
Discovery + routing"] + + subgraph QuickFlow["QUICK FLOW (Simple Planning)"] + direction TB + TechSpec["PM: tech-spec
Technical document
โ†’ Story or Epic+Stories
1-15 stories typically"] + end + + subgraph BMadMethod["BMAD METHOD (Recommended)"] + direction TB + PRD["PM: prd
Strategic PRD"] + GDD["Game Designer: gdd
Game design doc"] + Narrative["Game Designer: narrative
Story-driven design"] + + Epics["PM: create-epics-and-stories
Epic+Stories breakdown
10-50+ stories typically"] + + UXDesign["UX Designer: ux
Optional UX specification"] + end + + subgraph Enterprise["ENTERPRISE METHOD"] + direction TB + EntNote["Uses BMad Method Planning
+
Extended Phase 3 workflows
(Architecture + Security + DevOps)
30+ stories typically"] + end + + subgraph Updates["MID-STREAM UPDATES (Anytime)"] + direction LR + CorrectCourse["PM/SM: correct-course
Update requirements/stories"] + end + + Start -->|Bug fix, simple| QuickFlow + Start -->|Software product| PRD + Start -->|Game project| GDD + Start -->|Story-driven| Narrative + Start -->|Enterprise needs| Enterprise + + PRD --> Epics + GDD --> Epics + Narrative --> Epics + Epics -.->|Optional| UXDesign + UXDesign -.->|May update| Epics + + QuickFlow --> Phase4["Phase 4: Implementation"] + Epics --> Phase3["Phase 3: Architecture"] + Enterprise -.->|Uses BMad planning| Epics + Enterprise --> Phase3Ext["Phase 3: Extended
(Arch + Sec + DevOps)"] + Phase3 --> Phase4 + Phase3Ext --> Phase4 + + Phase4 -.->|Significant changes| CorrectCourse + CorrectCourse -.->|Updates| Epics + + style Start fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#000 + style QuickFlow fill:#c5e1a5,stroke:#33691e,stroke-width:3px,color:#000 + style BMadMethod fill:#e1bee7,stroke:#6a1b9a,stroke-width:3px,color:#000 + style Enterprise fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#000 + style Updates fill:#ffecb3,stroke:#ff6f00,stroke-width:3px,color:#000 + style Phase3 fill:#90caf9,stroke:#0d47a1,stroke-width:2px,color:#000 + style Phase4 fill:#ffcc80,stroke:#e65100,stroke-width:2px,color:#000 + + style TechSpec fill:#aed581,stroke:#1b5e20,stroke-width:2px,color:#000 + style PRD fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style GDD fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style Narrative fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style UXDesign fill:#ce93d8,stroke:#4a148c,stroke-width:2px,color:#000 + style Epics fill:#ba68c8,stroke:#6a1b9a,stroke-width:3px,color:#000 + style EntNote fill:#ef9a9a,stroke:#c62828,stroke-width:2px,color:#000 + style Phase3Ext fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000 + style CorrectCourse fill:#ffb74d,stroke:#ff6f00,stroke-width:2px,color:#000 +``` + +--- + +## Quick Reference + +| Workflow | Agent | Track | Purpose | Typical Stories | +| ---------------------------- | ------------- | ----------- | ------------------------------------------ | --------------- | +| **workflow-init** | PM/Analyst | All | Entry point: discovery + routing | N/A | +| **tech-spec** | PM | Quick Flow | Technical document โ†’ Story or Epic+Stories | 1-15 | +| **prd** | PM | BMad Method | Strategic PRD | 10-50+ | +| **gdd** | Game Designer | BMad Method | Game Design Document | 10-50+ | +| **narrative** | Game Designer | BMad Method | Story-driven game/experience design | 10-50+ | +| **create-epics-and-stories** | PM | BMad Method | Break PRD/GDD into Epic+Stories | N/A | +| **ux** | UX Designer | BMad Method | Optional UX specification | N/A | +| **correct-course** | PM/SM | All | Mid-stream requirement changes | N/A | + +**Note:** Story counts are guidance based on typical usage, not strict definitions. + +--- + +## Scale-Adaptive Planning System + +BMM uses three distinct planning tracks that adapt to project complexity: + +### Track 1: Quick Flow + +**Best For:** Bug fixes, simple features, clear scope, enhancements + +**Planning:** Tech-spec only โ†’ Implementation + +**Time:** Hours to 1 day + +**Story Count:** Typically 1-15 (guidance) + +**Documents:** tech-spec.md + story files + +**Example:** "Fix authentication bug", "Add OAuth social login" + +--- + +### Track 2: BMad Method (RECOMMENDED) + +**Best For:** Products, platforms, complex features, multiple epics + +**Planning:** PRD + Architecture โ†’ Implementation + +**Time:** 1-3 days + +**Story Count:** Typically 10-50+ (guidance) + +**Documents:** PRD.md (or GDD.md) + architecture.md + epic files + story files + +**Greenfield:** Product Brief (optional) โ†’ PRD โ†’ UX (optional) โ†’ Architecture โ†’ Implementation + +**Brownfield:** document-project โ†’ PRD โ†’ Architecture (recommended) โ†’ Implementation + +**Example:** "Customer dashboard", "E-commerce platform", "Add search to existing app" + +**Why Architecture for Brownfield?** Distills massive codebase context into focused solution design for your specific project. + +--- + +### Track 3: Enterprise Method + +**Best For:** Enterprise requirements, multi-tenant, compliance, security-sensitive + +**Planning (Phase 2):** Uses BMad Method planning (PRD + Epic+Stories) + +**Solutioning (Phase 3):** Extended workflows (Architecture + Security + DevOps + SecOps as optional additions) + +**Time:** 3-7 days total (1-3 days planning + 2-4 days extended solutioning) + +**Story Count:** Typically 30+ (but defined by enterprise needs) + +**Documents Phase 2:** PRD.md + epics + epic files + story files + +**Documents Phase 3:** architecture.md + security-architecture.md (optional) + devops-strategy.md (optional) + secops-strategy.md (optional) + +**Example:** "Multi-tenant SaaS", "HIPAA-compliant portal", "Add SOC2 audit logging" + +--- + +## How Track Selection Works + +`workflow-init` guides you through educational choice: + +1. **Description Analysis** - Analyzes project description for complexity +2. **Educational Presentation** - Shows all three tracks with trade-offs +3. **Recommendation** - Suggests track based on keywords and context +4. **User Choice** - You select the track that fits + +The system guides but never forces. You can override recommendations. + +--- + +## Workflow Descriptions + +### workflow-init (Entry Point) + +**Purpose:** Single unified entry point for all planning. Discovers project needs and intelligently routes to appropriate track. + +**Agent:** PM (orchestrates others as needed) + +**Always Use:** This is your planning starting point. Don't call prd/gdd/tech-spec directly unless skipping discovery. + +**Process:** + +1. Discovery (understand context, assess complexity, identify concerns) +2. Routing Decision (determine track, explain rationale, confirm) +3. Execute Target Workflow (invoke planning workflow, pass context) +4. Handoff (document decisions, recommend next phase) + +--- + +### tech-spec (Quick Flow) + +**Purpose:** Lightweight technical specification for simple changes (Quick Flow track). Produces technical document and story or epic+stories structure. + +**Agent:** PM + +**When to Use:** + +- Bug fixes +- Single API endpoint additions +- Configuration changes +- Small UI component additions +- Isolated validation rules + +**Key Outputs:** + +- **tech-spec.md** - Technical document containing: + - Problem statement and solution + - Source tree changes + - Implementation details + - Testing strategy + - Acceptance criteria +- **Story file(s)** - Single story OR epic+stories structure (1-15 stories typically) + +**Skip To Phase:** 4 (Implementation) - no Phase 3 architecture needed + +**Example:** "Fix null pointer when user has no profile image" โ†’ Single file change, null check, unit test, no DB migration. + +--- + +### prd (Product Requirements Document) + +**Purpose:** Strategic PRD with epic breakdown for software products (BMad Method track). + +**Agent:** PM (with Architect and Analyst support) + +**When to Use:** + +- Medium to large feature sets +- Multi-screen user experiences +- Complex business logic +- Multiple system integrations +- Phased delivery required + +**Scale-Adaptive Structure:** + +- **Light:** Single epic, 5-10 stories, simplified analysis (10-15 pages) +- **Standard:** 2-4 epics, 15-30 stories, comprehensive analysis (20-30 pages) +- **Comprehensive:** 5+ epics, 30-50+ stories, multi-phase, extensive stakeholder analysis (30-50+ pages) + +**Key Outputs:** + +- PRD.md (complete requirements) +- epics.md (epic breakdown) +- Epic files (epic-1-_.md, epic-2-_.md, etc.) + +**Integration:** Feeds into Architecture (Phase 3) + +**Example:** E-commerce checkout โ†’ 3 epics (Guest Checkout, Payment Processing, Order Management), 21 stories, 4-6 week delivery. + +--- + +### gdd (Game Design Document) + +**Purpose:** Complete game design document for game projects (BMad Method track). + +**Agent:** Game Designer + +**When to Use:** + +- Designing any game (any genre) +- Need comprehensive design documentation +- Team needs shared vision +- Publisher/stakeholder communication + +**BMM GDD vs Traditional:** + +- Scale-adaptive detail (not waterfall) +- Agile epic structure +- Direct handoff to implementation +- Integrated with testing workflows + +**Key Outputs:** + +- GDD.md (complete game design) +- Epic breakdown (Core Loop, Content, Progression, Polish) + +**Integration:** Feeds into Architecture (Phase 3) + +**Example:** Roguelike card game โ†’ Core concept (Slay the Spire meets Hades), 3 characters, 120 cards, 50 enemies, Epic breakdown with 26 stories. + +--- + +### narrative (Narrative Design) + +**Purpose:** Story-driven design workflow for games/experiences where narrative is central (BMad Method track). + +**Agent:** Game Designer (Narrative Designer persona) + Creative Problem Solver (CIS) + +**When to Use:** + +- Story is central to experience +- Branching narrative with player choices +- Character-driven games +- Visual novels, adventure games, RPGs + +**Combine with GDD:** + +1. Run `narrative` first (story structure) +2. Then run `gdd` (integrate story with gameplay) + +**Key Outputs:** + +- narrative-design.md (complete narrative spec) +- Story structure (acts, beats, branching) +- Characters (profiles, arcs, relationships) +- Dialogue system design +- Implementation guide + +**Integration:** Combine with GDD, then feeds into Architecture (Phase 3) + +**Example:** Choice-driven RPG โ†’ 3 acts, 12 chapters, 5 choice points, 3 endings, 60K words, 40 narrative scenes. + +--- + +### ux (UX-First Design) + +**Purpose:** UX specification for projects where user experience is the primary differentiator (BMad Method track). + +**Agent:** UX Designer + +**When to Use:** + +- UX is primary competitive advantage +- Complex user workflows needing design thinking +- Innovative interaction patterns +- Design system creation +- Accessibility-critical experiences + +**Collaborative Approach:** + +1. Visual exploration (generate multiple options) +2. Informed decisions (evaluate with user needs) +3. Collaborative design (refine iteratively) +4. Living documentation (evolves with project) + +**Key Outputs:** + +- ux-spec.md (complete UX specification) +- User journeys +- Wireframes and mockups +- Interaction specifications +- Design system (components, patterns, tokens) +- Epic breakdown (UX stories) + +**Integration:** Feeds PRD or updates epics, then Architecture (Phase 3) + +**Example:** Dashboard redesign โ†’ Card-based layout with split-pane toggle, 5 card components, 12 color tokens, responsive grid, 3 epics (Layout, Visualization, Accessibility). + +--- + +### create-epics-and-stories + +**Purpose:** Break PRD/GDD requirements into bite-sized stories organized in epics (BMad Method track). + +**Agent:** PM + +**When to Use:** + +- After PRD/GDD complete (often run automatically) +- Can also run standalone later to re-generate epics/stories +- When planning story breakdown outside main PRD workflow + +**Key Outputs:** + +- epics.md (all epics with story breakdown) +- Epic files (epic-1-\*.md, etc.) + +**Note:** PRD workflow often creates epics automatically. This workflow can be run standalone if needed later. + +--- + +### correct-course + +**Purpose:** Handle significant requirement changes during implementation (all tracks). + +**Agent:** PM, Architect, or SM + +**When to Use:** + +- Priorities change mid-project +- New requirements emerge +- Scope adjustments needed +- Technical blockers require replanning + +**Process:** + +1. Analyze impact of change +2. Propose solutions (continue, pivot, pause) +3. Update affected documents (PRD, epics, stories) +4. Re-route for implementation + +**Integration:** Updates planning artifacts, may trigger architecture review + +--- + +## Decision Guide + +### Which Planning Workflow? + +**Use `workflow-init` (Recommended):** Let the system discover needs and route appropriately. + +**Direct Selection (Advanced):** + +- **Bug fix or single change** โ†’ `tech-spec` (Quick Flow) +- **Software product** โ†’ `prd` (BMad Method) +- **Game (gameplay-first)** โ†’ `gdd` (BMad Method) +- **Game (story-first)** โ†’ `narrative` + `gdd` (BMad Method) +- **UX innovation project** โ†’ `ux` + `prd` (BMad Method) +- **Enterprise with compliance** โ†’ Choose track in `workflow-init` โ†’ Enterprise Method + +--- + +## Integration with Phase 3 (Solutioning) + +Planning outputs feed into Solutioning: + +| Planning Output | Solutioning Input | Track Decision | +| ------------------- | ------------------------------------ | ---------------------------- | +| tech-spec.md | Skip Phase 3 โ†’ Phase 4 directly | Quick Flow (no architecture) | +| PRD.md | **architecture** (Level 3-4) | BMad Method (recommended) | +| GDD.md | **architecture** (game tech) | BMad Method (recommended) | +| narrative-design.md | **architecture** (narrative systems) | BMad Method | +| ux-spec.md | **architecture** (frontend design) | BMad Method | +| Enterprise docs | **architecture** + security/ops | Enterprise Method (required) | + +**Key Decision Points:** + +- **Quick Flow:** Skip Phase 3 entirely โ†’ Phase 4 (Implementation) +- **BMad Method:** Optional Phase 3 (simple), Required Phase 3 (complex) +- **Enterprise:** Required Phase 3 (architecture + extended planning) + +See: [workflows-solutioning.md](./workflows-solutioning.md) + +--- + +## Best Practices + +### 1. Always Start with workflow-init + +Let the entry point guide you. It prevents over-planning simple features or under-planning complex initiatives. + +### 2. Trust the Recommendation + +If `workflow-init` suggests BMad Method, there's likely complexity you haven't considered. Review carefully before overriding. + +### 3. Iterate on Requirements + +Planning documents are living. Refine PRDs/GDDs as you learn during Solutioning and Implementation. + +### 4. Involve Stakeholders Early + +Review PRDs/GDDs with stakeholders before Solutioning. Catch misalignment early. + +### 5. Focus on "What" Not "How" + +Planning defines **what** to build and **why**. Leave **how** (technical design) to Phase 3 (Solutioning). + +### 6. Document-Project First for Brownfield + +Always run `document-project` before planning brownfield projects. AI agents need existing codebase context. + +--- + +## Common Patterns + +### Greenfield Software (BMad Method) + +``` +1. (Optional) Analysis: product-brief, research +2. workflow-init โ†’ routes to prd +3. PM: prd workflow +4. (Optional) UX Designer: ux workflow +5. PM: create-epics-and-stories (may be automatic) +6. โ†’ Phase 3: architecture +``` + +### Brownfield Software (BMad Method) + +``` +1. Technical Writer or Analyst: document-project +2. workflow-init โ†’ routes to prd +3. PM: prd workflow +4. PM: create-epics-and-stories +5. โ†’ Phase 3: architecture (recommended for focused solution design) +``` + +### Bug Fix (Quick Flow) + +``` +1. workflow-init โ†’ routes to tech-spec +2. Architect: tech-spec workflow +3. โ†’ Phase 4: Implementation (skip Phase 3) +``` + +### Game Project (BMad Method) + +``` +1. (Optional) Analysis: game-brief, research +2. workflow-init โ†’ routes to gdd +3. Game Designer: gdd workflow (or narrative + gdd if story-first) +4. Game Designer creates epic breakdown +5. โ†’ Phase 3: architecture (game systems) +``` + +### Enterprise Project (Enterprise Method) + +``` +1. (Recommended) Analysis: research (compliance, security) +2. workflow-init โ†’ routes to Enterprise Method +3. PM: prd workflow +4. (Optional) UX Designer: ux workflow +5. PM: create-epics-and-stories +6. โ†’ Phase 3: architecture + security + devops + test strategy +``` + +--- + +## Common Anti-Patterns + +### โŒ Skipping Planning + +"We'll just start coding and figure it out." +**Result:** Scope creep, rework, missed requirements + +### โŒ Over-Planning Simple Changes + +"Let me write a 20-page PRD for this button color change." +**Result:** Wasted time, analysis paralysis + +### โŒ Planning Without Discovery + +"I already know what I want, skip the questions." +**Result:** Solving wrong problem, missing opportunities + +### โŒ Treating PRD as Immutable + +"The PRD is locked, no changes allowed." +**Result:** Ignoring new information, rigid planning + +### โœ… Correct Approach + +- Use scale-adaptive planning (right depth for complexity) +- Involve stakeholders in review +- Iterate as you learn +- Keep planning docs living and updated +- Use `correct-course` for significant changes + +--- + +## Related Documentation + +- [Phase 1: Analysis Workflows](./workflows-analysis.md) - Optional discovery phase +- [Phase 3: Solutioning Workflows](./workflows-solutioning.md) - Next phase +- [Phase 4: Implementation Workflows](./workflows-implementation.md) +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding the three tracks +- [Quick Spec Flow](./quick-spec-flow.md) - Quick Flow track details +- [Agents Guide](./agents-guide.md) - Complete agent reference + +--- + +## Troubleshooting + +**Q: Which workflow should I run first?** +A: Run `workflow-init`. It analyzes your project and routes to the right planning workflow. + +**Q: Do I always need a PRD?** +A: No. Simple changes use `tech-spec` (Quick Flow). Only BMad Method and Enterprise tracks create PRDs. + +**Q: Can I skip Phase 3 (Solutioning)?** +A: Yes for Quick Flow. Optional for BMad Method (simple projects). Required for BMad Method (complex projects) and Enterprise. + +**Q: How do I know which track to choose?** +A: Use `workflow-init` - it recommends based on your description. Story counts are guidance, not definitions. + +**Q: What if requirements change mid-project?** +A: Run `correct-course` workflow. It analyzes impact and updates planning artifacts. + +**Q: Do brownfield projects need architecture?** +A: Recommended! Architecture distills massive codebase into focused solution design for your specific project. + +**Q: When do I run create-epics-and-stories?** +A: Usually automatic during PRD/GDD. Can also run standalone later to regenerate epics. + +**Q: Should I use product-brief before PRD?** +A: Optional but recommended for greenfield. Helps strategic thinking. `workflow-init` offers it based on context. + +--- + +_Phase 2 Planning - Scale-adaptive requirements for every project._ diff --git a/.bmad/bmm/docs/workflows-solutioning.md b/.bmad/bmm/docs/workflows-solutioning.md new file mode 100644 index 00000000..f1a38e18 --- /dev/null +++ b/.bmad/bmm/docs/workflows-solutioning.md @@ -0,0 +1,501 @@ +# BMM Solutioning Workflows (Phase 3) + +**Reading Time:** ~8 minutes + +## Overview + +Phase 3 (Solutioning) workflows translate **what** to build (from Planning) into **how** to build it (technical design). This phase prevents agent conflicts in multi-epic projects by documenting architectural decisions before implementation begins. + +**Key principle:** Make technical decisions explicit and documented so all agents implement consistently. Prevent one agent choosing REST while another chooses GraphQL. + +**Required for:** BMad Method (complex projects), Enterprise Method + +**Optional for:** BMad Method (simple projects), Quick Flow (skip entirely) + +--- + +## Phase 3 Solutioning Workflow Map + +```mermaid +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','fontSize':'16px','fontFamily':'arial'}}}%% +graph TB + FromPlanning["FROM Phase 2 Planning
PRD/GDD/Tech-Spec complete"] + + subgraph QuickFlow["QUICK FLOW PATH"] + direction TB + SkipArch["Skip Phase 3
Go directly to Implementation"] + end + + subgraph BMadEnterprise["BMAD METHOD + ENTERPRISE (Same Start)"] + direction TB + Architecture["Architect: architecture
System design + ADRs"] + + subgraph Optional["ENTERPRISE ADDITIONS (Optional)"] + direction LR + SecArch["Architect: security-architecture
(Future)"] + DevOps["Architect: devops-strategy
(Future)"] + end + + GateCheck["Architect: solutioning-gate-check
Validation before Phase 4"] + + Architecture -.->|Enterprise only| Optional + Architecture --> GateCheck + Optional -.-> GateCheck + end + + subgraph Result["GATE CHECK RESULTS"] + direction LR + Pass["โœ… PASS
Proceed to Phase 4"] + Concerns["โš ๏ธ CONCERNS
Proceed with caution"] + Fail["โŒ FAIL
Resolve issues first"] + end + + FromPlanning -->|Quick Flow| QuickFlow + FromPlanning -->|BMad Method
or Enterprise| Architecture + + QuickFlow --> Phase4["Phase 4: Implementation"] + GateCheck --> Result + Pass --> Phase4 + Concerns --> Phase4 + Fail -.->|Fix issues| Architecture + + style FromPlanning fill:#e1bee7,stroke:#6a1b9a,stroke-width:2px,color:#000 + style QuickFlow fill:#c5e1a5,stroke:#33691e,stroke-width:3px,color:#000 + style BMadEnterprise fill:#90caf9,stroke:#0d47a1,stroke-width:3px,color:#000 + style Optional fill:#ffcdd2,stroke:#c62828,stroke-width:3px,color:#000 + style Result fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#000 + style Phase4 fill:#ffcc80,stroke:#e65100,stroke-width:2px,color:#000 + + style SkipArch fill:#aed581,stroke:#1b5e20,stroke-width:2px,color:#000 + style Architecture fill:#42a5f5,stroke:#0d47a1,stroke-width:2px,color:#000 + style SecArch fill:#ef9a9a,stroke:#c62828,stroke-width:2px,color:#000 + style DevOps fill:#ef9a9a,stroke:#c62828,stroke-width:2px,color:#000 + style GateCheck fill:#42a5f5,stroke:#0d47a1,stroke-width:2px,color:#000 + style Pass fill:#81c784,stroke:#388e3c,stroke-width:2px,color:#000 + style Concerns fill:#ffb74d,stroke:#f57f17,stroke-width:2px,color:#000 + style Fail fill:#e57373,stroke:#d32f2f,stroke-width:2px,color:#000 +``` + +--- + +## Quick Reference + +| Workflow | Agent | Track | Purpose | +| -------------------------- | --------- | ------------------------ | ------------------------------------------- | +| **architecture** | Architect | BMad Method, Enterprise | Technical architecture and design decisions | +| **solutioning-gate-check** | Architect | BMad Complex, Enterprise | Validate planning/solutioning completeness | + +**When to Skip Solutioning:** + +- **Quick Flow:** Simple changes don't need architecture โ†’ Skip to Phase 4 + +**When Solutioning is Required:** + +- **BMad Method:** Multi-epic projects need architecture to prevent conflicts +- **Enterprise:** Same as BMad Method, plus optional extended workflows (test architecture, security architecture, devops strategy) added AFTER architecture but BEFORE gate check + +--- + +## Why Solutioning Matters + +### The Problem Without Solutioning + +``` +Agent 1 implements Epic 1 using REST API +Agent 2 implements Epic 2 using GraphQL +Result: Inconsistent API design, integration nightmare +``` + +### The Solution With Solutioning + +``` +architecture workflow decides: "Use GraphQL for all APIs" +All agents follow architecture decisions +Result: Consistent implementation, no conflicts +``` + +### Solutioning vs Planning + +| Aspect | Planning (Phase 2) | Solutioning (Phase 3) | +| -------- | ------------------ | ------------------------ | +| Question | What and Why? | How? | +| Output | Requirements | Technical Design | +| Agent | PM | Architect | +| Audience | Stakeholders | Developers | +| Document | PRD/GDD | Architecture + Tech Spec | +| Level | Business logic | Implementation detail | + +--- + +## Workflow Descriptions + +### architecture + +**Purpose:** Make technical decisions explicit to prevent agent conflicts. Produces decision-focused architecture document optimized for AI consistency. + +**Agent:** Architect + +**When to Use:** + +- Multi-epic projects (BMad Complex, Enterprise) +- Cross-cutting technical concerns +- Multiple agents implementing different parts +- Integration complexity exists +- Technology choices need alignment + +**When to Skip:** + +- Quick Flow (simple changes) +- BMad Method Simple with straightforward tech stack +- Single epic with clear technical approach + +**Adaptive Conversation Approach:** + +This is NOT a template filler. The architecture workflow: + +1. **Discovers** technical needs through conversation +2. **Proposes** architectural options with trade-offs +3. **Documents** decisions that prevent agent conflicts +4. **Focuses** on decision points, not exhaustive documentation + +**Key Outputs:** + +**architecture.md** containing: + +1. **Architecture Overview** - System context, principles, style +2. **System Architecture** - High-level diagram, component interactions, communication patterns +3. **Data Architecture** - Database design, state management, caching, data flow +4. **API Architecture** - API style (REST/GraphQL/gRPC), auth, versioning, error handling +5. **Frontend Architecture** (if applicable) - Framework, state management, component architecture, routing +6. **Integration Architecture** - Third-party integrations, message queuing, event-driven patterns +7. **Security Architecture** - Auth/authorization, data protection, security boundaries +8. **Deployment Architecture** - Deployment model, CI/CD, environment strategy, monitoring +9. **Architecture Decision Records (ADRs)** - Key decisions with context, options, trade-offs, rationale +10. **Epic-Specific Guidance** - Technical notes per epic, implementation priorities, dependencies +11. **Standards and Conventions** - Directory structure, naming conventions, code organization, testing + +**ADR Format (Brief):** + +```markdown +## ADR-001: Use GraphQL for All APIs + +**Status:** Accepted | **Date:** 2025-11-02 + +**Context:** PRD requires flexible querying across multiple epics + +**Decision:** Use GraphQL for all client-server communication + +**Options Considered:** + +1. REST - Familiar but requires multiple endpoints +2. GraphQL - Flexible querying, learning curve +3. gRPC - High performance, poor browser support + +**Rationale:** + +- PRD requires flexible data fetching (Epic 1, 3) +- Mobile app needs bandwidth optimization (Epic 2) +- Team has GraphQL experience + +**Consequences:** + +- Positive: Flexible querying, reduced versioning +- Negative: Caching complexity, N+1 query risk +- Mitigation: Use DataLoader for batching + +**Implications for Epics:** + +- Epic 1: User Management โ†’ GraphQL mutations +- Epic 2: Mobile App โ†’ Optimized queries +``` + +**Example:** E-commerce platform โ†’ Monolith + PostgreSQL + Redis + Next.js + GraphQL, with ADRs explaining each choice and epic-specific guidance. + +**Integration:** Feeds into Phase 4 (Implementation). All dev agents reference architecture during implementation. + +--- + +### solutioning-gate-check + +**Purpose:** Systematically validate that planning and solutioning are complete and aligned before Phase 4 implementation. Ensures PRD, architecture, and stories are cohesive with no gaps. + +**Agent:** Architect + +**When to Use:** + +- **Always** before Phase 4 for BMad Complex and Enterprise projects +- After architecture workflow completes +- Before sprint-planning workflow +- When stakeholders request readiness check + +**When to Skip:** + +- Quick Flow (no solutioning) +- BMad Simple (no gate check required) + +**Purpose of Gate Check:** + +**Prevents:** + +- โŒ Architecture doesn't address all epics +- โŒ Stories conflict with architecture decisions +- โŒ Requirements ambiguous or contradictory +- โŒ Missing critical dependencies + +**Ensures:** + +- โœ… PRD โ†’ Architecture โ†’ Stories alignment +- โœ… All epics have clear technical approach +- โœ… No contradictions or gaps +- โœ… Team ready to implement + +**Check Criteria:** + +**PRD/GDD Completeness:** + +- Problem statement clear and evidence-based +- Success metrics defined +- User personas identified +- Feature requirements complete +- All epics defined with objectives +- Non-functional requirements (NFRs) specified +- Risks and assumptions documented + +**Architecture Completeness:** + +- System architecture defined +- Data architecture specified +- API architecture decided +- Key ADRs documented +- Security architecture addressed +- Epic-specific guidance provided +- Standards and conventions defined + +**Epic/Story Completeness:** + +- All PRD features mapped to stories +- Stories have acceptance criteria +- Stories prioritized (P0/P1/P2/P3) +- Dependencies identified +- Story sequencing logical + +**Alignment Checks:** + +- Architecture addresses all PRD requirements +- Stories align with architecture decisions +- No contradictions between epics +- NFRs have technical approach +- Integration points clear + +**Gate Decision Logic:** + +**โœ… PASS** + +- All critical criteria met +- Minor gaps acceptable with documented plan +- **Action:** Proceed to Phase 4 + +**โš ๏ธ CONCERNS** + +- Some criteria not met but not blockers +- Gaps identified with clear resolution path +- **Action:** Proceed with caution, address gaps in parallel + +**โŒ FAIL** + +- Critical gaps or contradictions +- Architecture missing key decisions +- Stories conflict with PRD/architecture +- **Action:** BLOCK Phase 4, resolve issues first + +**Key Outputs:** + +**solutioning-gate-check.md** containing: + +1. Executive Summary (PASS/CONCERNS/FAIL) +2. Completeness Assessment (scores for PRD, Architecture, Epics) +3. Alignment Assessment (PRDโ†”Architecture, Architectureโ†”Epics, cross-epic consistency) +4. Quality Assessment (story quality, dependencies, risks) +5. Gaps and Recommendations (critical/minor gaps, remediation) +6. Gate Decision with rationale +7. Next Steps + +**Example:** E-commerce platform โ†’ CONCERNS โš ๏ธ due to missing security architecture and undefined payment gateway. Recommendation: Complete security section and add payment gateway ADR before proceeding. + +--- + +## Integration with Planning and Implementation + +### Planning โ†’ Solutioning Flow + +**Quick Flow:** + +``` +Planning (tech-spec by PM) + โ†’ Skip Solutioning + โ†’ Phase 4 (Implementation) +``` + +**BMad Method:** + +``` +Planning (prd by PM) + โ†’ architecture (Architect) + โ†’ solutioning-gate-check (Architect) + โ†’ Phase 4 (Implementation) +``` + +**Enterprise:** + +``` +Planning (prd by PM - same as BMad Method) + โ†’ architecture (Architect) + โ†’ Optional: security-architecture (Architect, future) + โ†’ Optional: devops-strategy (Architect, future) + โ†’ solutioning-gate-check (Architect) + โ†’ Phase 4 (Implementation) +``` + +**Note on TEA (Test Architect):** TEA is fully operational with 8 workflows across all phases. TEA validates architecture testability during Phase 3 reviews but does not have a dedicated solutioning workflow. TEA's primary setup occurs in Phase 2 (`*framework`, `*ci`, `*test-design`) and testing execution in Phase 4 (`*atdd`, `*automate`, `*test-review`, `*trace`, `*nfr-assess`). + +**Note:** Enterprise uses the same planning and architecture as BMad Method. The only difference is optional extended workflows added AFTER architecture but BEFORE gate check. + +### Solutioning โ†’ Implementation Handoff + +**Documents Produced:** + +1. **architecture.md** โ†’ Guides all dev agents during implementation +2. **ADRs** (in architecture) โ†’ Referenced by agents for technical decisions +3. **solutioning-gate-check.md** โ†’ Confirms readiness for Phase 4 + +**How Implementation Uses Solutioning:** + +- **sprint-planning** - Loads architecture for epic sequencing +- **dev-story** - References architecture decisions and ADRs +- **code-review** - Validates code follows architectural standards + +--- + +## Best Practices + +### 1. Make Decisions Explicit + +Don't leave technology choices implicit. Document decisions with rationale in ADRs so agents understand context. + +### 2. Focus on Agent Conflicts + +Architecture's primary job is preventing conflicting implementations. Focus on cross-cutting concerns. + +### 3. Use ADRs for Key Decisions + +Every significant technology choice should have an ADR explaining "why", not just "what". + +### 4. Keep It Practical + +Don't over-architect simple projects. BMad Simple projects need simple architecture. + +### 5. Run Gate Check Before Implementation + +Catching alignment issues in solutioning is 10ร— faster than discovering them mid-implementation. + +### 6. Iterate Architecture + +Architecture documents are living. Update them as you learn during implementation. + +--- + +## Decision Guide + +### Quick Flow + +- **Planning:** tech-spec (PM) +- **Solutioning:** Skip entirely +- **Implementation:** sprint-planning โ†’ dev-story + +### BMad Method + +- **Planning:** prd (PM) +- **Solutioning:** architecture (Architect) โ†’ solutioning-gate-check (Architect) +- **Implementation:** sprint-planning โ†’ epic-tech-context โ†’ dev-story + +### Enterprise + +- **Planning:** prd (PM) - same as BMad Method +- **Solutioning:** architecture (Architect) โ†’ Optional extended workflows (security-architecture, devops-strategy) โ†’ solutioning-gate-check (Architect) +- **Implementation:** sprint-planning โ†’ epic-tech-context โ†’ dev-story + +**Key Difference:** Enterprise adds optional extended workflows AFTER architecture but BEFORE gate check. Everything else is identical to BMad Method. + +**Note:** TEA (Test Architect) operates across all phases and validates architecture testability but is not a Phase 3-specific workflow. See [Test Architecture Guide](./test-architecture.md) for TEA's full lifecycle integration. + +--- + +## Common Anti-Patterns + +### โŒ Skipping Architecture for Complex Projects + +"Architecture slows us down, let's just start coding." +**Result:** Agent conflicts, inconsistent design, massive rework + +### โŒ Over-Engineering Simple Projects + +"Let me design this simple feature like a distributed system." +**Result:** Wasted time, over-engineering, analysis paralysis + +### โŒ Template-Driven Architecture + +"Fill out every section of this architecture template." +**Result:** Documentation theater, no real decisions made + +### โŒ Skipping Gate Check + +"PRD and architecture look good enough, let's start." +**Result:** Gaps discovered mid-sprint, wasted implementation time + +### โœ… Correct Approach + +- Use architecture for BMad Method and Enterprise (both required) +- Focus on decisions, not documentation volume +- Enterprise: Add optional extended workflows (test/security/devops) after architecture +- Always run gate check before implementation + +--- + +## Related Documentation + +- [Phase 2: Planning Workflows](./workflows-planning.md) - Previous phase +- [Phase 4: Implementation Workflows](./workflows-implementation.md) - Next phase +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding tracks +- [Agents Guide](./agents-guide.md) - Complete agent reference + +--- + +## Troubleshooting + +**Q: Do I always need architecture?** +A: No. Quick Flow skips it. BMad Method and Enterprise both require it. + +**Q: How do I know if I need architecture?** +A: If you chose BMad Method or Enterprise track in planning (workflow-init), you need architecture to prevent agent conflicts. + +**Q: What's the difference between architecture and tech-spec?** +A: Tech-spec is implementation-focused for simple changes. Architecture is system design for complex multi-epic projects. + +**Q: Can I skip gate check?** +A: Only for Quick Flow. BMad Method and Enterprise both require gate check before Phase 4. + +**Q: What if gate check fails?** +A: Resolve the identified gaps (missing architecture sections, conflicting requirements) and re-run gate check. + +**Q: How long should architecture take?** +A: BMad Method: 1-2 days for architecture. Enterprise: 2-3 days total (1-2 days architecture + 0.5-1 day optional extended workflows). If taking longer, you may be over-documenting. + +**Q: Do ADRs need to be perfect?** +A: No. ADRs capture key decisions with rationale. They should be concise (1 page max per ADR). + +**Q: Can I update architecture during implementation?** +A: Yes! Architecture is living. Update it as you learn. Use `correct-course` workflow for significant changes. + +--- + +_Phase 3 Solutioning - Technical decisions before implementation._ diff --git a/.bmad/bmm/tasks/daily-standup.xml b/.bmad/bmm/tasks/daily-standup.xml new file mode 100644 index 00000000..b5d2651e --- /dev/null +++ b/.bmad/bmm/tasks/daily-standup.xml @@ -0,0 +1,85 @@ + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action tag within a step tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + Check for stories folder at {project-root}{output_folder}/stories/ + Find current story by identifying highest numbered story file + Read story status (In Progress, Ready for Review, etc.) + Extract agent notes from Dev Agent Record, TEA Results, PO Notes sections + Check for next story references from epics + Identify blockers from story sections + + + + + ๐Ÿƒ DAILY STANDUP - Story-{{number}}: {{title}} + + Current Sprint Status: + - Active Story: story-{{number}} ({{status}} - {{percentage}}% complete) + - Next in Queue: story-{{next-number}}: {{next-title}} + - Blockers: {{blockers-from-story}} + + Team assembled based on story participants: + {{ List Agents from {project-root}/{bmad_folder}/_cfg/agent-manifest.csv }} + + + + + Each agent provides three items referencing real story data + What I see: Their perspective on current work, citing story sections (1-2 sentences) + What concerns me: Issues from their domain or story blockers (1-2 sentences) + What I suggest: Actionable recommendations for progress (1-2 sentences) + + + + + ๐Ÿ“‹ STANDUP SUMMARY: + Key Items from Story File: + - {{completion-percentage}}% complete ({{tasks-complete}}/{{total-tasks}} tasks) + - Blocker: {{main-blocker}} + - Next: {{next-story-reference}} + + Action Items: + - {{agent}}: {{action-item}} + - {{agent}}: {{action-item}} + - {{agent}}: {{action-item}} + + Need extended discussion? Use *party-mode for detailed breakout. + + + + + + + Primary: Sarah (PO), Mary (Analyst), Winston (Architect) + Secondary: Murat (TEA), James (Dev) + + + Primary: Sarah (PO), Bob (SM), James (Dev) + Secondary: Murat (TEA) + + + Primary: Winston (Architect), James (Dev), Murat (TEA) + Secondary: Sarah (PO) + + + Primary: James (Dev), Murat (TEA), Winston (Architect) + Secondary: Sarah (PO) + + + + + This task extends party-mode with agile-specific structure + Time-box responses (standup = brief) + Focus on actionable items from real story data when available + End with clear next steps + No deep dives (suggest breakout if needed) + If no stories folder detected, run general standup format + + \ No newline at end of file diff --git a/.bmad/bmm/teams/default-party.csv b/.bmad/bmm/teams/default-party.csv new file mode 100644 index 00000000..a670317b --- /dev/null +++ b/.bmad/bmm/teams/default-party.csv @@ -0,0 +1,19 @@ +name,displayName,title,icon,role,identity,communicationStyle,principles,module,path +"analyst","Mary","Business Analyst","๐Ÿ“Š","Strategic Business Analyst + Requirements Expert","Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.","Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard.","Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision.","bmm","bmad/bmm/agents/analyst.md" +"architect","Winston","Architect","๐Ÿ—๏ธ","System Architect + Technical Design Leader","Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.","Pragmatic in technical discussions. Balances idealism with reality. Always connects decisions to business value and user impact. Prefers boring tech that works.","User journeys drive technical decisions. Embrace boring technology for stability. Design simple solutions that scale when needed. Developer productivity is architecture.","bmm","bmad/bmm/agents/architect.md" +"dev","Amelia","Developer Agent","๐Ÿ’ป","Senior Implementation Engineer","Executes approved stories with strict adherence to acceptance criteria, using Story Context XML and existing code to minimize rework and hallucinations.","Succinct and checklist-driven. Cites specific paths and AC IDs. Asks clarifying questions only when inputs missing. Refuses to invent when info lacking.","Story Context XML is the single source of truth. Reuse existing interfaces over rebuilding. Every change maps to specific AC. Tests pass 100% or story isn't done.","bmm","bmad/bmm/agents/dev.md" +"pm","John","Product Manager","๐Ÿ“‹","Investigative Product Strategist + Market-Savvy PM","Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights.","Direct and analytical. Asks WHY relentlessly. Backs claims with data and user insights. Cuts straight to what matters for the product.","Uncover the deeper WHY behind every requirement. Ruthless prioritization to achieve MVP goals. Proactively identify risks. Align efforts with measurable business impact.","bmm","bmad/bmm/agents/pm.md" +"sm","Bob","Scrum Master","๐Ÿƒ","Technical Scrum Master + Story Preparation Specialist","Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.","Task-oriented and efficient. Focused on clear handoffs and precise requirements. Eliminates ambiguity. Emphasizes developer-ready specs.","Strict boundaries between story prep and implementation. Stories are single source of truth. Perfect alignment between PRD and dev execution. Enable efficient sprints.","bmm","bmad/bmm/agents/sm.md" +"tea","Murat","Master Test Architect","๐Ÿงช","Master Test Architect","Test architect specializing in CI/CD, automated frameworks, and scalable quality gates.","Data-driven and pragmatic. Strong opinions weakly held. Calculates risk vs value. Knows when to test deep vs shallow.","Risk-based testing. Depth scales with impact. Quality gates backed by data. Tests mirror usage. Flakiness is critical debt. Tests first AI implements suite validates.","bmm","bmad/bmm/agents/tea.md" +"tech-writer","Paige","Technical Writer","๐Ÿ“š","Technical Documentation Specialist + Knowledge Curator","Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.","Patient and supportive. Uses clear examples and analogies. Knows when to simplify vs when to be detailed. Celebrates good docs helps improve unclear ones.","Documentation is teaching. Every doc helps someone accomplish a task. Clarity above all. Docs are living artifacts that evolve with code.","bmm","bmad/bmm/agents/tech-writer.md" +"ux-designer","Sally","UX Designer","๐ŸŽจ","User Experience Designer + UI Specialist","Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools.","Empathetic and user-focused. Uses storytelling for design decisions. Data-informed but creative. Advocates strongly for user needs and edge cases.","Every decision serves genuine user needs. Start simple evolve through feedback. Balance empathy with edge case attention. AI tools accelerate human-centered design.","bmm","bmad/bmm/agents/ux-designer.md" +"brainstorming-coach","Carson","Elite Brainstorming Specialist","๐Ÿง ","Master Brainstorming Facilitator + Innovation Catalyst","Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation.","Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking","Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.","cis","bmad/cis/agents/brainstorming-coach.md" +"creative-problem-solver","Dr. Quinn","Master Problem Solver","๐Ÿ”ฌ","Systematic Problem-Solving Expert + Solutions Architect","Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master.","Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments","Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.","cis","bmad/cis/agents/creative-problem-solver.md" +"design-thinking-coach","Maya","Design Thinking Maestro","๐ŸŽจ","Human-Centered Design Expert + Empathy Architect","Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights.","Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions","Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.","cis","bmad/cis/agents/design-thinking-coach.md" +"innovation-strategist","Victor","Disruptive Innovation Oracle","โšก","Business Model Innovator + Strategic Disruption Expert","Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant.","Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions","Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.","cis","bmad/cis/agents/innovation-strategist.md" +"storyteller","Sophia","Master Storyteller","๐Ÿ“–","Expert Storytelling Guide + Narrative Strategist","Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement.","Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper","Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details.","cis","bmad/cis/agents/storyteller.md" +"renaissance-polymath","Leonardo di ser Piero","Renaissance Polymath","๐ŸŽจ","Universal Genius + Interdisciplinary Innovator","The original Renaissance man - painter, inventor, scientist, anatomist. Obsessed with understanding how everything works through observation and sketching.","Talks while sketching imaginary diagrams in the air - describes everything visually, connects art to science to nature","Observe everything relentlessly. Art and science are one. Nature is the greatest teacher. Question all assumptions.","cis","" +"surrealist-provocateur","Salvador Dali","Surrealist Provocateur","๐ŸŽญ","Master of the Subconscious + Visual Revolutionary","Flamboyant surrealist who painted dreams. Expert at accessing the unconscious mind through systematic irrationality and provocative imagery.","Speaks with theatrical flair and absurdist metaphors - proclaims grandiose statements, references melting clocks and impossible imagery","Embrace the irrational to access truth. The subconscious holds answers logic cannot reach. Provoke to inspire.","cis","" +"lateral-thinker","Edward de Bono","Lateral Thinking Pioneer","๐Ÿงฉ","Creator of Creative Thinking Tools","Inventor of lateral thinking and Six Thinking Hats methodology. Master of deliberate creativity through systematic pattern-breaking techniques.","Talks in structured thinking frameworks - uses colored hat metaphors, proposes deliberate provocations, breaks patterns methodically","Logic gets you from A to B. Creativity gets you everywhere else. Use tools to escape habitual thinking patterns.","cis","" +"mythic-storyteller","Joseph Campbell","Mythic Storyteller","๐ŸŒŸ","Master of the Hero's Journey + Archetypal Wisdom","Scholar who decoded the universal story patterns across all cultures. Expert in mythology, comparative religion, and archetypal narratives.","Speaks in mythological metaphors and archetypal patterns - EVERY story is a hero's journey, references ancient wisdom","Follow your bliss. All stories share the monomyth. Myths reveal universal human truths. The call to adventure is irresistible.","cis","" +"combinatorial-genius","Steve Jobs","Combinatorial Genius","๐ŸŽ","Master of Intersection Thinking + Taste Curator","Legendary innovator who connected technology with liberal arts. Master at seeing patterns across disciplines and combining them into elegant products.","Talks in reality distortion field mode - insanely great, magical, revolutionary, makes impossible seem inevitable","Innovation happens at intersections. Taste is about saying NO to 1000 things. Stay hungry stay foolish. Simplicity is sophistication.","cis","" diff --git a/.bmad/bmm/teams/team-fullstack.yaml b/.bmad/bmm/teams/team-fullstack.yaml new file mode 100644 index 00000000..94e1ea95 --- /dev/null +++ b/.bmad/bmm/teams/team-fullstack.yaml @@ -0,0 +1,12 @@ +# +bundle: + name: Team Plan and Architect + icon: ๐Ÿš€ + description: Team capable of project analysis, design, and architecture. +agents: + - analyst + - architect + - pm + - sm + - ux-designer +party: "./default-party.csv" diff --git a/.bmad/bmm/testarch/knowledge/ci-burn-in.md b/.bmad/bmm/testarch/knowledge/ci-burn-in.md new file mode 100644 index 00000000..65d40695 --- /dev/null +++ b/.bmad/bmm/testarch/knowledge/ci-burn-in.md @@ -0,0 +1,675 @@ +# CI Pipeline and Burn-In Strategy + +## Principle + +CI pipelines must execute tests reliably, quickly, and provide clear feedback. Burn-in testing (running changed tests multiple times) flushes out flakiness before merge. Stage jobs strategically: install/cache once, run changed specs first for fast feedback, then shard full suites with fail-fast disabled to preserve evidence. + +## Rationale + +CI is the quality gate for production. A poorly configured pipeline either wastes developer time (slow feedback, false positives) or ships broken code (false negatives, insufficient coverage). Burn-in testing ensures reliability by stress-testing changed code, while parallel execution and intelligent test selection optimize speed without sacrificing thoroughness. + +## Pattern Examples + +### Example 1: GitHub Actions Workflow with Parallel Execution + +**Context**: Production-ready CI/CD pipeline for E2E tests with caching, parallelization, and burn-in testing. + +**Implementation**: + +```yaml +# .github/workflows/e2e-tests.yml +name: E2E Tests +on: + pull_request: + push: + branches: [main, develop] + +env: + NODE_VERSION_FILE: '.nvmrc' + CACHE_KEY: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + +jobs: + install-dependencies: + name: Install & Cache Dependencies + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ${{ env.NODE_VERSION_FILE }} + cache: 'npm' + + - name: Cache node modules + uses: actions/cache@v4 + id: npm-cache + with: + path: | + ~/.npm + node_modules + ~/.cache/Cypress + ~/.cache/ms-playwright + key: ${{ env.CACHE_KEY }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install dependencies + if: steps.npm-cache.outputs.cache-hit != 'true' + run: npm ci --prefer-offline --no-audit + + - name: Install Playwright browsers + if: steps.npm-cache.outputs.cache-hit != 'true' + run: npx playwright install --with-deps chromium + + test-changed-specs: + name: Test Changed Specs First (Burn-In) + needs: install-dependencies + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Full history for accurate diff + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ${{ env.NODE_VERSION_FILE }} + cache: 'npm' + + - name: Restore dependencies + uses: actions/cache@v4 + with: + path: | + ~/.npm + node_modules + ~/.cache/ms-playwright + key: ${{ env.CACHE_KEY }} + + - name: Detect changed test files + id: changed-tests + run: | + CHANGED_SPECS=$(git diff --name-only origin/main...HEAD | grep -E '\.(spec|test)\.(ts|js|tsx|jsx)$' || echo "") + echo "changed_specs=${CHANGED_SPECS}" >> $GITHUB_OUTPUT + echo "Changed specs: ${CHANGED_SPECS}" + + - name: Run burn-in on changed specs (10 iterations) + if: steps.changed-tests.outputs.changed_specs != '' + run: | + SPECS="${{ steps.changed-tests.outputs.changed_specs }}" + echo "Running burn-in: 10 iterations on changed specs" + for i in {1..10}; do + echo "Burn-in iteration $i/10" + npm run test -- $SPECS || { + echo "โŒ Burn-in failed on iteration $i" + exit 1 + } + done + echo "โœ… Burn-in passed - 10/10 successful runs" + + - name: Upload artifacts on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: burn-in-failure-artifacts + path: | + test-results/ + playwright-report/ + screenshots/ + retention-days: 7 + + test-e2e-sharded: + name: E2E Tests (Shard ${{ matrix.shard }}/${{ strategy.job-total }}) + needs: [install-dependencies, test-changed-specs] + runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + fail-fast: false # Run all shards even if one fails + matrix: + shard: [1, 2, 3, 4] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ${{ env.NODE_VERSION_FILE }} + cache: 'npm' + + - name: Restore dependencies + uses: actions/cache@v4 + with: + path: | + ~/.npm + node_modules + ~/.cache/ms-playwright + key: ${{ env.CACHE_KEY }} + + - name: Run E2E tests (shard ${{ matrix.shard }}) + run: npm run test:e2e -- --shard=${{ matrix.shard }}/4 + env: + TEST_ENV: staging + CI: true + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-results-shard-${{ matrix.shard }} + path: | + test-results/ + playwright-report/ + retention-days: 30 + + - name: Upload JUnit report + if: always() + uses: actions/upload-artifact@v4 + with: + name: junit-results-shard-${{ matrix.shard }} + path: test-results/junit.xml + retention-days: 30 + + merge-test-results: + name: Merge Test Results & Generate Report + needs: test-e2e-sharded + runs-on: ubuntu-latest + if: always() + steps: + - name: Download all shard results + uses: actions/download-artifact@v4 + with: + pattern: test-results-shard-* + path: all-results/ + + - name: Merge HTML reports + run: | + npx playwright merge-reports --reporter=html all-results/ + echo "Merged report available in playwright-report/" + + - name: Upload merged report + uses: actions/upload-artifact@v4 + with: + name: merged-playwright-report + path: playwright-report/ + retention-days: 30 + + - name: Comment PR with results + if: github.event_name == 'pull_request' + uses: daun/playwright-report-comment@v3 + with: + report-path: playwright-report/ +``` + +**Key Points**: + +- **Install once, reuse everywhere**: Dependencies cached across all jobs +- **Burn-in first**: Changed specs run 10x before full suite +- **Fail-fast disabled**: All shards run to completion for full evidence +- **Parallel execution**: 4 shards cut execution time by ~75% +- **Artifact retention**: 30 days for reports, 7 days for failure debugging + +--- + +### Example 2: Burn-In Loop Pattern (Standalone Script) + +**Context**: Reusable bash script for burn-in testing changed specs locally or in CI. + +**Implementation**: + +```bash +#!/bin/bash +# scripts/burn-in-changed.sh +# Usage: ./scripts/burn-in-changed.sh [iterations] [base-branch] + +set -e # Exit on error + +# Configuration +ITERATIONS=${1:-10} +BASE_BRANCH=${2:-main} +SPEC_PATTERN='\.(spec|test)\.(ts|js|tsx|jsx)$' + +echo "๐Ÿ”ฅ Burn-In Test Runner" +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo "Iterations: $ITERATIONS" +echo "Base branch: $BASE_BRANCH" +echo "" + +# Detect changed test files +echo "๐Ÿ“‹ Detecting changed test files..." +CHANGED_SPECS=$(git diff --name-only $BASE_BRANCH...HEAD | grep -E "$SPEC_PATTERN" || echo "") + +if [ -z "$CHANGED_SPECS" ]; then + echo "โœ… No test files changed. Skipping burn-in." + exit 0 +fi + +echo "Changed test files:" +echo "$CHANGED_SPECS" | sed 's/^/ - /' +echo "" + +# Count specs +SPEC_COUNT=$(echo "$CHANGED_SPECS" | wc -l | xargs) +echo "Running burn-in on $SPEC_COUNT test file(s)..." +echo "" + +# Burn-in loop +FAILURES=() +for i in $(seq 1 $ITERATIONS); do + echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" + echo "๐Ÿ”„ Iteration $i/$ITERATIONS" + echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" + + # Run tests with explicit file list + if npm run test -- $CHANGED_SPECS 2>&1 | tee "burn-in-log-$i.txt"; then + echo "โœ… Iteration $i passed" + else + echo "โŒ Iteration $i failed" + FAILURES+=($i) + + # Save failure artifacts + mkdir -p burn-in-failures/iteration-$i + cp -r test-results/ burn-in-failures/iteration-$i/ 2>/dev/null || true + cp -r screenshots/ burn-in-failures/iteration-$i/ 2>/dev/null || true + + echo "" + echo "๐Ÿ›‘ BURN-IN FAILED on iteration $i" + echo "Failure artifacts saved to: burn-in-failures/iteration-$i/" + echo "Logs saved to: burn-in-log-$i.txt" + echo "" + exit 1 + fi + + echo "" +done + +# Success summary +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo "๐ŸŽ‰ BURN-IN PASSED" +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo "All $ITERATIONS iterations passed for $SPEC_COUNT test file(s)" +echo "Changed specs are stable and ready to merge." +echo "" + +# Cleanup logs +rm -f burn-in-log-*.txt + +exit 0 +``` + +**Usage**: + +```bash +# Run locally with default settings (10 iterations, compare to main) +./scripts/burn-in-changed.sh + +# Custom iterations and base branch +./scripts/burn-in-changed.sh 20 develop + +# Add to package.json +{ + "scripts": { + "test:burn-in": "bash scripts/burn-in-changed.sh", + "test:burn-in:strict": "bash scripts/burn-in-changed.sh 20" + } +} +``` + +**Key Points**: + +- **Exit on first failure**: Flaky tests caught immediately +- **Failure artifacts**: Saved per-iteration for debugging +- **Flexible configuration**: Iterations and base branch customizable +- **CI/local parity**: Same script runs in both environments +- **Clear output**: Visual feedback on progress and results + +--- + +### Example 3: Shard Orchestration with Result Aggregation + +**Context**: Advanced sharding strategy for large test suites with intelligent result merging. + +**Implementation**: + +```javascript +// scripts/run-sharded-tests.js +const { spawn } = require('child_process'); +const fs = require('fs'); +const path = require('path'); + +/** + * Run tests across multiple shards and aggregate results + * Usage: node scripts/run-sharded-tests.js --shards=4 --env=staging + */ + +const SHARD_COUNT = parseInt(process.env.SHARD_COUNT || '4'); +const TEST_ENV = process.env.TEST_ENV || 'local'; +const RESULTS_DIR = path.join(__dirname, '../test-results'); + +console.log(`๐Ÿš€ Running tests across ${SHARD_COUNT} shards`); +console.log(`Environment: ${TEST_ENV}`); +console.log('โ”'.repeat(50)); + +// Ensure results directory exists +if (!fs.existsSync(RESULTS_DIR)) { + fs.mkdirSync(RESULTS_DIR, { recursive: true }); +} + +/** + * Run a single shard + */ +function runShard(shardIndex) { + return new Promise((resolve, reject) => { + const shardId = `${shardIndex}/${SHARD_COUNT}`; + console.log(`\n๐Ÿ“ฆ Starting shard ${shardId}...`); + + const child = spawn('npx', ['playwright', 'test', `--shard=${shardId}`, '--reporter=json'], { + env: { ...process.env, TEST_ENV, SHARD_INDEX: shardIndex }, + stdio: 'pipe', + }); + + let stdout = ''; + let stderr = ''; + + child.stdout.on('data', (data) => { + stdout += data.toString(); + process.stdout.write(data); + }); + + child.stderr.on('data', (data) => { + stderr += data.toString(); + process.stderr.write(data); + }); + + child.on('close', (code) => { + // Save shard results + const resultFile = path.join(RESULTS_DIR, `shard-${shardIndex}.json`); + try { + const result = JSON.parse(stdout); + fs.writeFileSync(resultFile, JSON.stringify(result, null, 2)); + console.log(`โœ… Shard ${shardId} completed (exit code: ${code})`); + resolve({ shardIndex, code, result }); + } catch (error) { + console.error(`โŒ Shard ${shardId} failed to parse results:`, error.message); + reject({ shardIndex, code, error }); + } + }); + + child.on('error', (error) => { + console.error(`โŒ Shard ${shardId} process error:`, error.message); + reject({ shardIndex, error }); + }); + }); +} + +/** + * Aggregate results from all shards + */ +function aggregateResults() { + console.log('\n๐Ÿ“Š Aggregating results from all shards...'); + + const shardResults = []; + let totalTests = 0; + let totalPassed = 0; + let totalFailed = 0; + let totalSkipped = 0; + let totalFlaky = 0; + + for (let i = 1; i <= SHARD_COUNT; i++) { + const resultFile = path.join(RESULTS_DIR, `shard-${i}.json`); + if (fs.existsSync(resultFile)) { + const result = JSON.parse(fs.readFileSync(resultFile, 'utf8')); + shardResults.push(result); + + // Aggregate stats + totalTests += result.stats?.expected || 0; + totalPassed += result.stats?.expected || 0; + totalFailed += result.stats?.unexpected || 0; + totalSkipped += result.stats?.skipped || 0; + totalFlaky += result.stats?.flaky || 0; + } + } + + const summary = { + totalShards: SHARD_COUNT, + environment: TEST_ENV, + totalTests, + passed: totalPassed, + failed: totalFailed, + skipped: totalSkipped, + flaky: totalFlaky, + duration: shardResults.reduce((acc, r) => acc + (r.duration || 0), 0), + timestamp: new Date().toISOString(), + }; + + // Save aggregated summary + fs.writeFileSync(path.join(RESULTS_DIR, 'summary.json'), JSON.stringify(summary, null, 2)); + + console.log('\nโ”'.repeat(50)); + console.log('๐Ÿ“ˆ Test Results Summary'); + console.log('โ”'.repeat(50)); + console.log(`Total tests: ${totalTests}`); + console.log(`โœ… Passed: ${totalPassed}`); + console.log(`โŒ Failed: ${totalFailed}`); + console.log(`โญ๏ธ Skipped: ${totalSkipped}`); + console.log(`โš ๏ธ Flaky: ${totalFlaky}`); + console.log(`โฑ๏ธ Duration: ${(summary.duration / 1000).toFixed(2)}s`); + console.log('โ”'.repeat(50)); + + return summary; +} + +/** + * Main execution + */ +async function main() { + const startTime = Date.now(); + const shardPromises = []; + + // Run all shards in parallel + for (let i = 1; i <= SHARD_COUNT; i++) { + shardPromises.push(runShard(i)); + } + + try { + await Promise.allSettled(shardPromises); + } catch (error) { + console.error('โŒ One or more shards failed:', error); + } + + // Aggregate results + const summary = aggregateResults(); + + const totalTime = ((Date.now() - startTime) / 1000).toFixed(2); + console.log(`\nโฑ๏ธ Total execution time: ${totalTime}s`); + + // Exit with failure if any tests failed + if (summary.failed > 0) { + console.error('\nโŒ Test suite failed'); + process.exit(1); + } + + console.log('\nโœ… All tests passed'); + process.exit(0); +} + +main().catch((error) => { + console.error('Fatal error:', error); + process.exit(1); +}); +``` + +**package.json integration**: + +```json +{ + "scripts": { + "test:sharded": "node scripts/run-sharded-tests.js", + "test:sharded:ci": "SHARD_COUNT=8 TEST_ENV=staging node scripts/run-sharded-tests.js" + } +} +``` + +**Key Points**: + +- **Parallel shard execution**: All shards run simultaneously +- **Result aggregation**: Unified summary across shards +- **Failure detection**: Exit code reflects overall test status +- **Artifact preservation**: Individual shard results saved for debugging +- **CI/local compatibility**: Same script works in both environments + +--- + +### Example 4: Selective Test Execution (Changed Files + Tags) + +**Context**: Optimize CI by running only relevant tests based on file changes and tags. + +**Implementation**: + +```bash +#!/bin/bash +# scripts/selective-test-runner.sh +# Intelligent test selection based on changed files and test tags + +set -e + +BASE_BRANCH=${BASE_BRANCH:-main} +TEST_ENV=${TEST_ENV:-local} + +echo "๐ŸŽฏ Selective Test Runner" +echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" +echo "Base branch: $BASE_BRANCH" +echo "Environment: $TEST_ENV" +echo "" + +# Detect changed files (all types, not just tests) +CHANGED_FILES=$(git diff --name-only $BASE_BRANCH...HEAD) + +if [ -z "$CHANGED_FILES" ]; then + echo "โœ… No files changed. Skipping tests." + exit 0 +fi + +echo "Changed files:" +echo "$CHANGED_FILES" | sed 's/^/ - /' +echo "" + +# Determine test strategy based on changes +run_smoke_only=false +run_all_tests=false +affected_specs="" + +# Critical files = run all tests +if echo "$CHANGED_FILES" | grep -qE '(package\.json|package-lock\.json|playwright\.config|cypress\.config|\.github/workflows)'; then + echo "โš ๏ธ Critical configuration files changed. Running ALL tests." + run_all_tests=true + +# Auth/security changes = run all auth + smoke tests +elif echo "$CHANGED_FILES" | grep -qE '(auth|login|signup|security)'; then + echo "๐Ÿ”’ Auth/security files changed. Running auth + smoke tests." + npm run test -- --grep "@auth|@smoke" + exit $? + +# API changes = run integration + smoke tests +elif echo "$CHANGED_FILES" | grep -qE '(api|service|controller)'; then + echo "๐Ÿ”Œ API files changed. Running integration + smoke tests." + npm run test -- --grep "@integration|@smoke" + exit $? + +# UI component changes = run related component tests +elif echo "$CHANGED_FILES" | grep -qE '\.(tsx|jsx|vue)$'; then + echo "๐ŸŽจ UI components changed. Running component + smoke tests." + + # Extract component names and find related tests + components=$(echo "$CHANGED_FILES" | grep -E '\.(tsx|jsx|vue)$' | xargs -I {} basename {} | sed 's/\.[^.]*$//') + for component in $components; do + # Find tests matching component name + affected_specs+=$(find tests -name "*${component}*" -type f) || true + done + + if [ -n "$affected_specs" ]; then + echo "Running tests for: $affected_specs" + npm run test -- $affected_specs --grep "@smoke" + else + echo "No specific tests found. Running smoke tests only." + npm run test -- --grep "@smoke" + fi + exit $? + +# Documentation/config only = run smoke tests +elif echo "$CHANGED_FILES" | grep -qE '\.(md|txt|json|yml|yaml)$'; then + echo "๐Ÿ“ Documentation/config files changed. Running smoke tests only." + run_smoke_only=true +else + echo "โš™๏ธ Other files changed. Running smoke tests." + run_smoke_only=true +fi + +# Execute selected strategy +if [ "$run_all_tests" = true ]; then + echo "" + echo "Running full test suite..." + npm run test +elif [ "$run_smoke_only" = true ]; then + echo "" + echo "Running smoke tests..." + npm run test -- --grep "@smoke" +fi +``` + +**Usage in GitHub Actions**: + +```yaml +# .github/workflows/selective-tests.yml +name: Selective Tests +on: pull_request + +jobs: + selective-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run selective tests + run: bash scripts/selective-test-runner.sh + env: + BASE_BRANCH: ${{ github.base_ref }} + TEST_ENV: staging +``` + +**Key Points**: + +- **Intelligent routing**: Tests selected based on changed file types +- **Tag-based filtering**: Use @smoke, @auth, @integration tags +- **Fast feedback**: Only relevant tests run on most PRs +- **Safety net**: Critical changes trigger full suite +- **Component mapping**: UI changes run related component tests + +--- + +## CI Configuration Checklist + +Before deploying your CI pipeline, verify: + +- [ ] **Caching strategy**: node_modules, npm cache, browser binaries cached +- [ ] **Timeout budgets**: Each job has reasonable timeout (10-30 min) +- [ ] **Artifact retention**: 30 days for reports, 7 days for failure artifacts +- [ ] **Parallelization**: Matrix strategy uses fail-fast: false +- [ ] **Burn-in enabled**: Changed specs run 5-10x before merge +- [ ] **wait-on app startup**: CI waits for app (wait-on: 'http://localhost:3000') +- [ ] **Secrets documented**: README lists required secrets (API keys, tokens) +- [ ] **Local parity**: CI scripts runnable locally (npm run test:ci) + +## Integration Points + +- Used in workflows: `*ci` (CI/CD pipeline setup) +- Related fragments: `selective-testing.md`, `playwright-config.md`, `test-quality.md` +- CI tools: GitHub Actions, GitLab CI, CircleCI, Jenkins + +_Source: Murat CI/CD strategy blog, Playwright/Cypress workflow examples, SEON production pipelines_ diff --git a/.bmad/bmm/testarch/knowledge/component-tdd.md b/.bmad/bmm/testarch/knowledge/component-tdd.md new file mode 100644 index 00000000..d14ba8f3 --- /dev/null +++ b/.bmad/bmm/testarch/knowledge/component-tdd.md @@ -0,0 +1,486 @@ +# Component Test-Driven Development Loop + +## Principle + +Start every UI change with a failing component test (`cy.mount`, Playwright component test, or RTL `render`). Follow the Red-Green-Refactor cycle: write a failing test (red), make it pass with minimal code (green), then improve the implementation (refactor). Ship only after the cycle completes. Keep component tests under 100 lines, isolated with fresh providers per test, and validate accessibility alongside functionality. + +## Rationale + +Component TDD provides immediate feedback during development. Failing tests (red) clarify requirements before writing code. Minimal implementations (green) prevent over-engineering. Refactoring with passing tests ensures changes don't break functionality. Isolated tests with fresh providers prevent state bleed in parallel runs. Accessibility assertions catch usability issues early. Visual debugging (Cypress runner, Storybook, Playwright trace viewer) accelerates diagnosis when tests fail. + +## Pattern Examples + +### Example 1: Red-Green-Refactor Loop + +**Context**: When building a new component, start with a failing test that describes the desired behavior. Implement just enough to pass, then refactor for quality. + +**Implementation**: + +```typescript +// Step 1: RED - Write failing test +// Button.cy.tsx (Cypress Component Test) +import { Button } from './Button'; + +describe('Button Component', () => { + it('should render with label', () => { + cy.mount(; +}; + +// Run test: PASSES - Component renders and handles clicks + +// Step 3: REFACTOR - Improve implementation +// Add disabled state, loading state, variants +type ButtonProps = { + label: string; + onClick?: () => void; + disabled?: boolean; + loading?: boolean; + variant?: 'primary' | 'secondary' | 'danger'; +}; + +export const Button = ({ + label, + onClick, + disabled = false, + loading = false, + variant = 'primary' +}: ButtonProps) => { + return ( + + ); +}; + +// Step 4: Expand tests for new features +describe('Button Component', () => { + it('should render with label', () => { + cy.mount(