bmad-method 6.0.0-alpha.22 → 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 +2 -2
- package/.github/workflows/docs.yaml +3 -12
- package/CHANGELOG.md +153 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +9 -7
- package/README.md +40 -198
- package/docs/404.md +9 -0
- package/docs/{modules/bmm-bmad-method/images/README.md → _README_WORKFLOW_DIAGRAMS.md} +4 -1
- package/docs/_STYLE_GUIDE.md +347 -0
- package/docs/_archive/getting-started-bmadv4.md +247 -0
- package/{website/src/pages → docs}/downloads.md +17 -11
- package/docs/{modules/bmm-bmad-method/quick-flow-solo-dev.md → explanation/agents/barry-quick-flow.md} +18 -15
- package/docs/explanation/agents/index.md +28 -0
- package/docs/explanation/architecture/four-phases.md +126 -0
- package/docs/explanation/architecture/preventing-agent-conflicts.md +138 -0
- package/docs/explanation/architecture/why-solutioning-matters.md +91 -0
- package/docs/{modules/bmb-bmad-builder/custom-content.md → explanation/bmad-builder/custom-content-types.md} +17 -18
- package/docs/explanation/bmad-builder/index.md +66 -0
- package/docs/{modules/bmm-bmad-method → explanation/bmm}/index.md +27 -22
- package/docs/explanation/core/index.md +18 -0
- package/docs/explanation/core-concepts/agent-roles.md +204 -0
- package/docs/explanation/core-concepts/index.md +40 -0
- package/docs/{bmad-core-concepts/agents.md → explanation/core-concepts/what-are-agents.md} +8 -5
- package/docs/{bmad-core-concepts/modules.md → explanation/core-concepts/what-are-modules.md} +12 -9
- package/docs/explanation/core-concepts/what-are-workflows.md +217 -0
- package/docs/{modules/cis-creative-intelligence-suite → explanation/creative-intelligence}/index.md +26 -54
- package/docs/explanation/faq/brownfield-faq.md +73 -0
- package/docs/explanation/faq/getting-started-faq.md +62 -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 +253 -0
- package/docs/explanation/faq/workflows-faq.md +61 -0
- package/docs/{modules/core → explanation/features}/advanced-elicitation.md +5 -2
- package/docs/{modules/core/brainstorming.md → explanation/features/brainstorming-techniques.md} +4 -1
- package/docs/{modules/bmm-bmad-method → explanation/features}/party-mode.md +7 -9
- package/docs/explanation/features/quick-flow.md +169 -0
- package/docs/{modules/bmm-bmad-method/test-architecture.md → explanation/features/tea-overview.md} +144 -98
- package/docs/{bmad-core-concepts/web-bundles/index.md → explanation/features/web-bundles.md} +6 -5
- package/docs/{modules/bmgd-bmad-game-dev/agents-guide.md → explanation/game-dev/agents.md} +8 -5
- package/docs/explanation/game-dev/bmgd-vs-bmm.md +150 -0
- package/docs/{modules/bmgd-bmad-game-dev/game-types-guide.md → explanation/game-dev/game-types.md} +7 -4
- package/docs/explanation/game-dev/index.md +85 -0
- package/docs/explanation/philosophy/facilitation-over-generation.md +121 -0
- package/docs/explanation/philosophy/testing-as-engineering.md +119 -0
- package/docs/how-to/brownfield/add-feature-to-existing.md +91 -0
- package/docs/how-to/brownfield/document-existing-project.md +84 -0
- package/docs/how-to/brownfield/index.md +102 -0
- package/docs/how-to/brownfield/quick-fix-in-brownfield.md +94 -0
- package/docs/{bmad-core-concepts/bmad-customization/agents.md → how-to/customization/customize-agents.md} +8 -10
- package/docs/{bmad-core-concepts/bmad-customization/workflows.md → how-to/customization/customize-workflows.md} +8 -5
- package/docs/how-to/customization/index.md +27 -0
- package/docs/{modules/core/document-sharding-guide.md → how-to/customization/shard-large-documents.md} +9 -17
- package/docs/{modules/bmb-bmad-builder/workflow-vendoring-customization-inheritance.md → how-to/customization/vendor-workflows.md} +4 -1
- package/docs/how-to/get-answers-about-bmad.md +98 -0
- package/docs/how-to/installation/index.md +15 -0
- package/docs/how-to/installation/install-bmad.md +138 -0
- package/docs/{modules/bmb-bmad-builder/custom-content-installation.md → how-to/installation/install-custom-modules.md} +12 -9
- package/docs/{bmad-core-concepts/installing/upgrading.md → how-to/installation/upgrade-to-v6.md} +6 -3
- package/docs/{modules/bmgd-bmad-game-dev/troubleshooting.md → how-to/troubleshooting/bmgd-troubleshooting.md} +7 -5
- package/docs/{modules/bmgd-bmad-game-dev/quick-flow-guide.md → how-to/workflows/bmgd-quick-flow.md} +8 -5
- package/docs/how-to/workflows/conduct-research.md +130 -0
- package/docs/how-to/workflows/create-architecture.md +147 -0
- package/docs/how-to/workflows/create-epics-and-stories.md +136 -0
- package/docs/how-to/workflows/create-prd.md +130 -0
- package/docs/how-to/workflows/create-product-brief.md +117 -0
- package/docs/how-to/workflows/create-story.md +119 -0
- package/docs/how-to/workflows/create-ux-design.md +117 -0
- package/docs/how-to/workflows/implement-story.md +127 -0
- package/docs/how-to/workflows/quick-spec.md +159 -0
- package/docs/how-to/workflows/run-brainstorming-session.md +94 -0
- package/docs/how-to/workflows/run-code-review.md +141 -0
- package/docs/how-to/workflows/run-implementation-readiness.md +162 -0
- package/docs/how-to/workflows/run-sprint-planning.md +111 -0
- package/docs/how-to/workflows/run-test-design.md +128 -0
- package/docs/how-to/workflows/setup-party-mode.md +117 -0
- package/docs/how-to/workflows/setup-test-framework.md +113 -0
- package/docs/index.md +35 -83
- package/docs/{modules/bmm-bmad-method/agents-guide.md → reference/agents/index.md} +36 -39
- package/docs/{modules/core → reference/configuration}/core-tasks.md +5 -2
- package/docs/{modules/core/global-core-config.md → reference/configuration/global-config.md} +4 -1
- package/docs/{modules/bmm-bmad-method/glossary.md → reference/glossary/index.md} +90 -24
- package/docs/{modules/bmgd-bmad-game-dev/workflows-guide.md → reference/workflows/bmgd-workflows.md} +11 -8
- package/docs/{modules/core → reference/workflows}/core-workflows.md +9 -6
- package/docs/{modules/bmm-bmad-method/workflow-document-project-reference.md → reference/workflows/document-project.md} +7 -4
- package/docs/reference/workflows/index.md +16 -0
- package/docs/tutorials/advanced/create-custom-agent.md +171 -0
- package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
- package/docs/tutorials/getting-started/quick-start-bmgd.md +260 -0
- package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
- package/eslint.config.mjs +2 -2
- package/package.json +10 -10
- package/samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +1 -0
- package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +1 -1
- package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +1 -1
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md +3 -3
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md +2 -2
- package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +1 -1
- package/samples/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml +1 -0
- package/src/core/agents/bmad-master.agent.yaml +1 -0
- package/src/core/tasks/shard-doc.xml +2 -2
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +68 -9
- package/src/core/workflows/brainstorming/workflow.md +7 -0
- package/src/modules/bmb/agents/agent-builder.agent.yaml +5 -0
- package/src/modules/bmb/agents/module-builder.agent.yaml +5 -8
- package/src/modules/bmb/agents/workflow-builder.agent.yaml +16 -7
- package/src/modules/bmb/workflows/agent/data/agent-menu-patterns.md +5 -5
- package/src/modules/bmb/workflows/agent/data/critical-actions.md +2 -2
- package/src/modules/bmb/workflows/agent/data/expert-agent-architecture.md +1 -1
- package/src/modules/bmb/workflows/agent/data/expert-agent-validation.md +2 -1
- package/src/modules/bmb/workflows/agent/data/module-agent-validation.md +2 -0
- package/src/modules/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper.agent.yaml +1 -0
- package/src/modules/bmb/workflows/agent/data/reference/module-examples/architect.agent.yaml +1 -0
- package/src/modules/bmb/workflows/agent/data/reference/module-examples/security-engineer.agent.yaml +1 -0
- package/src/modules/bmb/workflows/agent/data/reference/module-examples/trend-analyst.agent.yaml +1 -0
- package/src/modules/bmb/workflows/agent/data/reference/simple-examples/commit-poet.agent.yaml +1 -0
- package/src/modules/bmb/workflows/agent/data/simple-agent-validation.md +2 -1
- package/src/modules/bmb/workflows/agent/steps-c/step-01-brainstorm.md +3 -1
- package/src/modules/bmb/workflows/agent/steps-c/step-02-discovery.md +3 -1
- package/src/modules/bmb/workflows/agent/steps-c/step-03-type-metadata.md +6 -4
- package/src/modules/bmb/workflows/agent/steps-c/step-04-persona.md +4 -2
- package/src/modules/bmb/workflows/agent/steps-c/step-05-commands-menu.md +4 -2
- package/src/modules/bmb/workflows/agent/steps-c/step-06-activation.md +11 -7
- package/src/modules/bmb/workflows/agent/steps-c/step-07a-build-simple.md +7 -5
- package/src/modules/bmb/workflows/agent/steps-c/step-07b-build-expert.md +16 -16
- package/src/modules/bmb/workflows/agent/steps-c/step-07c-build-module.md +2 -2
- package/src/modules/bmb/workflows/agent/steps-c/{step-09-celebrate.md → step-08-celebrate.md} +14 -9
- package/src/modules/bmb/workflows/agent/steps-e/e-01-load-existing.md +12 -5
- package/src/modules/bmb/workflows/agent/steps-e/e-02-discover-edits.md +5 -3
- package/src/modules/bmb/workflows/agent/steps-e/e-03-placeholder.md +1 -0
- package/src/modules/bmb/workflows/agent/steps-e/e-04-type-metadata.md +3 -1
- package/src/modules/bmb/workflows/agent/steps-e/e-05-persona.md +3 -1
- package/src/modules/bmb/workflows/agent/steps-e/e-06-commands-menu.md +3 -1
- package/src/modules/bmb/workflows/agent/steps-e/e-07-activation.md +13 -10
- package/src/modules/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +8 -5
- package/src/modules/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +7 -5
- package/src/modules/bmb/workflows/agent/steps-e/e-08c-edit-module.md +8 -5
- package/src/modules/bmb/workflows/agent/steps-e/{e-10-celebrate.md → e-09-celebrate.md} +13 -8
- package/src/modules/bmb/workflows/agent/steps-v/v-01-load-review.md +14 -6
- package/src/modules/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +54 -11
- package/src/modules/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +62 -10
- package/src/modules/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +84 -10
- package/src/modules/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +75 -10
- package/src/modules/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -16
- package/src/modules/bmb/workflows/agent/steps-v/v-03-summary.md +5 -1
- package/src/modules/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +1 -0
- package/src/modules/bmb/workflows/agent/templates/simple-agent.template.md +1 -0
- package/src/modules/bmb/workflows/module/data/agent-architecture.md +179 -0
- package/src/modules/bmb/workflows/module/data/agent-spec-template.md +79 -0
- package/src/modules/bmb/workflows/module/data/module-installer-standards.md +348 -0
- package/src/modules/bmb/workflows/module/data/module-standards.md +280 -0
- package/src/modules/bmb/workflows/module/data/module-yaml-conventions.md +392 -0
- package/src/modules/bmb/workflows/module/steps-b/step-01-welcome.md +147 -0
- package/src/modules/bmb/workflows/module/steps-b/step-02-spark.md +140 -0
- package/src/modules/bmb/workflows/module/steps-b/step-03-module-type.md +148 -0
- package/src/modules/bmb/workflows/module/steps-b/step-04-vision.md +82 -0
- package/src/modules/bmb/workflows/module/steps-b/step-05-identity.md +96 -0
- package/src/modules/bmb/workflows/module/steps-b/step-06-users.md +85 -0
- package/src/modules/bmb/workflows/module/steps-b/step-07-value.md +75 -0
- package/src/modules/bmb/workflows/module/steps-b/step-08-agents.md +96 -0
- package/src/modules/bmb/workflows/module/steps-b/step-09-workflows.md +82 -0
- package/src/modules/bmb/workflows/module/steps-b/step-10-tools.md +90 -0
- package/src/modules/bmb/workflows/module/steps-b/step-11-scenarios.md +83 -0
- package/src/modules/bmb/workflows/module/steps-b/step-12-creative.md +94 -0
- package/src/modules/bmb/workflows/module/steps-b/step-13-review.md +104 -0
- package/src/modules/bmb/workflows/module/steps-b/step-14-finalize.md +117 -0
- package/src/modules/bmb/workflows/module/steps-c/step-01-load-brief.md +178 -0
- package/src/modules/bmb/workflows/module/steps-c/step-01b-continue.md +83 -0
- package/src/modules/bmb/workflows/module/steps-c/step-02-structure.md +109 -0
- package/src/modules/bmb/workflows/module/steps-c/step-03-config.md +118 -0
- package/src/modules/bmb/workflows/module/steps-c/step-04-installer.md +160 -0
- package/src/modules/bmb/workflows/module/steps-c/step-05-agents.md +167 -0
- package/src/modules/bmb/workflows/module/steps-c/step-06-workflows.md +183 -0
- package/src/modules/bmb/workflows/module/steps-c/step-07-docs.md +402 -0
- package/src/modules/bmb/workflows/module/steps-c/step-08-complete.md +123 -0
- package/src/modules/bmb/workflows/module/steps-e/step-01-load-target.md +81 -0
- package/src/modules/bmb/workflows/module/steps-e/step-02-select-edit.md +77 -0
- package/src/modules/bmb/workflows/module/steps-e/step-03-apply-edit.md +77 -0
- package/src/modules/bmb/workflows/module/steps-e/step-04-review.md +80 -0
- package/src/modules/bmb/workflows/module/steps-e/step-05-confirm.md +75 -0
- package/src/modules/bmb/workflows/module/steps-v/step-01-load-target.md +96 -0
- package/src/modules/bmb/workflows/module/steps-v/step-02-file-structure.md +94 -0
- package/src/modules/bmb/workflows/module/steps-v/step-03-module-yaml.md +99 -0
- package/src/modules/bmb/workflows/module/steps-v/step-04-agent-specs.md +152 -0
- package/src/modules/bmb/workflows/module/steps-v/step-05-workflow-specs.md +152 -0
- package/src/modules/bmb/workflows/module/steps-v/step-06-documentation.md +143 -0
- package/src/modules/bmb/workflows/module/steps-v/step-07-installation.md +113 -0
- package/src/modules/bmb/workflows/module/steps-v/step-08-report.md +197 -0
- package/src/modules/bmb/workflows/module/templates/brief-template.md +154 -0
- package/src/modules/bmb/workflows/module/templates/workflow-spec-template.md +96 -0
- package/src/modules/bmb/workflows/module/workflow.md +100 -0
- package/src/modules/bmb/workflows/workflow/data/architecture.md +152 -0
- package/src/modules/bmb/workflows/workflow/data/csv-data-file-standards.md +81 -0
- package/src/modules/bmb/workflows/workflow/data/frontmatter-standards.md +225 -0
- package/src/modules/bmb/workflows/workflow/data/input-discovery-standards.md +269 -0
- package/src/modules/bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md +50 -0
- package/src/modules/bmb/workflows/workflow/data/menu-handling-standards.md +167 -0
- package/src/modules/bmb/workflows/workflow/data/output-format-standards.md +188 -0
- package/src/modules/bmb/workflows/workflow/data/step-file-rules.md +235 -0
- package/src/modules/bmb/workflows/workflow/data/step-type-patterns.md +311 -0
- package/src/modules/bmb/workflows/workflow/data/subprocess-optimization-patterns.md +386 -0
- package/src/modules/bmb/workflows/workflow/data/trimodal-workflow-structure.md +209 -0
- package/src/modules/bmb/workflows/workflow/data/workflow-chaining-standards.md +271 -0
- package/src/modules/bmb/workflows/workflow/data/workflow-examples.md +276 -0
- package/src/modules/bmb/workflows/workflow/data/workflow-type-criteria.md +172 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-00-conversion.md +262 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-01-discovery.md +194 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-01b-continuation.md +3 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-02-classification.md +269 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-03-requirements.md +282 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-04-tools.md +281 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-05-plan-review.md +242 -0
- package/src/modules/bmb/workflows/{create-workflow/steps → workflow/steps-c}/step-06-design.md +92 -35
- package/src/modules/bmb/workflows/workflow/steps-c/step-07-foundation.md +238 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-08-build-step-01.md +377 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-09-build-next-step.md +350 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-10-confirmation.md +320 -0
- package/src/modules/bmb/workflows/workflow/steps-c/step-11-completion.md +191 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md +237 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md +248 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md +252 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md +275 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md +154 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-06-validate-after.md +190 -0
- package/src/modules/bmb/workflows/workflow/steps-e/step-e-07-complete.md +206 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md +109 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate.md +221 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-01b-structure.md +152 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md +199 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-02b-path-violations.md +265 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-03-menu-validation.md +164 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-04-step-type-validation.md +211 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-05-output-format-validation.md +200 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-06-validation-design-check.md +195 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md +209 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md +199 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md +179 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-09-cohesive-review.md +186 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-10-report-complete.md +154 -0
- package/src/modules/bmb/workflows/workflow/steps-v/step-11-plan-validation.md +237 -0
- package/src/modules/bmb/workflows/workflow/templates/minimal-output-template.md +11 -0
- package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-01-init-continuable-template.md +3 -3
- package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-1b-template.md +1 -1
- package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-template.md +14 -14
- package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/workflow-template.md +2 -4
- package/src/modules/bmb/workflows/workflow/workflow.md +109 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -0
- package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -0
- package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -0
- package/src/modules/bmgd/agents/game-qa.agent.yaml +1 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -0
- package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +2 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +4 -3
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +3 -3
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +50 -45
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +4 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +3 -3
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +2 -2
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +1 -1
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +3 -3
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +1 -1
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +2 -2
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +1 -1
- package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +3 -3
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +11 -11
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +2 -2
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +1 -1
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +1 -1
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +3 -3
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +9 -9
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +2 -2
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +1 -1
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +1 -1
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +1 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +1 -1
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +2 -2
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +1 -1
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +1 -1
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +1 -1
- package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +2 -2
- package/src/modules/bmm/agents/analyst.agent.yaml +3 -2
- package/src/modules/bmm/agents/architect.agent.yaml +3 -1
- package/src/modules/bmm/agents/dev.agent.yaml +4 -3
- package/src/modules/bmm/agents/pm.agent.yaml +11 -2
- package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +3 -2
- package/src/modules/bmm/agents/sm.agent.yaml +1 -0
- package/src/modules/bmm/agents/tea.agent.yaml +6 -3
- package/src/modules/bmm/agents/tech-writer.agent.yaml +1 -0
- package/src/modules/bmm/agents/ux-designer.agent.yaml +1 -0
- package/src/modules/bmm/module.yaml +1 -1
- package/src/modules/bmm/testarch/knowledge/api-request.md +155 -16
- package/src/modules/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/src/modules/bmm/testarch/knowledge/auth-session.md +197 -1
- package/src/modules/bmm/testarch/knowledge/file-utils.md +257 -54
- package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +159 -9
- package/src/modules/bmm/testarch/knowledge/log.md +170 -35
- package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +228 -95
- package/src/modules/bmm/testarch/knowledge/network-recorder.md +314 -52
- package/src/modules/bmm/testarch/knowledge/overview.md +15 -12
- package/src/modules/bmm/testarch/knowledge/recurse.md +173 -48
- package/src/modules/bmm/testarch/tea-index.csv +19 -18
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +3 -8
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -5
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -6
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -6
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -6
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -6
- package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -5
- package/src/modules/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01-init.md +7 -13
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01b-continue.md +36 -49
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-03-success.md +50 -114
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-06-innovation.md +43 -79
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-07-project-type.md +37 -58
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-08-scoping.md +43 -114
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-09-functional.md +21 -60
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-10-nonfunctional.md +32 -84
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/{prd-template.md → templates/prd-template.md} +0 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +96 -9
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +2 -0
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +1 -1
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +2 -1
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +1 -1
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +2 -1
- package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +6 -6
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +1 -1
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
- package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-01-understand.md +3 -3
- package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-02-investigate.md +1 -1
- package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-03-generate.md +1 -1
- package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-04-review.md +1 -1
- package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/workflow.md +2 -2
- package/src/modules/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +1 -1
- package/src/modules/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +1 -1
- package/src/modules/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +1 -1
- package/src/modules/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +2 -2
- package/src/modules/bmm/workflows/workflow-status/instructions.md +4 -4
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +2 -1
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +1 -0
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +1 -0
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +1 -0
- package/src/modules/cis/agents/presentation-master.agent.yaml +1 -0
- package/src/modules/cis/module.yaml +1 -0
- package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
- package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
- package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +1 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +1 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +1 -0
- package/tools/build-docs.js +200 -271
- package/tools/cli/commands/install.js +8 -2
- package/tools/cli/installers/install-messages.yaml +36 -36
- package/tools/cli/installers/lib/core/config-collector.js +11 -1
- package/tools/cli/installers/lib/core/installer.js +3 -4
- package/tools/cli/installers/lib/core/manifest-generator.js +46 -2
- package/tools/cli/installers/lib/ide/antigravity.js +3 -3
- package/tools/cli/installers/lib/ide/claude-code.js +3 -3
- package/tools/cli/installers/lib/ide/codex.js +1 -1
- package/tools/cli/installers/lib/ide/cursor.js +57 -304
- package/tools/cli/installers/lib/ide/github-copilot.js +1 -1
- package/tools/cli/lib/ui.js +22 -1
- package/tools/fix-doc-links.js +288 -0
- package/tools/schema/agent.js +1 -0
- package/tools/validate-doc-links.js +363 -0
- package/website/README.md +76 -0
- package/website/astro.config.mjs +218 -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 +483 -0
- package/docs/bmad-core-concepts/bmad-customization/index.md +0 -26
- package/docs/bmad-core-concepts/index.md +0 -37
- package/docs/bmad-core-concepts/installing/index.md +0 -77
- package/docs/bmad-core-concepts/workflows.md +0 -89
- package/docs/modules/bmb-bmad-builder/agent-creation-guide.md +0 -166
- package/docs/modules/bmb-bmad-builder/index.md +0 -60
- package/docs/modules/bmgd-bmad-game-dev/glossary.md +0 -293
- package/docs/modules/bmgd-bmad-game-dev/index.md +0 -175
- package/docs/modules/bmgd-bmad-game-dev/quick-start.md +0 -250
- package/docs/modules/bmm-bmad-method/bmad-quick-flow.md +0 -506
- package/docs/modules/bmm-bmad-method/brownfield-guide.md +0 -747
- package/docs/modules/bmm-bmad-method/faq.md +0 -540
- package/docs/modules/bmm-bmad-method/quick-spec-flow.md +0 -622
- package/docs/modules/bmm-bmad-method/quick-start.md +0 -363
- package/docs/modules/bmm-bmad-method/troubleshooting.md +0 -3
- package/docs/modules/bmm-bmad-method/workflows-analysis.md +0 -199
- package/docs/modules/bmm-bmad-method/workflows-implementation.md +0 -210
- package/docs/modules/bmm-bmad-method/workflows-planning.md +0 -89
- package/docs/modules/bmm-bmad-method/workflows-solutioning.md +0 -509
- package/docs/modules/core/index.md +0 -15
- package/docs/modules/core/party-mode.md +0 -50
- package/src/core/tasks/validate-workflow.xml +0 -89
- package/src/modules/bmb/docs/workflows/architecture.md +0 -220
- package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +0 -206
- package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +0 -220
- package/src/modules/bmb/docs/workflows/step-file-rules.md +0 -469
- package/src/modules/bmb/docs/workflows/templates/step-file.md +0 -139
- package/src/modules/bmb/docs/workflows/templates/workflow.md +0 -58
- package/src/modules/bmb/docs/workflows/terms.md +0 -97
- package/src/modules/bmb/reference/agents/simple-examples/README.md +0 -223
- package/src/modules/bmb/reference/readme.md +0 -3
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -177
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -121
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -165
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -154
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -183
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -168
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -195
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +0 -59
- package/src/modules/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +0 -203
- package/src/modules/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +0 -135
- package/src/modules/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +0 -161
- package/src/modules/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +0 -158
- package/src/modules/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +0 -306
- package/src/modules/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +0 -462
- package/src/modules/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +0 -78
- package/src/modules/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +0 -76
- package/src/modules/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +0 -75
- package/src/modules/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +0 -75
- package/src/modules/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +0 -78
- package/src/modules/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +0 -119
- package/src/modules/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +0 -70
- package/src/modules/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +0 -70
- package/src/modules/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +0 -69
- package/src/modules/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +0 -69
- package/src/modules/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +0 -70
- package/src/modules/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +0 -111
- package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +0 -156
- package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +0 -170
- package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +0 -218
- package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +0 -268
- package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +0 -229
- package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +0 -234
- package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +0 -297
- package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +0 -229
- package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +0 -187
- package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +0 -310
- package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +0 -338
- package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +0 -336
- package/src/modules/bmb/workflows/create-module/templates/agent.template.md +0 -313
- package/src/modules/bmb/workflows/create-module/templates/installer.template.js +0 -47
- package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +0 -5
- package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +0 -53
- package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +0 -23
- package/src/modules/bmb/workflows/create-module/validation.md +0 -126
- package/src/modules/bmb/workflows/create-module/workflow.md +0 -56
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +0 -16
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +0 -28
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +0 -177
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +0 -150
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +0 -164
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +0 -152
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +0 -25
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +0 -47
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +0 -37
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +0 -18
- package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +0 -58
- package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +0 -158
- package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +0 -212
- package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +0 -251
- package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +0 -217
- package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +0 -290
- package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +0 -323
- package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +0 -285
- package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +0 -188
- package/src/modules/bmb/workflows/create-workflow/workflow.md +0 -59
- package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +0 -217
- package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +0 -254
- package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +0 -218
- package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +0 -194
- package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +0 -246
- package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +0 -75
- package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +0 -68
- package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +0 -40
- package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +0 -51
- package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +0 -56
- package/src/modules/bmb/workflows/edit-workflow/workflow.md +0 -59
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +0 -153
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +0 -244
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +0 -275
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +0 -296
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +0 -265
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +0 -361
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +0 -259
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +0 -302
- package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +0 -140
- package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +0 -59
- package/src/modules/bmb/workflows-legacy/edit-module/README.md +0 -171
- package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +0 -163
- package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +0 -340
- package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +0 -34
- package/src/modules/bmb/workflows-legacy/module-brief/README.md +0 -264
- package/src/modules/bmb/workflows-legacy/module-brief/checklist.md +0 -116
- package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +0 -268
- package/src/modules/bmb/workflows-legacy/module-brief/template.md +0 -275
- package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +0 -36
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +0 -421
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +0 -291
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +0 -271
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +0 -186
- package/website/css/custom.css +0 -52
- package/website/docusaurus.config.js +0 -179
- package/website/sidebars.js +0 -139
- package/website/src/pages/index.js +0 -50
- /package/docs/{modules/bmm-bmad-method → tutorials/getting-started}/images/workflow-method-greenfield.excalidraw +0 -0
- /package/docs/{modules/bmm-bmad-method → tutorials/getting-started}/images/workflow-method-greenfield.svg +0 -0
- /package/docs/{modules/bmgd-bmad-game-dev → tutorials/getting-started/images}/workflow-overview.jpg +0 -0
- /package/src/modules/bmb/{docs/workflows → workflows/workflow/data}/common-workflow-tools.csv +0 -0
- /package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/instructions.md +0 -0
- /package/src/modules/bmm/workflows/2-plan-workflows/prd/{domain-complexity.csv → data/domain-complexity.csv} +0 -0
- /package/src/modules/bmm/workflows/2-plan-workflows/prd/{project-types.csv → data/project-types.csv} +0 -0
- /package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/tech-spec-template.md +0 -0
- /package/website/{static → public}/favicon.ico +0 -0
- /package/website/{static → public}/img/logo.svg +0 -0
- /package/website/{static → public}/robots.txt +0 -0
|
@@ -3,6 +3,7 @@ const { BaseIdeSetup } = require('./_base-ide');
|
|
|
3
3
|
const chalk = require('chalk');
|
|
4
4
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
5
5
|
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
6
|
+
const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator');
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Cursor IDE setup handler
|
|
@@ -12,6 +13,7 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
12
13
|
super('cursor', 'Cursor', true); // preferred IDE
|
|
13
14
|
this.configDir = '.cursor';
|
|
14
15
|
this.rulesDir = 'rules';
|
|
16
|
+
this.commandsDir = 'commands';
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -21,11 +23,17 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
21
23
|
async cleanup(projectDir) {
|
|
22
24
|
const fs = require('fs-extra');
|
|
23
25
|
const bmadRulesDir = path.join(projectDir, this.configDir, this.rulesDir, 'bmad');
|
|
26
|
+
const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad');
|
|
24
27
|
|
|
25
28
|
if (await fs.pathExists(bmadRulesDir)) {
|
|
26
29
|
await fs.remove(bmadRulesDir);
|
|
27
30
|
console.log(chalk.dim(` Removed old BMAD rules from ${this.name}`));
|
|
28
31
|
}
|
|
32
|
+
|
|
33
|
+
if (await fs.pathExists(bmadCommandsDir)) {
|
|
34
|
+
await fs.remove(bmadCommandsDir);
|
|
35
|
+
console.log(chalk.dim(` Removed old BMAD commands from ${this.name}`));
|
|
36
|
+
}
|
|
29
37
|
}
|
|
30
38
|
|
|
31
39
|
/**
|
|
@@ -40,330 +48,76 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
40
48
|
// Clean up old BMAD installation first
|
|
41
49
|
await this.cleanup(projectDir);
|
|
42
50
|
|
|
43
|
-
// Create .cursor/
|
|
51
|
+
// Create .cursor/commands directory structure
|
|
44
52
|
const cursorDir = path.join(projectDir, this.configDir);
|
|
45
|
-
const
|
|
46
|
-
const
|
|
53
|
+
const commandsDir = path.join(cursorDir, this.commandsDir);
|
|
54
|
+
const bmadCommandsDir = path.join(commandsDir, 'bmad');
|
|
47
55
|
|
|
48
|
-
await this.ensureDir(
|
|
56
|
+
await this.ensureDir(bmadCommandsDir);
|
|
49
57
|
|
|
50
|
-
// Generate agent launchers
|
|
58
|
+
// Generate agent launchers using AgentCommandGenerator
|
|
59
|
+
// This creates small launcher files that reference the actual agents in _bmad/
|
|
51
60
|
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
52
|
-
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
53
|
-
|
|
54
|
-
// Convert artifacts to agent format for index creation
|
|
55
|
-
const agents = agentArtifacts.map((a) => ({ module: a.module, name: a.name }));
|
|
56
|
-
|
|
57
|
-
// Get tasks, tools, and workflows (ALL workflows now generate commands)
|
|
58
|
-
const tasks = await this.getTasks(bmadDir, true);
|
|
59
|
-
const tools = await this.getTools(bmadDir, true);
|
|
60
|
-
|
|
61
|
-
// Get ALL workflows using the new workflow command generator
|
|
62
|
-
const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
63
|
-
const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
|
|
64
|
-
|
|
65
|
-
// Convert artifacts to workflow objects for directory creation
|
|
66
|
-
const workflows = workflowArtifacts
|
|
67
|
-
.filter((artifact) => artifact.type === 'workflow-command')
|
|
68
|
-
.map((artifact) => ({
|
|
69
|
-
module: artifact.module,
|
|
70
|
-
name: path.basename(artifact.relativePath, '.md'),
|
|
71
|
-
path: artifact.sourcePath,
|
|
72
|
-
}));
|
|
61
|
+
const { artifacts: agentArtifacts, counts: agentCounts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
73
62
|
|
|
74
63
|
// Create directories for each module
|
|
75
64
|
const modules = new Set();
|
|
76
|
-
for (const item of [...agents, ...tasks, ...tools, ...workflows]) modules.add(item.module);
|
|
77
|
-
|
|
78
|
-
for (const module of modules) {
|
|
79
|
-
await this.ensureDir(path.join(bmadRulesDir, module));
|
|
80
|
-
await this.ensureDir(path.join(bmadRulesDir, module, 'agents'));
|
|
81
|
-
await this.ensureDir(path.join(bmadRulesDir, module, 'tasks'));
|
|
82
|
-
await this.ensureDir(path.join(bmadRulesDir, module, 'tools'));
|
|
83
|
-
await this.ensureDir(path.join(bmadRulesDir, module, 'workflows'));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Process and write agent launchers with MDC format
|
|
87
|
-
let agentCount = 0;
|
|
88
65
|
for (const artifact of agentArtifacts) {
|
|
89
|
-
|
|
90
|
-
const content = this.wrapLauncherWithMDC(artifact.content, {
|
|
91
|
-
module: artifact.module,
|
|
92
|
-
name: artifact.name,
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
const targetPath = path.join(bmadRulesDir, artifact.module, 'agents', `${artifact.name}.mdc`);
|
|
96
|
-
|
|
97
|
-
await this.writeFile(targetPath, content);
|
|
98
|
-
agentCount++;
|
|
66
|
+
modules.add(artifact.module);
|
|
99
67
|
}
|
|
100
68
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const content = await this.readAndProcess(task.path, {
|
|
105
|
-
module: task.module,
|
|
106
|
-
name: task.name,
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
const targetPath = path.join(bmadRulesDir, task.module, 'tasks', `${task.name}.mdc`);
|
|
110
|
-
|
|
111
|
-
await this.writeFile(targetPath, content);
|
|
112
|
-
taskCount++;
|
|
69
|
+
for (const module of modules) {
|
|
70
|
+
await this.ensureDir(path.join(bmadCommandsDir, module));
|
|
71
|
+
await this.ensureDir(path.join(bmadCommandsDir, module, 'agents'));
|
|
113
72
|
}
|
|
114
73
|
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
for (const tool of tools) {
|
|
118
|
-
const content = await this.readAndProcess(tool.path, {
|
|
119
|
-
module: tool.module,
|
|
120
|
-
name: tool.name,
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
const targetPath = path.join(bmadRulesDir, tool.module, 'tools', `${tool.name}.mdc`);
|
|
74
|
+
// Write agent launcher files
|
|
75
|
+
const agentCount = await agentGen.writeAgentLaunchers(bmadCommandsDir, agentArtifacts);
|
|
124
76
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
77
|
+
// Generate workflow commands from manifest (if it exists)
|
|
78
|
+
const workflowGen = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
79
|
+
const { artifacts: workflowArtifacts } = await workflowGen.collectWorkflowArtifacts(bmadDir);
|
|
128
80
|
|
|
129
|
-
//
|
|
130
|
-
let
|
|
81
|
+
// Write only workflow-command artifacts, skip workflow-launcher READMEs
|
|
82
|
+
let workflowCommandCount = 0;
|
|
131
83
|
for (const artifact of workflowArtifacts) {
|
|
132
84
|
if (artifact.type === 'workflow-command') {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const targetPath = path.join(bmadRulesDir, artifact.module, 'workflows', `${path.basename(artifact.relativePath, '.md')}.mdc`);
|
|
140
|
-
|
|
141
|
-
await this.writeFile(targetPath, content);
|
|
142
|
-
workflowCount++;
|
|
85
|
+
const moduleWorkflowsDir = path.join(bmadCommandsDir, artifact.module, 'workflows');
|
|
86
|
+
await this.ensureDir(moduleWorkflowsDir);
|
|
87
|
+
const commandPath = path.join(moduleWorkflowsDir, path.basename(artifact.relativePath));
|
|
88
|
+
await this.writeFile(commandPath, artifact.content);
|
|
89
|
+
workflowCommandCount++;
|
|
143
90
|
}
|
|
91
|
+
// Skip workflow-launcher READMEs as they would be treated as slash commands
|
|
144
92
|
}
|
|
145
93
|
|
|
146
|
-
//
|
|
147
|
-
|
|
94
|
+
// Generate task and tool commands from manifests (if they exist)
|
|
95
|
+
const taskToolGen = new TaskToolCommandGenerator();
|
|
96
|
+
const taskToolResult = await taskToolGen.generateTaskToolCommands(projectDir, bmadDir, bmadCommandsDir);
|
|
148
97
|
|
|
149
98
|
console.log(chalk.green(`✓ ${this.name} configured:`));
|
|
150
99
|
console.log(chalk.dim(` - ${agentCount} agents installed`));
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
100
|
+
if (workflowCommandCount > 0) {
|
|
101
|
+
console.log(chalk.dim(` - ${workflowCommandCount} workflow commands generated`));
|
|
102
|
+
}
|
|
103
|
+
if (taskToolResult.generated > 0) {
|
|
104
|
+
console.log(
|
|
105
|
+
chalk.dim(
|
|
106
|
+
` - ${taskToolResult.generated} task/tool commands generated (${taskToolResult.tasks} tasks, ${taskToolResult.tools} tools)`,
|
|
107
|
+
),
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
console.log(chalk.dim(` - Commands directory: ${path.relative(projectDir, bmadCommandsDir)}`));
|
|
155
111
|
|
|
156
112
|
return {
|
|
157
113
|
success: true,
|
|
158
114
|
agents: agentCount,
|
|
159
|
-
tasks:
|
|
160
|
-
tools:
|
|
161
|
-
workflows:
|
|
115
|
+
tasks: taskToolResult.tasks || 0,
|
|
116
|
+
tools: taskToolResult.tools || 0,
|
|
117
|
+
workflows: workflowCommandCount,
|
|
162
118
|
};
|
|
163
119
|
}
|
|
164
120
|
|
|
165
|
-
/**
|
|
166
|
-
* Create BMAD index file for easy navigation
|
|
167
|
-
*/
|
|
168
|
-
async createBMADIndex(bmadRulesDir, agents, tasks, tools, workflows, modules) {
|
|
169
|
-
const indexPath = path.join(bmadRulesDir, 'index.mdc');
|
|
170
|
-
|
|
171
|
-
let content = `---
|
|
172
|
-
description: BMAD Method - Master Index
|
|
173
|
-
globs:
|
|
174
|
-
alwaysApply: true
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
# BMAD Method - Cursor Rules Index
|
|
178
|
-
|
|
179
|
-
This is the master index for all BMAD agents, tasks, tools, and workflows available in your project.
|
|
180
|
-
|
|
181
|
-
## Installation Complete!
|
|
182
|
-
|
|
183
|
-
BMAD rules have been installed to: \`.cursor/rules/bmad/\`
|
|
184
|
-
|
|
185
|
-
**Note:** BMAD does not modify your \`.cursorrules\` file. You manage that separately.
|
|
186
|
-
|
|
187
|
-
## How to Use
|
|
188
|
-
|
|
189
|
-
- Reference specific agents: @bmad/{module}/agents/{agent-name}
|
|
190
|
-
- Reference specific tasks: @bmad/{module}/tasks/{task-name}
|
|
191
|
-
- Reference specific tools: @bmad/{module}/tools/{tool-name}
|
|
192
|
-
- Reference specific workflows: @bmad/{module}/workflows/{workflow-name}
|
|
193
|
-
- Reference entire modules: @bmad/{module}
|
|
194
|
-
- Reference this index: @bmad/index
|
|
195
|
-
|
|
196
|
-
## Available Modules
|
|
197
|
-
|
|
198
|
-
`;
|
|
199
|
-
|
|
200
|
-
for (const module of modules) {
|
|
201
|
-
content += `### ${module.toUpperCase()}\n\n`;
|
|
202
|
-
|
|
203
|
-
// List agents for this module
|
|
204
|
-
const moduleAgents = agents.filter((a) => a.module === module);
|
|
205
|
-
if (moduleAgents.length > 0) {
|
|
206
|
-
content += `**Agents:**\n`;
|
|
207
|
-
for (const agent of moduleAgents) {
|
|
208
|
-
content += `- @bmad/${module}/agents/${agent.name} - ${agent.name}\n`;
|
|
209
|
-
}
|
|
210
|
-
content += '\n';
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// List tasks for this module
|
|
214
|
-
const moduleTasks = tasks.filter((t) => t.module === module);
|
|
215
|
-
if (moduleTasks.length > 0) {
|
|
216
|
-
content += `**Tasks:**\n`;
|
|
217
|
-
for (const task of moduleTasks) {
|
|
218
|
-
content += `- @bmad/${module}/tasks/${task.name} - ${task.name}\n`;
|
|
219
|
-
}
|
|
220
|
-
content += '\n';
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
// List tools for this module
|
|
224
|
-
const moduleTools = tools.filter((t) => t.module === module);
|
|
225
|
-
if (moduleTools.length > 0) {
|
|
226
|
-
content += `**Tools:**\n`;
|
|
227
|
-
for (const tool of moduleTools) {
|
|
228
|
-
content += `- @bmad/${module}/tools/${tool.name} - ${tool.name}\n`;
|
|
229
|
-
}
|
|
230
|
-
content += '\n';
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
// List workflows for this module
|
|
234
|
-
const moduleWorkflows = workflows.filter((w) => w.module === module);
|
|
235
|
-
if (moduleWorkflows.length > 0) {
|
|
236
|
-
content += `**Workflows:**\n`;
|
|
237
|
-
for (const workflow of moduleWorkflows) {
|
|
238
|
-
content += `- @bmad/${module}/workflows/${workflow.name} - ${workflow.name}\n`;
|
|
239
|
-
}
|
|
240
|
-
content += '\n';
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
content += `
|
|
245
|
-
## Quick Reference
|
|
246
|
-
|
|
247
|
-
- All BMAD rules are Manual type - reference them explicitly when needed
|
|
248
|
-
- Agents provide persona-based assistance with specific expertise
|
|
249
|
-
- Tasks are reusable workflows for common operations
|
|
250
|
-
- Tools provide specialized functionality
|
|
251
|
-
- Workflows orchestrate multi-step processes
|
|
252
|
-
- Each agent includes an activation block for proper initialization
|
|
253
|
-
|
|
254
|
-
## Configuration
|
|
255
|
-
|
|
256
|
-
BMAD rules are configured as Manual rules (alwaysApply: false) to give you control
|
|
257
|
-
over when they're included in your context. Reference them explicitly when you need
|
|
258
|
-
specific agent expertise, task workflows, tools, or guided workflows.
|
|
259
|
-
`;
|
|
260
|
-
|
|
261
|
-
await this.writeFile(indexPath, content);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Read and process file content
|
|
266
|
-
*/
|
|
267
|
-
async readAndProcess(filePath, metadata) {
|
|
268
|
-
const fs = require('fs-extra');
|
|
269
|
-
const content = await fs.readFile(filePath, 'utf8');
|
|
270
|
-
return this.processContent(content, metadata);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* Override processContent to add MDC metadata header for Cursor
|
|
275
|
-
* @param {string} content - File content
|
|
276
|
-
* @param {Object} metadata - File metadata
|
|
277
|
-
* @returns {string} Processed content with MDC header
|
|
278
|
-
*/
|
|
279
|
-
processContent(content, metadata = {}) {
|
|
280
|
-
// First apply base processing (includes activation injection for agents)
|
|
281
|
-
let processed = super.processContent(content, metadata);
|
|
282
|
-
|
|
283
|
-
// Strip any existing frontmatter from the processed content
|
|
284
|
-
// This prevents duplicate frontmatter blocks
|
|
285
|
-
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
286
|
-
if (frontmatterRegex.test(processed)) {
|
|
287
|
-
processed = processed.replace(frontmatterRegex, '');
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
// Determine the type and description based on content
|
|
291
|
-
const isAgent = content.includes('<agent');
|
|
292
|
-
const isTask = content.includes('<task');
|
|
293
|
-
const isTool = content.includes('<tool');
|
|
294
|
-
const isWorkflow = content.includes('workflow:') || content.includes('name:');
|
|
295
|
-
|
|
296
|
-
let description = '';
|
|
297
|
-
let globs = '';
|
|
298
|
-
|
|
299
|
-
if (isAgent) {
|
|
300
|
-
// Extract agent title if available
|
|
301
|
-
const titleMatch = content.match(/title="([^"]+)"/);
|
|
302
|
-
const title = titleMatch ? titleMatch[1] : metadata.name;
|
|
303
|
-
description = `BMAD ${metadata.module.toUpperCase()} Agent: ${title}`;
|
|
304
|
-
globs = '';
|
|
305
|
-
} else if (isTask) {
|
|
306
|
-
// Extract task name if available
|
|
307
|
-
const nameMatch = content.match(/name="([^"]+)"/);
|
|
308
|
-
const taskName = nameMatch ? nameMatch[1] : metadata.name;
|
|
309
|
-
description = `BMAD ${metadata.module.toUpperCase()} Task: ${taskName}`;
|
|
310
|
-
globs = '';
|
|
311
|
-
} else if (isTool) {
|
|
312
|
-
// Extract tool name if available
|
|
313
|
-
const nameMatch = content.match(/name="([^"]+)"/);
|
|
314
|
-
const toolName = nameMatch ? nameMatch[1] : metadata.name;
|
|
315
|
-
description = `BMAD ${metadata.module.toUpperCase()} Tool: ${toolName}`;
|
|
316
|
-
globs = '';
|
|
317
|
-
} else if (isWorkflow) {
|
|
318
|
-
// Workflow
|
|
319
|
-
description = `BMAD ${metadata.module.toUpperCase()} Workflow: ${metadata.name}`;
|
|
320
|
-
globs = '';
|
|
321
|
-
} else {
|
|
322
|
-
description = `BMAD ${metadata.module.toUpperCase()}: ${metadata.name}`;
|
|
323
|
-
globs = '';
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
// Create MDC metadata header
|
|
327
|
-
const mdcHeader = `---
|
|
328
|
-
description: ${description}
|
|
329
|
-
globs: ${globs}
|
|
330
|
-
alwaysApply: false
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
`;
|
|
334
|
-
|
|
335
|
-
// Add the MDC header to the processed content
|
|
336
|
-
return mdcHeader + processed;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
/**
|
|
340
|
-
* Wrap launcher content with MDC metadata (without base processing)
|
|
341
|
-
* Launchers are already complete and should not have activation headers injected
|
|
342
|
-
*/
|
|
343
|
-
wrapLauncherWithMDC(launcherContent, metadata = {}) {
|
|
344
|
-
// Strip the launcher's frontmatter - we'll replace it with MDC frontmatter
|
|
345
|
-
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
346
|
-
const contentWithoutFrontmatter = launcherContent.replace(frontmatterRegex, '');
|
|
347
|
-
|
|
348
|
-
// Extract metadata from launcher frontmatter for MDC description
|
|
349
|
-
const nameMatch = launcherContent.match(/name:\s*"([^"]+)"/);
|
|
350
|
-
const name = nameMatch ? nameMatch[1] : metadata.name;
|
|
351
|
-
|
|
352
|
-
const description = `BMAD ${metadata.module.toUpperCase()} Agent: ${name}`;
|
|
353
|
-
|
|
354
|
-
// Create MDC metadata header
|
|
355
|
-
const mdcHeader = `---
|
|
356
|
-
description: ${description}
|
|
357
|
-
globs:
|
|
358
|
-
alwaysApply: false
|
|
359
|
-
---
|
|
360
|
-
|
|
361
|
-
`;
|
|
362
|
-
|
|
363
|
-
// Return MDC header + launcher content (without its original frontmatter)
|
|
364
|
-
return mdcHeader + contentWithoutFrontmatter;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
121
|
/**
|
|
368
122
|
* Install a custom agent launcher for Cursor
|
|
369
123
|
* @param {string} projectDir - Project directory
|
|
@@ -373,7 +127,7 @@ alwaysApply: false
|
|
|
373
127
|
* @returns {Object|null} Info about created command
|
|
374
128
|
*/
|
|
375
129
|
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
376
|
-
const customAgentsDir = path.join(projectDir, this.configDir, this.
|
|
130
|
+
const customAgentsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad', 'custom', 'agents');
|
|
377
131
|
|
|
378
132
|
if (!(await this.exists(path.join(projectDir, this.configDir)))) {
|
|
379
133
|
return null; // IDE not configured for this project
|
|
@@ -393,22 +147,21 @@ alwaysApply: false
|
|
|
393
147
|
</agent-activation>
|
|
394
148
|
`;
|
|
395
149
|
|
|
396
|
-
// Cursor uses
|
|
397
|
-
const
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
alwaysApply: false
|
|
150
|
+
// Cursor uses YAML frontmatter matching Claude Code format
|
|
151
|
+
const commandContent = `---
|
|
152
|
+
name: '${agentName}'
|
|
153
|
+
description: '${agentName} agent'
|
|
401
154
|
---
|
|
402
155
|
|
|
403
156
|
${launcherContent}
|
|
404
157
|
`;
|
|
405
158
|
|
|
406
|
-
const launcherPath = path.join(customAgentsDir, `${agentName}.
|
|
407
|
-
await this.writeFile(launcherPath,
|
|
159
|
+
const launcherPath = path.join(customAgentsDir, `${agentName}.md`);
|
|
160
|
+
await this.writeFile(launcherPath, commandContent);
|
|
408
161
|
|
|
409
162
|
return {
|
|
410
163
|
path: launcherPath,
|
|
411
|
-
command:
|
|
164
|
+
command: `/bmad/custom/agents/${agentName}`,
|
|
412
165
|
};
|
|
413
166
|
}
|
|
414
167
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
2
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
|
-
const inquirer = require('inquirer').default || require('inquirer');
|
|
5
4
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -22,6 +21,7 @@ class GitHubCopilotSetup extends BaseIdeSetup {
|
|
|
22
21
|
* @returns {Object} Collected configuration
|
|
23
22
|
*/
|
|
24
23
|
async collectConfiguration(options = {}) {
|
|
24
|
+
const { default: inquirer } = await import('inquirer');
|
|
25
25
|
const config = {};
|
|
26
26
|
|
|
27
27
|
console.log('\n' + chalk.blue(' 🔧 VS Code Settings Configuration'));
|
package/tools/cli/lib/ui.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
const chalk = require('chalk');
|
|
2
|
-
const inquirer = require('inquirer').default || require('inquirer');
|
|
3
2
|
const path = require('node:path');
|
|
4
3
|
const os = require('node:os');
|
|
5
4
|
const fs = require('fs-extra');
|
|
6
5
|
const { CLIUtils } = require('./cli-utils');
|
|
7
6
|
const { CustomHandler } = require('../installers/lib/custom/handler');
|
|
8
7
|
|
|
8
|
+
// Lazy-load inquirer (ESM module) to avoid ERR_REQUIRE_ESM
|
|
9
|
+
let _inquirer = null;
|
|
10
|
+
async function getInquirer() {
|
|
11
|
+
if (!_inquirer) {
|
|
12
|
+
_inquirer = (await import('inquirer')).default;
|
|
13
|
+
}
|
|
14
|
+
return _inquirer;
|
|
15
|
+
}
|
|
16
|
+
|
|
9
17
|
/**
|
|
10
18
|
* UI utilities for the installer
|
|
11
19
|
*/
|
|
@@ -15,6 +23,7 @@ class UI {
|
|
|
15
23
|
* @returns {Object} Installation configuration
|
|
16
24
|
*/
|
|
17
25
|
async promptInstall() {
|
|
26
|
+
const inquirer = await getInquirer();
|
|
18
27
|
CLIUtils.displayLogo();
|
|
19
28
|
|
|
20
29
|
// Display version-specific start message from install-messages.yaml
|
|
@@ -450,6 +459,7 @@ class UI {
|
|
|
450
459
|
* @returns {Object} Tool configuration
|
|
451
460
|
*/
|
|
452
461
|
async promptToolSelection(projectDir, selectedModules) {
|
|
462
|
+
const inquirer = await getInquirer();
|
|
453
463
|
// Check for existing configured IDEs - use findBmadDir to detect custom folder names
|
|
454
464
|
const { Detector } = require('../installers/lib/core/detector');
|
|
455
465
|
const { Installer } = require('../installers/lib/core/installer');
|
|
@@ -582,6 +592,7 @@ class UI {
|
|
|
582
592
|
* @returns {Object} Update configuration
|
|
583
593
|
*/
|
|
584
594
|
async promptUpdate() {
|
|
595
|
+
const inquirer = await getInquirer();
|
|
585
596
|
const answers = await inquirer.prompt([
|
|
586
597
|
{
|
|
587
598
|
type: 'confirm',
|
|
@@ -606,6 +617,7 @@ class UI {
|
|
|
606
617
|
* @returns {Array} Selected modules
|
|
607
618
|
*/
|
|
608
619
|
async promptModules(modules) {
|
|
620
|
+
const inquirer = await getInquirer();
|
|
609
621
|
const choices = modules.map((mod) => ({
|
|
610
622
|
name: `${mod.name} - ${mod.description}`,
|
|
611
623
|
value: mod.id,
|
|
@@ -637,6 +649,7 @@ class UI {
|
|
|
637
649
|
* @returns {boolean} User confirmation
|
|
638
650
|
*/
|
|
639
651
|
async confirm(message, defaultValue = false) {
|
|
652
|
+
const inquirer = await getInquirer();
|
|
640
653
|
const { confirmed } = await inquirer.prompt([
|
|
641
654
|
{
|
|
642
655
|
type: 'confirm',
|
|
@@ -743,6 +756,7 @@ class UI {
|
|
|
743
756
|
* @returns {Array} Module choices for inquirer
|
|
744
757
|
*/
|
|
745
758
|
async getModuleChoices(installedModuleIds, customContentConfig = null) {
|
|
759
|
+
const inquirer = await getInquirer();
|
|
746
760
|
const moduleChoices = [];
|
|
747
761
|
const isNewInstallation = installedModuleIds.size === 0;
|
|
748
762
|
|
|
@@ -823,6 +837,7 @@ class UI {
|
|
|
823
837
|
* @returns {Array} Selected module IDs
|
|
824
838
|
*/
|
|
825
839
|
async selectModules(moduleChoices, defaultSelections = []) {
|
|
840
|
+
const inquirer = await getInquirer();
|
|
826
841
|
const moduleAnswer = await inquirer.prompt([
|
|
827
842
|
{
|
|
828
843
|
type: 'checkbox',
|
|
@@ -843,6 +858,7 @@ class UI {
|
|
|
843
858
|
* @returns {Object} Directory answer from inquirer
|
|
844
859
|
*/
|
|
845
860
|
async promptForDirectory() {
|
|
861
|
+
const inquirer = await getInquirer();
|
|
846
862
|
return await inquirer.prompt([
|
|
847
863
|
{
|
|
848
864
|
type: 'input',
|
|
@@ -899,6 +915,7 @@ class UI {
|
|
|
899
915
|
* @returns {boolean} Whether user confirmed
|
|
900
916
|
*/
|
|
901
917
|
async confirmDirectory(directory) {
|
|
918
|
+
const inquirer = await getInquirer();
|
|
902
919
|
const dirExists = await fs.pathExists(directory);
|
|
903
920
|
|
|
904
921
|
if (dirExists) {
|
|
@@ -1085,6 +1102,7 @@ class UI {
|
|
|
1085
1102
|
* - GitHub Issue: paulpreibisch/AgentVibes#36
|
|
1086
1103
|
*/
|
|
1087
1104
|
async promptAgentVibes(projectDir) {
|
|
1105
|
+
const inquirer = await getInquirer();
|
|
1088
1106
|
CLIUtils.displaySection('🎤 Voice Features', 'Enable TTS for multi-agent conversations');
|
|
1089
1107
|
|
|
1090
1108
|
// Check if AgentVibes is already installed
|
|
@@ -1235,6 +1253,7 @@ class UI {
|
|
|
1235
1253
|
* @returns {Object} Custom content configuration
|
|
1236
1254
|
*/
|
|
1237
1255
|
async promptCustomContentSource() {
|
|
1256
|
+
const inquirer = await getInquirer();
|
|
1238
1257
|
const customContentConfig = { hasCustomContent: true, sources: [] };
|
|
1239
1258
|
|
|
1240
1259
|
// Keep asking for more sources until user is done
|
|
@@ -1372,6 +1391,7 @@ class UI {
|
|
|
1372
1391
|
* @returns {Object} Result with selected custom modules and custom content config
|
|
1373
1392
|
*/
|
|
1374
1393
|
async handleCustomModulesInModifyFlow(directory, selectedModules) {
|
|
1394
|
+
const inquirer = await getInquirer();
|
|
1375
1395
|
// Get existing installation to find custom modules
|
|
1376
1396
|
const { existingInstall } = await this.getExistingInstallation(directory);
|
|
1377
1397
|
|
|
@@ -1566,6 +1586,7 @@ class UI {
|
|
|
1566
1586
|
* @returns {Promise<boolean>} True if user wants to proceed, false if they cancel
|
|
1567
1587
|
*/
|
|
1568
1588
|
async showOldAlphaVersionWarning(installedVersion, currentVersion, bmadFolderName) {
|
|
1589
|
+
const inquirer = await getInquirer();
|
|
1569
1590
|
const versionInfo = this.checkAlphaVersionAge(installedVersion, currentVersion);
|
|
1570
1591
|
|
|
1571
1592
|
// Also warn if version is unknown or can't be parsed (legacy/unsupported)
|