bmad-fh 6.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.coderabbit.yaml +40 -0
- package/.githooks/post-checkout +129 -0
- package/.githooks/pre-commit +63 -0
- package/.githooks/pre-push +135 -0
- package/.github/CODE_OF_CONDUCT.md +128 -0
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/ISSUE_TEMPLATE/issue.md +32 -0
- package/.github/scripts/discord-helpers.sh +34 -0
- package/.github/workflows/bundle-latest.yaml +330 -0
- package/.github/workflows/discord.yaml +90 -0
- package/.github/workflows/docs.yaml +63 -0
- package/.github/workflows/manual-release.yaml +190 -0
- package/.github/workflows/publish-multi-artifact.yaml +50 -0
- package/.github/workflows/quality.yaml +115 -0
- package/.husky/pre-commit +20 -0
- package/.markdownlint-cli2.yaml +41 -0
- package/.nvmrc +1 -0
- package/.prettierignore +9 -0
- package/.vscode/settings.json +97 -0
- package/CHANGELOG.md +1394 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +306 -0
- package/CONTRIBUTORS.md +32 -0
- package/LICENSE +30 -0
- package/README.md +126 -0
- package/SECURITY.md +85 -0
- package/TRADEMARK.md +55 -0
- package/Wordmark.png +0 -0
- package/banner-bmad-method.png +0 -0
- package/docs/404.md +9 -0
- package/docs/_README_WORKFLOW_DIAGRAMS.md +40 -0
- package/docs/_STYLE_GUIDE.md +367 -0
- package/docs/_archive/customize-workflows.md +30 -0
- package/docs/_archive/getting-started-bmadv4.md +247 -0
- package/docs/_archive/vendor-workflows.md +52 -0
- package/docs/downloads.md +72 -0
- package/docs/explanation/agents/barry-quick-flow.md +328 -0
- package/docs/explanation/agents/index.md +19 -0
- package/docs/explanation/architecture/four-phases.md +107 -0
- package/docs/explanation/architecture/preventing-agent-conflicts.md +111 -0
- package/docs/explanation/architecture/why-solutioning-matters.md +75 -0
- package/docs/explanation/bmm/index.md +131 -0
- package/docs/explanation/core/index.md +18 -0
- package/docs/explanation/core-concepts/agent-roles.md +179 -0
- package/docs/explanation/core-concepts/index.md +35 -0
- package/docs/explanation/core-concepts/what-are-agents.md +97 -0
- package/docs/explanation/core-concepts/what-are-modules.md +85 -0
- package/docs/explanation/core-concepts/what-are-workflows.md +204 -0
- package/docs/explanation/faq/brownfield-faq.md +73 -0
- package/docs/explanation/faq/getting-started-faq.md +67 -0
- package/docs/explanation/faq/implementation-faq.md +52 -0
- package/docs/explanation/faq/index.md +16 -0
- package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
- package/docs/explanation/faq/planning-faq.md +41 -0
- package/docs/explanation/faq/tools-faq.md +277 -0
- package/docs/explanation/faq/workflows-faq.md +61 -0
- package/docs/explanation/features/advanced-elicitation.md +95 -0
- package/docs/explanation/features/brainstorming-techniques.md +92 -0
- package/docs/explanation/features/party-mode.md +95 -0
- package/docs/explanation/features/quick-flow.md +149 -0
- package/docs/explanation/features/tea-overview.md +410 -0
- package/docs/explanation/features/web-bundles.md +34 -0
- package/docs/explanation/philosophy/facilitation-over-generation.md +333 -0
- package/docs/explanation/philosophy/testing-as-engineering.md +112 -0
- package/docs/explanation/tea/engagement-models.md +710 -0
- package/docs/explanation/tea/fixture-architecture.md +457 -0
- package/docs/explanation/tea/knowledge-base-system.md +554 -0
- package/docs/explanation/tea/network-first-patterns.md +853 -0
- package/docs/explanation/tea/risk-based-testing.md +586 -0
- package/docs/explanation/tea/test-quality-standards.md +907 -0
- package/docs/how-to/brownfield/add-feature-to-existing.md +74 -0
- package/docs/how-to/brownfield/document-existing-project.md +66 -0
- package/docs/how-to/brownfield/index.md +84 -0
- package/docs/how-to/brownfield/quick-fix-in-brownfield.md +77 -0
- package/docs/how-to/brownfield/use-tea-for-enterprise.md +526 -0
- package/docs/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
- package/docs/how-to/customization/customize-agents.md +212 -0
- package/docs/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
- package/docs/how-to/customization/index.md +23 -0
- package/docs/how-to/customization/integrate-playwright-utils.md +813 -0
- package/docs/how-to/customization/shard-large-documents.md +101 -0
- package/docs/how-to/get-answers-about-bmad.md +102 -0
- package/docs/how-to/installation/index.md +12 -0
- package/docs/how-to/installation/install-bmad.md +111 -0
- package/docs/how-to/installation/install-custom-modules.md +118 -0
- package/docs/how-to/installation/upgrade-to-v6.md +131 -0
- package/docs/how-to/workflows/bmgd-quick-flow.md +156 -0
- package/docs/how-to/workflows/conduct-research.md +97 -0
- package/docs/how-to/workflows/create-architecture.md +119 -0
- package/docs/how-to/workflows/create-epics-and-stories.md +109 -0
- package/docs/how-to/workflows/create-prd.md +91 -0
- package/docs/how-to/workflows/create-product-brief.md +94 -0
- package/docs/how-to/workflows/create-story.md +102 -0
- package/docs/how-to/workflows/create-ux-design.md +100 -0
- package/docs/how-to/workflows/implement-story.md +97 -0
- package/docs/how-to/workflows/quick-spec.md +122 -0
- package/docs/how-to/workflows/run-atdd.md +436 -0
- package/docs/how-to/workflows/run-automate.md +653 -0
- package/docs/how-to/workflows/run-brainstorming-session.md +73 -0
- package/docs/how-to/workflows/run-code-review.md +89 -0
- package/docs/how-to/workflows/run-implementation-readiness.md +125 -0
- package/docs/how-to/workflows/run-nfr-assess.md +679 -0
- package/docs/how-to/workflows/run-sprint-planning.md +94 -0
- package/docs/how-to/workflows/run-test-design.md +98 -0
- package/docs/how-to/workflows/run-test-review.md +605 -0
- package/docs/how-to/workflows/run-trace.md +883 -0
- package/docs/how-to/workflows/setup-ci.md +712 -0
- package/docs/how-to/workflows/setup-party-mode.md +89 -0
- package/docs/how-to/workflows/setup-test-framework.md +98 -0
- package/docs/index.md +63 -0
- package/docs/migration-guide.md +365 -0
- package/docs/multi-scope-guide.md +379 -0
- package/docs/plans/multi-scope-parallel-artifacts-plan.md +695 -0
- package/docs/reference/agents/index.md +109 -0
- package/docs/reference/configuration/core-tasks.md +67 -0
- package/docs/reference/configuration/global-config.md +28 -0
- package/docs/reference/glossary/index.md +159 -0
- package/docs/reference/tea/commands.md +254 -0
- package/docs/reference/tea/configuration.md +678 -0
- package/docs/reference/tea/knowledge-base.md +340 -0
- package/docs/reference/workflows/core-workflows.md +32 -0
- package/docs/reference/workflows/document-project.md +73 -0
- package/docs/reference/workflows/index.md +12 -0
- package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
- package/docs/tutorials/getting-started/images/workflow-method-greenfield.excalidraw +5034 -0
- package/docs/tutorials/getting-started/images/workflow-method-greenfield.svg +4 -0
- package/docs/tutorials/getting-started/images/workflow-overview.jpg +0 -0
- package/docs/tutorials/getting-started/tea-lite-quickstart.md +444 -0
- package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
- package/eslint.config.mjs +152 -0
- package/package.json +117 -0
- package/prettier.config.mjs +32 -0
- package/src/bmm/_module-installer/installer.js +48 -0
- package/src/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
- package/src/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
- package/src/bmm/agents/analyst.agent.yaml +41 -0
- package/src/bmm/agents/architect.agent.yaml +33 -0
- package/src/bmm/agents/dev.agent.yaml +38 -0
- package/src/bmm/agents/pm.agent.yaml +51 -0
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/bmm/agents/sm.agent.yaml +47 -0
- package/src/bmm/agents/tea.agent.yaml +68 -0
- package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +49 -0
- package/src/bmm/agents/ux-designer.agent.yaml +30 -0
- package/src/bmm/data/README.md +29 -0
- package/src/bmm/data/project-context-template.md +40 -0
- package/src/bmm/module.yaml +64 -0
- package/src/bmm/sub-modules/claude-code/config.yaml +4 -0
- package/src/bmm/sub-modules/claude-code/injections.yaml +242 -0
- package/src/bmm/sub-modules/claude-code/readme.md +87 -0
- package/src/bmm/teams/default-party.csv +21 -0
- package/src/bmm/teams/team-fullstack.yaml +12 -0
- package/src/bmm/testarch/knowledge/api-request.md +442 -0
- package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/src/bmm/testarch/knowledge/auth-session.md +552 -0
- package/src/bmm/testarch/knowledge/burn-in.md +273 -0
- package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/src/bmm/testarch/knowledge/data-factories.md +500 -0
- package/src/bmm/testarch/knowledge/email-auth.md +721 -0
- package/src/bmm/testarch/knowledge/error-handling.md +725 -0
- package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/src/bmm/testarch/knowledge/file-utils.md +463 -0
- package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
- package/src/bmm/testarch/knowledge/log.md +429 -0
- package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
- package/src/bmm/testarch/knowledge/network-first.md +486 -0
- package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
- package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/bmm/testarch/knowledge/overview.md +286 -0
- package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/src/bmm/testarch/knowledge/recurse.md +421 -0
- package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/bmm/testarch/knowledge/test-quality.md +664 -0
- package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/src/bmm/testarch/tea-index.csv +34 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +194 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +13 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +11 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/src/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +10 -0
- package/src/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
- package/src/bmm/workflows/2-plan-workflows/prd/workflow.md +150 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
- package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +27 -0
- package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
- package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +191 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/src/bmm/workflows/document-project/checklist.md +245 -0
- package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/bmm/workflows/document-project/instructions.md +221 -0
- package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/bmm/workflows/document-project/workflow.yaml +30 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/src/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
- package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
- package/src/bmm/workflows/testarch/ci/checklist.md +248 -0
- package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/src/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
- package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/test-design/checklist.md +235 -0
- package/src/bmm/workflows/testarch/test-design/instructions.md +788 -0
- package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/src/bmm/workflows/testarch/test-design/workflow.yaml +56 -0
- package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
- package/src/bmm/workflows/testarch/trace/checklist.md +655 -0
- package/src/bmm/workflows/testarch/trace/instructions.md +1047 -0
- package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
- package/src/bmm/workflows/workflow-status/init/instructions.md +346 -0
- package/src/bmm/workflows/workflow-status/init/workflow.yaml +30 -0
- package/src/bmm/workflows/workflow-status/instructions.md +397 -0
- package/src/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
- package/src/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
- package/src/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
- package/src/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
- package/src/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/src/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/bmm/workflows/workflow-status/workflow.yaml +32 -0
- package/src/core/_module-installer/installer.js +60 -0
- package/src/core/agents/bmad-master.agent.yaml +30 -0
- package/src/core/lib/scope/artifact-resolver.js +298 -0
- package/src/core/lib/scope/event-logger.js +411 -0
- package/src/core/lib/scope/index.js +30 -0
- package/src/core/lib/scope/scope-context.js +307 -0
- package/src/core/lib/scope/scope-initializer.js +458 -0
- package/src/core/lib/scope/scope-manager.js +512 -0
- package/src/core/lib/scope/scope-migrator.js +442 -0
- package/src/core/lib/scope/scope-sync.js +489 -0
- package/src/core/lib/scope/scope-validator.js +299 -0
- package/src/core/lib/scope/state-lock.js +342 -0
- package/src/core/module.yaml +53 -0
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/src/core/tasks/editorial-review-prose.xml +91 -0
- package/src/core/tasks/editorial-review-structure.xml +198 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +46 -0
- package/src/core/tasks/shard-doc.xml +109 -0
- package/src/core/tasks/workflow.xml +277 -0
- package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/src/core/workflows/brainstorming/template.md +15 -0
- package/src/core/workflows/brainstorming/workflow.md +58 -0
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
- package/src/core/workflows/party-mode/workflow.md +194 -0
- package/src/utility/agent-components/activation-rules.txt +6 -0
- package/src/utility/agent-components/activation-steps.txt +28 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/agent-components/agent.customize.template.yaml +41 -0
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-data.txt +5 -0
- package/src/utility/agent-components/handler-exec.txt +19 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/test/README.md +295 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/test-installation-components.js +214 -0
- package/test/test-scope-e2e.js +450 -0
- package/test/test-scope-system.js +787 -0
- package/test/unit-test-schema.js +133 -0
- package/tools/bmad-npx-wrapper.js +38 -0
- package/tools/build-docs.js +577 -0
- package/tools/cli/README.md +7 -0
- package/tools/cli/bmad-cli.js +58 -0
- package/tools/cli/commands/install.js +87 -0
- package/tools/cli/commands/scope.js +474 -0
- package/tools/cli/external-official-modules.yaml +41 -0
- package/tools/cli/installers/install-messages.yaml +58 -0
- package/tools/cli/installers/lib/core/config-collector.js +1079 -0
- package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
- package/tools/cli/installers/lib/core/detector.js +223 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
- package/tools/cli/installers/lib/core/installer.js +2585 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +963 -0
- package/tools/cli/installers/lib/core/manifest.js +590 -0
- package/tools/cli/installers/lib/custom/handler.js +363 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +654 -0
- package/tools/cli/installers/lib/ide/antigravity.js +486 -0
- package/tools/cli/installers/lib/ide/auggie.js +244 -0
- package/tools/cli/installers/lib/ide/claude-code.js +487 -0
- package/tools/cli/installers/lib/ide/cline.js +269 -0
- package/tools/cli/installers/lib/ide/codex.js +375 -0
- package/tools/cli/installers/lib/ide/crush.js +300 -0
- package/tools/cli/installers/lib/ide/cursor.js +169 -0
- package/tools/cli/installers/lib/ide/gemini.js +301 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +383 -0
- package/tools/cli/installers/lib/ide/iflow.js +191 -0
- package/tools/cli/installers/lib/ide/kilo.js +250 -0
- package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
- package/tools/cli/installers/lib/ide/manager.js +244 -0
- package/tools/cli/installers/lib/ide/opencode.js +257 -0
- package/tools/cli/installers/lib/ide/qwen.js +372 -0
- package/tools/cli/installers/lib/ide/roo.js +270 -0
- package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +96 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +158 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +119 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +242 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +29 -0
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +30 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +45 -0
- package/tools/cli/installers/lib/ide/trae.js +313 -0
- package/tools/cli/installers/lib/ide/windsurf.js +258 -0
- package/tools/cli/installers/lib/message-loader.js +85 -0
- package/tools/cli/installers/lib/modules/external-manager.js +133 -0
- package/tools/cli/installers/lib/modules/manager.js +1362 -0
- package/tools/cli/lib/activation-builder.js +163 -0
- package/tools/cli/lib/agent/compiler.js +522 -0
- package/tools/cli/lib/agent/installer.js +716 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/agent-analyzer.js +109 -0
- package/tools/cli/lib/agent-party-generator.js +194 -0
- package/tools/cli/lib/cli-utils.js +227 -0
- package/tools/cli/lib/config.js +213 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +77 -0
- package/tools/cli/lib/prompts.js +433 -0
- package/tools/cli/lib/ui.js +1591 -0
- package/tools/cli/lib/xml-handler.js +177 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/cli/lib/yaml-format.js +245 -0
- package/tools/cli/lib/yaml-xml-builder.js +587 -0
- package/tools/cli/scripts/migrate-workflows.js +281 -0
- package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
- package/tools/docs/index.md +2 -0
- package/tools/fix-doc-links.js +288 -0
- package/tools/flattener/aggregate.js +76 -0
- package/tools/flattener/binary.js +80 -0
- package/tools/flattener/discovery.js +71 -0
- package/tools/flattener/files.js +35 -0
- package/tools/flattener/ignoreRules.js +172 -0
- package/tools/flattener/main.js +483 -0
- package/tools/flattener/projectRoot.js +201 -0
- package/tools/flattener/prompts.js +44 -0
- package/tools/flattener/stats.helpers.js +368 -0
- package/tools/flattener/stats.js +75 -0
- package/tools/flattener/test-matrix.js +409 -0
- package/tools/flattener/xml.js +82 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/lib/xml-utils.js +13 -0
- package/tools/maintainer/review-pr-README.md +55 -0
- package/tools/maintainer/review-pr.md +242 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +157 -0
- package/tools/schema/agent.js +493 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-doc-links.js +363 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/website/README.md +76 -0
- package/website/astro.config.mjs +228 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/bmad-dark.png +0 -0
- package/website/public/img/bmad-light.png +0 -0
- package/website/public/img/logo.svg +4 -0
- package/website/public/robots.txt +37 -0
- package/website/src/components/Banner.astro +59 -0
- package/website/src/components/Header.astro +121 -0
- package/website/src/components/MobileMenuFooter.astro +53 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.js +25 -0
- package/website/src/rehype-markdown-links.js +102 -0
- package/website/src/styles/custom.css +485 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-09-functional'
|
|
3
|
+
description: 'Synthesize all discovery into comprehensive functional requirements'
|
|
4
|
+
|
|
5
|
+
# File References
|
|
6
|
+
nextStepFile: './step-10-nonfunctional.md'
|
|
7
|
+
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
+
|
|
9
|
+
# Task References
|
|
10
|
+
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
|
11
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Step 9: Functional Requirements Synthesis
|
|
15
|
+
|
|
16
|
+
**Progress: Step 9 of 11** - Next: Non-Functional Requirements
|
|
17
|
+
|
|
18
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
19
|
+
|
|
20
|
+
- 🛑 NEVER generate content without user input
|
|
21
|
+
|
|
22
|
+
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
|
23
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
|
24
|
+
- ✅ ALWAYS treat this as collaborative discovery between PM peers
|
|
25
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
26
|
+
- 💬 FOCUS on creating comprehensive capability inventory for the product
|
|
27
|
+
- 🎯 CRITICAL: This is THE CAPABILITY CONTRACT for all downstream work
|
|
28
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
29
|
+
|
|
30
|
+
## EXECUTION PROTOCOLS:
|
|
31
|
+
|
|
32
|
+
- 🎯 Show your analysis before taking any action
|
|
33
|
+
- ⚠️ Present A/P/C menu after generating functional requirements
|
|
34
|
+
- 💾 ONLY save when user chooses C (Continue)
|
|
35
|
+
- 📖 Update output file frontmatter, adding this step name to the end of the list of stepsCompleted
|
|
36
|
+
- 🚫 FORBIDDEN to load next step until C is selected
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## CONTEXT BOUNDARIES:
|
|
40
|
+
|
|
41
|
+
- Current document and frontmatter from previous steps are available
|
|
42
|
+
- ALL previous content (executive summary, success criteria, journeys, domain, innovation, project-type) must be referenced
|
|
43
|
+
- No additional data files needed for this step
|
|
44
|
+
- Focus on capabilities, not implementation details
|
|
45
|
+
|
|
46
|
+
## CRITICAL IMPORTANCE:
|
|
47
|
+
|
|
48
|
+
**This section defines THE CAPABILITY CONTRACT for the entire product:**
|
|
49
|
+
|
|
50
|
+
- UX designers will ONLY design what's listed here
|
|
51
|
+
- Architects will ONLY support what's listed here
|
|
52
|
+
- Epic breakdown will ONLY implement what's listed here
|
|
53
|
+
- If a capability is missing from FRs, it will NOT exist in the final product
|
|
54
|
+
|
|
55
|
+
## FUNCTIONAL REQUIREMENTS SYNTHESIS SEQUENCE:
|
|
56
|
+
|
|
57
|
+
### 1. Understand FR Purpose and Usage
|
|
58
|
+
|
|
59
|
+
Start by explaining the critical role of functional requirements:
|
|
60
|
+
|
|
61
|
+
**Purpose:**
|
|
62
|
+
FRs define WHAT capabilities the product must have. They are the complete inventory of user-facing and system capabilities that deliver the product vision.
|
|
63
|
+
|
|
64
|
+
**Critical Properties:**
|
|
65
|
+
✅ Each FR is a testable capability
|
|
66
|
+
✅ Each FR is implementation-agnostic (could be built many ways)
|
|
67
|
+
✅ Each FR specifies WHO and WHAT, not HOW
|
|
68
|
+
✅ No UI details, no performance numbers, no technology choices
|
|
69
|
+
✅ Comprehensive coverage of capability areas
|
|
70
|
+
|
|
71
|
+
**How They Will Be Used:**
|
|
72
|
+
|
|
73
|
+
1. UX Designer reads FRs → designs interactions for each capability
|
|
74
|
+
2. Architect reads FRs → designs systems to support each capability
|
|
75
|
+
3. PM reads FRs → creates epics and stories to implement each capability
|
|
76
|
+
|
|
77
|
+
### 2. Review Existing Content for Capability Extraction
|
|
78
|
+
|
|
79
|
+
Systematically review all previous sections to extract capabilities:
|
|
80
|
+
|
|
81
|
+
**Extract From:**
|
|
82
|
+
|
|
83
|
+
- Executive Summary → Core product differentiator capabilities
|
|
84
|
+
- Success Criteria → Success-enabling capabilities
|
|
85
|
+
- User Journeys → Journey-revealed capabilities
|
|
86
|
+
- Domain Requirements → Compliance and regulatory capabilities
|
|
87
|
+
- Innovation Patterns → Innovative feature capabilities
|
|
88
|
+
- Project-Type Requirements → Technical capability needs
|
|
89
|
+
|
|
90
|
+
### 3. Organize Requirements by Capability Area
|
|
91
|
+
|
|
92
|
+
Group FRs by logical capability areas (NOT by technology or layer):
|
|
93
|
+
|
|
94
|
+
**Good Grouping Examples:**
|
|
95
|
+
|
|
96
|
+
- ✅ "User Management" (not "Authentication System")
|
|
97
|
+
- ✅ "Content Discovery" (not "Search Algorithm")
|
|
98
|
+
- ✅ "Team Collaboration" (not "WebSocket Infrastructure")
|
|
99
|
+
|
|
100
|
+
**Target 5-8 Capability Areas** for typical projects.
|
|
101
|
+
|
|
102
|
+
### 4. Generate Comprehensive FR List
|
|
103
|
+
|
|
104
|
+
Create complete functional requirements using this format:
|
|
105
|
+
|
|
106
|
+
**Format:**
|
|
107
|
+
|
|
108
|
+
- FR#: [Actor] can [capability] [context/constraint if needed]
|
|
109
|
+
- Number sequentially (FR1, FR2, FR3...)
|
|
110
|
+
- Aim for 20-50 FRs for typical projects
|
|
111
|
+
|
|
112
|
+
**Altitude Check:**
|
|
113
|
+
Each FR should answer "WHAT capability exists?" NOT "HOW it's implemented?"
|
|
114
|
+
|
|
115
|
+
**Examples:**
|
|
116
|
+
|
|
117
|
+
- ✅ "Users can customize appearance settings"
|
|
118
|
+
- ❌ "Users can toggle light/dark theme with 3 font size options stored in LocalStorage"
|
|
119
|
+
|
|
120
|
+
### 5. Self-Validation Process
|
|
121
|
+
|
|
122
|
+
Before presenting to user, validate the FR list:
|
|
123
|
+
|
|
124
|
+
**Completeness Check:**
|
|
125
|
+
|
|
126
|
+
1. "Did I cover EVERY capability mentioned in the MVP scope section?"
|
|
127
|
+
2. "Did I include domain-specific requirements as FRs?"
|
|
128
|
+
3. "Did I cover the project-type specific needs?"
|
|
129
|
+
4. "Could a UX designer read ONLY the FRs and know what to design?"
|
|
130
|
+
5. "Could an Architect read ONLY the FRs and know what to support?"
|
|
131
|
+
6. "Are there any user actions or system behaviors we discussed that have no FR?"
|
|
132
|
+
|
|
133
|
+
**Altitude Check:**
|
|
134
|
+
|
|
135
|
+
1. "Am I stating capabilities (WHAT) or implementation (HOW)?"
|
|
136
|
+
2. "Am I listing acceptance criteria or UI specifics?" (Remove if yes)
|
|
137
|
+
3. "Could this FR be implemented 5 different ways?" (Good - means it's not prescriptive)
|
|
138
|
+
|
|
139
|
+
**Quality Check:**
|
|
140
|
+
|
|
141
|
+
1. "Is each FR clear enough that someone could test whether it exists?"
|
|
142
|
+
2. "Is each FR independent (not dependent on reading other FRs to understand)?"
|
|
143
|
+
3. "Did I avoid vague terms like 'good', 'fast', 'easy'?" (Use NFRs for quality attributes)
|
|
144
|
+
|
|
145
|
+
### 6. Generate Functional Requirements Content
|
|
146
|
+
|
|
147
|
+
Prepare the content to append to the document:
|
|
148
|
+
|
|
149
|
+
#### Content Structure:
|
|
150
|
+
|
|
151
|
+
When saving to document, append these Level 2 and Level 3 sections:
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
## Functional Requirements
|
|
155
|
+
|
|
156
|
+
### [Capability Area Name]
|
|
157
|
+
|
|
158
|
+
- FR1: [Specific Actor] can [specific capability]
|
|
159
|
+
- FR2: [Specific Actor] can [specific capability]
|
|
160
|
+
- FR3: [Specific Actor] can [specific capability]
|
|
161
|
+
|
|
162
|
+
### [Another Capability Area]
|
|
163
|
+
|
|
164
|
+
- FR4: [Specific Actor] can [specific capability]
|
|
165
|
+
- FR5: [Specific Actor] can [specific capability]
|
|
166
|
+
|
|
167
|
+
[Continue for all capability areas discovered in conversation]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 7. Present MENU OPTIONS
|
|
171
|
+
|
|
172
|
+
Present the functional requirements for review, then display menu:
|
|
173
|
+
- Show synthesized functional requirements (using structure from step 6)
|
|
174
|
+
- Emphasize this is the capability contract for all downstream work
|
|
175
|
+
- Highlight that every feature must trace back to these requirements
|
|
176
|
+
- Ask if they'd like to refine further, get other perspectives, or proceed
|
|
177
|
+
- Present menu options naturally as part of conversation
|
|
178
|
+
|
|
179
|
+
**What would you like to do?**"
|
|
180
|
+
|
|
181
|
+
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Non-Functional Requirements (Step 10 of 11)"
|
|
182
|
+
|
|
183
|
+
#### Menu Handling Logic:
|
|
184
|
+
- IF A: Execute {advancedElicitationTask} with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
185
|
+
- IF P: Execute {partyModeWorkflow} with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
186
|
+
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile}
|
|
187
|
+
- IF Any other: help user respond, then redisplay menu
|
|
188
|
+
|
|
189
|
+
#### EXECUTION RULES:
|
|
190
|
+
- ALWAYS halt and wait for user input after presenting menu
|
|
191
|
+
- ONLY proceed to next step when user selects 'C'
|
|
192
|
+
- After other menu items execution, return to this menu
|
|
193
|
+
|
|
194
|
+
## APPEND TO DOCUMENT:
|
|
195
|
+
|
|
196
|
+
When user selects 'C', append the content directly to the document using the structure from step 6.
|
|
197
|
+
|
|
198
|
+
## SUCCESS METRICS:
|
|
199
|
+
|
|
200
|
+
✅ All previous discovery content synthesized into FRs
|
|
201
|
+
✅ FRs organized by capability areas (not technology)
|
|
202
|
+
✅ Each FR states WHAT capability exists, not HOW to implement
|
|
203
|
+
✅ Comprehensive coverage with 20-50 FRs typical
|
|
204
|
+
✅ Altitude validation ensures implementation-agnostic requirements
|
|
205
|
+
✅ Completeness check validates coverage of all discussed capabilities
|
|
206
|
+
✅ A/P/C menu presented and handled correctly
|
|
207
|
+
✅ Content properly appended to document when C selected
|
|
208
|
+
|
|
209
|
+
## FAILURE MODES:
|
|
210
|
+
|
|
211
|
+
❌ Missing capabilities from previous discovery sections
|
|
212
|
+
❌ Organizing FRs by technology instead of capability areas
|
|
213
|
+
❌ Including implementation details or UI specifics in FRs
|
|
214
|
+
❌ Not achieving comprehensive coverage of discussed capabilities
|
|
215
|
+
❌ Using vague terms instead of testable capabilities
|
|
216
|
+
❌ Not presenting A/P/C menu after content generation
|
|
217
|
+
❌ Appending content without user selecting 'C'
|
|
218
|
+
|
|
219
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
220
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
221
|
+
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
|
222
|
+
|
|
223
|
+
## CAPABILITY CONTRACT REMINDER:
|
|
224
|
+
|
|
225
|
+
Emphasize to user: "This FR list is now binding. Any feature not listed here will not exist in the final product unless we explicitly add it. This is why it's critical to ensure completeness now."
|
|
226
|
+
|
|
227
|
+
## NEXT STEP:
|
|
228
|
+
|
|
229
|
+
After user selects 'C' and content is saved to document, load {nextStepFile} to define non-functional requirements.
|
|
230
|
+
|
|
231
|
+
Remember: Do NOT proceed to step-10 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-10-nonfunctional'
|
|
3
|
+
description: 'Define quality attributes that matter for this specific product'
|
|
4
|
+
|
|
5
|
+
# File References
|
|
6
|
+
nextStepFile: './step-11-polish.md'
|
|
7
|
+
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
+
|
|
9
|
+
# Task References
|
|
10
|
+
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
|
11
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Step 10: Non-Functional Requirements
|
|
15
|
+
|
|
16
|
+
**Progress: Step 10 of 12** - Next: Polish Document
|
|
17
|
+
|
|
18
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
19
|
+
|
|
20
|
+
- 🛑 NEVER generate content without user input
|
|
21
|
+
|
|
22
|
+
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
|
23
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
|
24
|
+
- ✅ ALWAYS treat this as collaborative discovery between PM peers
|
|
25
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
26
|
+
- 💬 FOCUS on quality attributes that matter for THIS specific product
|
|
27
|
+
- 🎯 SELECTIVE: Only document NFRs that actually apply to the product
|
|
28
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
29
|
+
|
|
30
|
+
## EXECUTION PROTOCOLS:
|
|
31
|
+
|
|
32
|
+
- 🎯 Show your analysis before taking any action
|
|
33
|
+
- ⚠️ Present A/P/C menu after generating NFR content
|
|
34
|
+
- 💾 ONLY save when user chooses C (Continue)
|
|
35
|
+
- 📖 Update output file frontmatter, adding this step name to the end of the list of stepsCompleted
|
|
36
|
+
- 🚫 FORBIDDEN to load next step until C is selected
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## CONTEXT BOUNDARIES:
|
|
40
|
+
|
|
41
|
+
- Current document and frontmatter from previous steps are available
|
|
42
|
+
- Functional requirements already defined and will inform NFRs
|
|
43
|
+
- Domain and project-type context will guide which NFRs matter
|
|
44
|
+
- Focus on specific, measurable quality criteria
|
|
45
|
+
|
|
46
|
+
## YOUR TASK:
|
|
47
|
+
|
|
48
|
+
Define non-functional requirements that specify quality attributes for the product, focusing only on what matters for THIS specific product.
|
|
49
|
+
|
|
50
|
+
## NON-FUNCTIONAL REQUIREMENTS SEQUENCE:
|
|
51
|
+
|
|
52
|
+
### 1. Explain NFR Purpose and Scope
|
|
53
|
+
|
|
54
|
+
Start by clarifying what NFRs are and why we're selective:
|
|
55
|
+
|
|
56
|
+
**NFR Purpose:**
|
|
57
|
+
NFRs define HOW WELL the system must perform, not WHAT it must do. They specify quality attributes like performance, security, scalability, etc.
|
|
58
|
+
|
|
59
|
+
**Selective Approach:**
|
|
60
|
+
We only document NFRs that matter for THIS product. If a category doesn't apply, we skip it entirely. This prevents requirement bloat and focuses on what's actually important.
|
|
61
|
+
|
|
62
|
+
### 2. Assess Product Context for NFR Relevance
|
|
63
|
+
|
|
64
|
+
Evaluate which NFR categories matter based on product context:
|
|
65
|
+
|
|
66
|
+
**Quick Assessment Questions:**
|
|
67
|
+
|
|
68
|
+
- **Performance**: Is there user-facing impact of speed?
|
|
69
|
+
- **Security**: Are we handling sensitive data or payments?
|
|
70
|
+
- **Scalability**: Do we expect rapid user growth?
|
|
71
|
+
- **Accessibility**: Are we serving broad public audiences?
|
|
72
|
+
- **Integration**: Do we need to connect with other systems?
|
|
73
|
+
- **Reliability**: Would downtime cause significant problems?
|
|
74
|
+
|
|
75
|
+
### 3. Explore Relevant NFR Categories
|
|
76
|
+
|
|
77
|
+
For each relevant category, conduct targeted discovery:
|
|
78
|
+
|
|
79
|
+
#### Performance NFRs (If relevant):
|
|
80
|
+
|
|
81
|
+
Explore performance requirements:
|
|
82
|
+
- What parts of the system need to be fast for users to be successful?
|
|
83
|
+
- Are there specific response time expectations?
|
|
84
|
+
- What happens if performance is slower than expected?
|
|
85
|
+
- Are there concurrent user scenarios we need to support?
|
|
86
|
+
|
|
87
|
+
#### Security NFRs (If relevant):
|
|
88
|
+
|
|
89
|
+
Explore security requirements:
|
|
90
|
+
- What data needs to be protected?
|
|
91
|
+
- Who should have access to what?
|
|
92
|
+
- What are the security risks we need to mitigate?
|
|
93
|
+
- Are there compliance requirements (GDPR, HIPAA, PCI-DSS)?
|
|
94
|
+
|
|
95
|
+
#### Scalability NFRs (If relevant):
|
|
96
|
+
|
|
97
|
+
Explore scalability requirements:
|
|
98
|
+
- How many users do we expect initially? Long-term?
|
|
99
|
+
- Are there seasonal or event-based traffic spikes?
|
|
100
|
+
- What happens if we exceed our capacity?
|
|
101
|
+
- What growth scenarios should we plan for?
|
|
102
|
+
|
|
103
|
+
#### Accessibility NFRs (If relevant):
|
|
104
|
+
|
|
105
|
+
Explore accessibility requirements:
|
|
106
|
+
- Are we serving users with visual, hearing, or motor impairments?
|
|
107
|
+
- Are there legal accessibility requirements (WCAG, Section 508)?
|
|
108
|
+
- What accessibility features are most important for our users?
|
|
109
|
+
|
|
110
|
+
#### Integration NFRs (If relevant):
|
|
111
|
+
|
|
112
|
+
Explore integration requirements:
|
|
113
|
+
- What external systems do we need to connect with?
|
|
114
|
+
- Are there APIs or data formats we must support?
|
|
115
|
+
- How reliable do these integrations need to be?
|
|
116
|
+
|
|
117
|
+
### 4. Make NFRs Specific and Measurable
|
|
118
|
+
|
|
119
|
+
For each relevant NFR category, ensure criteria are testable:
|
|
120
|
+
|
|
121
|
+
**From Vague to Specific:**
|
|
122
|
+
|
|
123
|
+
- NOT: "The system should be fast" → "User actions complete within 2 seconds"
|
|
124
|
+
- NOT: "The system should be secure" → "All data is encrypted at rest and in transit"
|
|
125
|
+
- NOT: "The system should scale" → "System supports 10x user growth with <10% performance degradation"
|
|
126
|
+
|
|
127
|
+
### 5. Generate NFR Content (Only Relevant Categories)
|
|
128
|
+
|
|
129
|
+
Prepare the content to append to the document:
|
|
130
|
+
|
|
131
|
+
#### Content Structure (Dynamic based on relevance):
|
|
132
|
+
|
|
133
|
+
When saving to document, append these Level 2 and Level 3 sections (only include sections that are relevant):
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
## Non-Functional Requirements
|
|
137
|
+
|
|
138
|
+
### Performance
|
|
139
|
+
|
|
140
|
+
[Performance requirements based on conversation - only include if relevant]
|
|
141
|
+
|
|
142
|
+
### Security
|
|
143
|
+
|
|
144
|
+
[Security requirements based on conversation - only include if relevant]
|
|
145
|
+
|
|
146
|
+
### Scalability
|
|
147
|
+
|
|
148
|
+
[Scalability requirements based on conversation - only include if relevant]
|
|
149
|
+
|
|
150
|
+
### Accessibility
|
|
151
|
+
|
|
152
|
+
[Accessibility requirements based on conversation - only include if relevant]
|
|
153
|
+
|
|
154
|
+
### Integration
|
|
155
|
+
|
|
156
|
+
[Integration requirements based on conversation - only include if relevant]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 6. Present MENU OPTIONS
|
|
160
|
+
|
|
161
|
+
Present the non-functional requirements for review, then display menu:
|
|
162
|
+
- Show defined NFRs (using structure from step 5)
|
|
163
|
+
- Note that only relevant categories were included
|
|
164
|
+
- Emphasize NFRs specify how well the system needs to perform
|
|
165
|
+
- Ask if they'd like to refine further, get other perspectives, or proceed
|
|
166
|
+
- Present menu options naturally as part of conversation
|
|
167
|
+
|
|
168
|
+
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)"
|
|
169
|
+
|
|
170
|
+
#### Menu Handling Logic:
|
|
171
|
+
- IF A: Execute {advancedElicitationTask} with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
172
|
+
- IF P: Execute {partyModeWorkflow} with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
173
|
+
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile}
|
|
174
|
+
- IF Any other: help user respond, then redisplay menu
|
|
175
|
+
|
|
176
|
+
#### EXECUTION RULES:
|
|
177
|
+
- ALWAYS halt and wait for user input after presenting menu
|
|
178
|
+
- ONLY proceed to next step when user selects 'C'
|
|
179
|
+
- After other menu items execution, return to this menu
|
|
180
|
+
|
|
181
|
+
## APPEND TO DOCUMENT:
|
|
182
|
+
|
|
183
|
+
When user selects 'C', append the content directly to the document using the structure from step 5.
|
|
184
|
+
|
|
185
|
+
## SUCCESS METRICS:
|
|
186
|
+
|
|
187
|
+
✅ Only relevant NFR categories documented (no requirement bloat)
|
|
188
|
+
✅ Each NFR is specific and measurable
|
|
189
|
+
✅ NFRs connected to actual user needs and business context
|
|
190
|
+
✅ Vague requirements converted to testable criteria
|
|
191
|
+
✅ Domain-specific compliance requirements included if relevant
|
|
192
|
+
✅ A/P/C menu presented and handled correctly
|
|
193
|
+
✅ Content properly appended to document when C selected
|
|
194
|
+
|
|
195
|
+
## FAILURE MODES:
|
|
196
|
+
|
|
197
|
+
❌ Documenting NFR categories that don't apply to the product
|
|
198
|
+
❌ Leaving requirements vague and unmeasurable
|
|
199
|
+
❌ Not connecting NFRs to actual user or business needs
|
|
200
|
+
❌ Missing domain-specific compliance requirements
|
|
201
|
+
❌ Creating overly prescriptive technical requirements
|
|
202
|
+
❌ Not presenting A/P/C menu after content generation
|
|
203
|
+
❌ Appending content without user selecting 'C'
|
|
204
|
+
|
|
205
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
206
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
207
|
+
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
|
208
|
+
|
|
209
|
+
## NFR CATEGORY GUIDANCE:
|
|
210
|
+
|
|
211
|
+
**Include Performance When:**
|
|
212
|
+
|
|
213
|
+
- User-facing response times impact success
|
|
214
|
+
- Real-time interactions are critical
|
|
215
|
+
- Performance is a competitive differentiator
|
|
216
|
+
|
|
217
|
+
**Include Security When:**
|
|
218
|
+
|
|
219
|
+
- Handling sensitive user data
|
|
220
|
+
- Processing payments or financial information
|
|
221
|
+
- Subject to compliance regulations
|
|
222
|
+
- Protecting intellectual property
|
|
223
|
+
|
|
224
|
+
**Include Scalability When:**
|
|
225
|
+
|
|
226
|
+
- Expecting rapid user growth
|
|
227
|
+
- Handling variable traffic patterns
|
|
228
|
+
- Supporting enterprise-scale usage
|
|
229
|
+
- Planning for market expansion
|
|
230
|
+
|
|
231
|
+
**Include Accessibility When:**
|
|
232
|
+
|
|
233
|
+
- Serving broad public audiences
|
|
234
|
+
- Subject to accessibility regulations
|
|
235
|
+
- Targeting users with disabilities
|
|
236
|
+
- B2B customers with accessibility requirements
|
|
237
|
+
|
|
238
|
+
## NEXT STEP:
|
|
239
|
+
|
|
240
|
+
After user selects 'C' and content is saved to document, load {nextStepFile} to finalize the PRD and complete the workflow.
|
|
241
|
+
|
|
242
|
+
Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-11-polish'
|
|
3
|
+
description: 'Optimize and polish the complete PRD document for flow, coherence, and readability'
|
|
4
|
+
|
|
5
|
+
# File References
|
|
6
|
+
nextStepFile: './step-12-complete.md'
|
|
7
|
+
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
+
purposeFile: './data/prd-purpose.md'
|
|
9
|
+
|
|
10
|
+
# Task References
|
|
11
|
+
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
|
12
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Step 11: Document Polish
|
|
16
|
+
|
|
17
|
+
**Progress: Step 11 of 12** - Next: Complete PRD
|
|
18
|
+
|
|
19
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
20
|
+
|
|
21
|
+
- 🛑 CRITICAL: Load the ENTIRE document before making changes
|
|
22
|
+
- 📖 CRITICAL: Read complete step file before taking action
|
|
23
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
24
|
+
- ✅ This is a POLISH step - optimize existing content
|
|
25
|
+
- 📋 IMPROVE flow, coherence, and readability
|
|
26
|
+
- 💬 PRESERVE user's voice and intent
|
|
27
|
+
- 🎯 MAINTAIN all essential information while improving presentation
|
|
28
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
29
|
+
|
|
30
|
+
## EXECUTION PROTOCOLS:
|
|
31
|
+
|
|
32
|
+
- 🎯 Load complete document first
|
|
33
|
+
- 📝 Review for flow and coherence issues
|
|
34
|
+
- ✂️ Reduce duplication while preserving essential info
|
|
35
|
+
- 📖 Ensure proper ## Level 2 headers throughout
|
|
36
|
+
- 💾 Save optimized document
|
|
37
|
+
- ⚠️ Present A/P/C menu after polish
|
|
38
|
+
- 🚫 DO NOT skip review steps
|
|
39
|
+
|
|
40
|
+
## CONTEXT BOUNDARIES:
|
|
41
|
+
|
|
42
|
+
- Complete PRD document exists from all previous steps
|
|
43
|
+
- Document may have duplication from progressive append
|
|
44
|
+
- Sections may not flow smoothly together
|
|
45
|
+
- Level 2 headers ensure document can be split if needed
|
|
46
|
+
- Focus on readability and coherence
|
|
47
|
+
|
|
48
|
+
## YOUR TASK:
|
|
49
|
+
|
|
50
|
+
Optimize the complete PRD document for flow, coherence, and professional presentation while preserving all essential information.
|
|
51
|
+
|
|
52
|
+
## DOCUMENT POLISH SEQUENCE:
|
|
53
|
+
|
|
54
|
+
### 1. Load Context and Document
|
|
55
|
+
|
|
56
|
+
**CRITICAL:** Load the PRD purpose document first:
|
|
57
|
+
|
|
58
|
+
- Read `{purposeFile}` to understand what makes a great BMAD PRD
|
|
59
|
+
- Internalize the philosophy: information density, traceability, measurable requirements
|
|
60
|
+
- Keep the dual-audience nature (humans + LLMs) in mind
|
|
61
|
+
|
|
62
|
+
**Then Load the PRD Document:**
|
|
63
|
+
|
|
64
|
+
- Read `{outputFile}` completely from start to finish
|
|
65
|
+
- Understand the full document structure and content
|
|
66
|
+
- Identify all sections and their relationships
|
|
67
|
+
- Note areas that need attention
|
|
68
|
+
|
|
69
|
+
### 2. Document Quality Review
|
|
70
|
+
|
|
71
|
+
Review the entire document with PRD purpose principles in mind:
|
|
72
|
+
|
|
73
|
+
**Information Density:**
|
|
74
|
+
- Are there wordy phrases that can be condensed?
|
|
75
|
+
- Is conversational padding present?
|
|
76
|
+
- Can sentences be more direct and concise?
|
|
77
|
+
|
|
78
|
+
**Flow and Coherence:**
|
|
79
|
+
- Do sections transition smoothly?
|
|
80
|
+
- Are there jarring topic shifts?
|
|
81
|
+
- Does the document tell a cohesive story?
|
|
82
|
+
- Is the progression logical for readers?
|
|
83
|
+
|
|
84
|
+
**Duplication Detection:**
|
|
85
|
+
- Are ideas repeated across sections?
|
|
86
|
+
- Is the same information stated multiple times?
|
|
87
|
+
- Can redundant content be consolidated?
|
|
88
|
+
- Are there contradictory statements?
|
|
89
|
+
|
|
90
|
+
**Header Structure:**
|
|
91
|
+
- Are all main sections using ## Level 2 headers?
|
|
92
|
+
- Is the hierarchy consistent (##, ###, ####)?
|
|
93
|
+
- Can sections be easily extracted or referenced?
|
|
94
|
+
- Are headers descriptive and clear?
|
|
95
|
+
|
|
96
|
+
**Readability:**
|
|
97
|
+
- Are sentences clear and concise?
|
|
98
|
+
- Is the language consistent throughout?
|
|
99
|
+
- Are technical terms used appropriately?
|
|
100
|
+
- Would stakeholders find this easy to understand?
|
|
101
|
+
|
|
102
|
+
### 3. Optimization Actions
|
|
103
|
+
|
|
104
|
+
Make targeted improvements:
|
|
105
|
+
|
|
106
|
+
**Improve Flow:**
|
|
107
|
+
- Add transition sentences between sections
|
|
108
|
+
- Smooth out jarring topic shifts
|
|
109
|
+
- Ensure logical progression
|
|
110
|
+
- Connect related concepts across sections
|
|
111
|
+
|
|
112
|
+
**Reduce Duplication:**
|
|
113
|
+
- Consolidate repeated information
|
|
114
|
+
- Keep content in the most appropriate section
|
|
115
|
+
- Use cross-references instead of repetition
|
|
116
|
+
- Remove redundant explanations
|
|
117
|
+
|
|
118
|
+
**Enhance Coherence:**
|
|
119
|
+
- Ensure consistent terminology throughout
|
|
120
|
+
- Align all sections with product differentiator
|
|
121
|
+
- Maintain consistent voice and tone
|
|
122
|
+
- Verify scope consistency across sections
|
|
123
|
+
|
|
124
|
+
**Optimize Headers:**
|
|
125
|
+
- Ensure all main sections use ## Level 2
|
|
126
|
+
- Make headers descriptive and action-oriented
|
|
127
|
+
- Check that headers follow consistent patterns
|
|
128
|
+
- Verify headers support document navigation
|
|
129
|
+
|
|
130
|
+
### 4. Preserve Critical Information
|
|
131
|
+
|
|
132
|
+
**While optimizing, ensure NOTHING essential is lost:**
|
|
133
|
+
|
|
134
|
+
**Must Preserve:**
|
|
135
|
+
- All user success criteria
|
|
136
|
+
- All functional requirements (capability contract)
|
|
137
|
+
- All user journey narratives
|
|
138
|
+
- All scope decisions (MVP, Growth, Vision)
|
|
139
|
+
- All non-functional requirements
|
|
140
|
+
- Product differentiator and vision
|
|
141
|
+
- Domain-specific requirements
|
|
142
|
+
- Innovation analysis (if present)
|
|
143
|
+
|
|
144
|
+
**Can Consolidate:**
|
|
145
|
+
- Repeated explanations of the same concept
|
|
146
|
+
- Redundant background information
|
|
147
|
+
- Multiple versions of similar content
|
|
148
|
+
- Overlapping examples
|
|
149
|
+
|
|
150
|
+
### 5. Generate Optimized Document
|
|
151
|
+
|
|
152
|
+
Create the polished version:
|
|
153
|
+
|
|
154
|
+
**Polishing Process:**
|
|
155
|
+
1. Start with original document
|
|
156
|
+
2. Apply all optimization actions
|
|
157
|
+
3. Review to ensure nothing essential was lost
|
|
158
|
+
4. Verify improvements enhance readability
|
|
159
|
+
5. Prepare optimized version for review
|
|
160
|
+
|
|
161
|
+
### 6. Present MENU OPTIONS
|
|
162
|
+
|
|
163
|
+
Present the polished document for review, then display menu:
|
|
164
|
+
- Show what changed in the polish
|
|
165
|
+
- Highlight improvements made (flow, duplication, headers)
|
|
166
|
+
- Ask if they'd like to refine further, get other perspectives, or proceed
|
|
167
|
+
- Present menu options naturally as part of conversation
|
|
168
|
+
|
|
169
|
+
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Complete PRD (Step 12 of 12)"
|
|
170
|
+
|
|
171
|
+
#### Menu Handling Logic:
|
|
172
|
+
- IF A: Execute {advancedElicitationTask} with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
|
|
173
|
+
- IF P: Execute {partyModeWorkflow} with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
|
|
174
|
+
- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile}
|
|
175
|
+
- IF Any other: help user respond, then redisplay menu
|
|
176
|
+
|
|
177
|
+
#### EXECUTION RULES:
|
|
178
|
+
- ALWAYS halt and wait for user input after presenting menu
|
|
179
|
+
- ONLY proceed to next step when user selects 'C'
|
|
180
|
+
- After other menu items execution, return to this menu
|
|
181
|
+
|
|
182
|
+
## APPEND TO DOCUMENT:
|
|
183
|
+
|
|
184
|
+
When user selects 'C', replace the entire document content with the polished version.
|
|
185
|
+
|
|
186
|
+
## SUCCESS METRICS:
|
|
187
|
+
|
|
188
|
+
✅ Complete document loaded and reviewed
|
|
189
|
+
✅ Flow and coherence improved
|
|
190
|
+
✅ Duplication reduced while preserving essential information
|
|
191
|
+
✅ All main sections use ## Level 2 headers
|
|
192
|
+
✅ Transitions between sections are smooth
|
|
193
|
+
✅ User's voice and intent preserved
|
|
194
|
+
✅ Document is more readable and professional
|
|
195
|
+
✅ A/P/C menu presented and handled correctly
|
|
196
|
+
✅ Polished document saved when C selected
|
|
197
|
+
|
|
198
|
+
## FAILURE MODES:
|
|
199
|
+
|
|
200
|
+
❌ Loading only partial document (leads to incomplete polish)
|
|
201
|
+
❌ Removing essential information while reducing duplication
|
|
202
|
+
❌ Not preserving user's voice and intent
|
|
203
|
+
❌ Changing content instead of improving presentation
|
|
204
|
+
❌ Not ensuring ## Level 2 headers for main sections
|
|
205
|
+
❌ Making arbitrary style changes instead of coherence improvements
|
|
206
|
+
❌ Not presenting A/P/C menu for user approval
|
|
207
|
+
❌ Saving polished document without user selecting 'C'
|
|
208
|
+
|
|
209
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
210
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
211
|
+
❌ **CRITICAL**: Making changes without complete understanding of document requirements
|
|
212
|
+
|
|
213
|
+
## NEXT STEP:
|
|
214
|
+
|
|
215
|
+
After user selects 'C' and polished document is saved, load `./step-12-complete.md` to complete the workflow.
|
|
216
|
+
|
|
217
|
+
Remember: Do NOT proceed to step-12 until user explicitly selects 'C' from the A/P/C menu and polished document is saved!
|