bmad-method 6.0.0-alpha.12 → 6.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
- package/.github/scripts/discord-helpers.sh +15 -0
- package/.github/workflows/bundle-latest.yaml +79 -27
- package/.github/workflows/discord.yaml +278 -8
- package/.github/workflows/quality.yaml +19 -0
- package/.markdownlint-cli2.yaml +42 -0
- package/.prettierignore +3 -0
- package/CHANGELOG.md +254 -1
- package/CODE_OF_CONDUCT.md +128 -0
- package/README.md +3 -1
- package/bmad-method-6.0.0-alpha.14.tgz +0 -0
- package/docs/agent-customization-guide.md +2 -2
- package/docs/custom-agent-installation.md +58 -90
- package/docs/document-sharding-guide.md +1 -1
- package/docs/ide-info/rovo-dev.md +388 -0
- package/docs/index.md +6 -81
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
- package/eslint.config.mjs +14 -0
- package/example-custom-content/README.md +4 -0
- package/example-custom-content/agents/commit-poet/commit-poet.agent.yaml +129 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
- package/example-custom-content/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
- package/example-custom-content/agents/toolsmith/toolsmith.agent.yaml +109 -0
- package/example-custom-content/custom.yaml +3 -0
- package/example-custom-content/workflows/quiz-master/steps/step-01-init.md +168 -0
- package/example-custom-content/workflows/quiz-master/steps/step-02-q1.md +155 -0
- package/example-custom-content/workflows/quiz-master/steps/step-03-q2.md +89 -0
- package/example-custom-content/workflows/quiz-master/steps/step-04-q3.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-05-q4.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-06-q5.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-07-q6.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-08-q7.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-09-q8.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-10-q9.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-11-q10.md +36 -0
- package/example-custom-content/workflows/quiz-master/steps/step-12-results.md +150 -0
- package/example-custom-content/workflows/quiz-master/templates/csv-headers.template +1 -0
- package/example-custom-content/workflows/quiz-master/workflow-plan-quiz-master.md +269 -0
- package/example-custom-content/workflows/quiz-master/workflow.md +54 -0
- package/example-custom-content/workflows/wassup/workflow.md +26 -0
- package/example-custom-module/mwm/README.md +4 -0
- package/example-custom-module/mwm/_module-installer/install-config.yaml +27 -0
- package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/cognitive-distortions.md +47 -0
- package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/thought-records.md +17 -0
- package/example-custom-module/mwm/agents/cbt-coach/cbt-coach.agent.yaml +150 -0
- package/example-custom-module/mwm/agents/crisis-navigator.agent.yaml +137 -0
- package/example-custom-module/mwm/agents/meditation-guide.agent.yaml +137 -0
- package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
- package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
- package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
- package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
- package/example-custom-module/mwm/agents/wellness-companion/wellness-companion.agent.yaml +124 -0
- package/example-custom-module/mwm/workflows/cbt-thought-record/README.md +31 -0
- package/example-custom-module/mwm/workflows/cbt-thought-record/workflow.md +45 -0
- package/example-custom-module/mwm/workflows/crisis-support/README.md +31 -0
- package/example-custom-module/mwm/workflows/crisis-support/workflow.md +45 -0
- package/example-custom-module/mwm/workflows/daily-checkin/README.md +32 -0
- package/example-custom-module/mwm/workflows/daily-checkin/workflow.md +45 -0
- package/example-custom-module/mwm/workflows/guided-meditation/README.md +31 -0
- package/example-custom-module/mwm/workflows/guided-meditation/workflow.md +45 -0
- package/example-custom-module/mwm/workflows/wellness-journal/README.md +31 -0
- package/example-custom-module/mwm/workflows/wellness-journal/workflow.md +45 -0
- package/package.json +9 -4
- package/src/core/_module-installer/install-config.yaml +5 -1
- package/src/core/agents/bmad-master.agent.yaml +1 -1
- package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
- package/src/core/resources/excalidraw/library-loader.md +2 -2
- package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
- package/src/core/tasks/advanced-elicitation.xml +18 -8
- package/src/core/tasks/workflow.xml +36 -71
- package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
- package/src/core/workflows/brainstorming/template.md +13 -104
- package/src/core/workflows/brainstorming/workflow.md +51 -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 +203 -0
- package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +158 -0
- package/src/core/workflows/party-mode/workflow.md +206 -0
- package/src/modules/bmb/README.md +153 -86
- package/src/modules/bmb/_module-installer/install-config.yaml +4 -9
- package/src/modules/bmb/_module-installer/installer.js +76 -0
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +75 -38
- package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +6 -6
- package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +20 -20
- package/src/modules/bmb/docs/agents/kb.csv +0 -0
- package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +46 -46
- package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +7 -3
- package/src/modules/bmb/docs/workflows/architecture.md +220 -0
- package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
- package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
- package/src/modules/bmb/docs/workflows/index.md +45 -0
- package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
- package/src/modules/bmb/docs/workflows/kb.csv +0 -0
- package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
- package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +223 -0
- package/src/modules/bmb/docs/workflows/templates/step-file.md +139 -0
- package/src/modules/bmb/docs/workflows/templates/step-template.md +290 -0
- package/src/modules/bmb/docs/workflows/templates/workflow-template.md +104 -0
- package/src/modules/bmb/docs/workflows/templates/workflow.md +58 -0
- package/src/modules/bmb/docs/workflows/terms.md +97 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +4 -4
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +8 -8
- package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +7 -7
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +176 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +120 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +153 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
- package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +29 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
- package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
- package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
- package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
- package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
- package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
- package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
- package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +155 -0
- package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +169 -0
- package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +217 -0
- package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +267 -0
- package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +228 -0
- package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +233 -0
- package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +296 -0
- package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +228 -0
- package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +186 -0
- package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +308 -0
- package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +336 -0
- package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +335 -0
- package/src/modules/bmb/workflows/create-module/templates/agent.template.md +317 -0
- package/src/modules/bmb/workflows/create-module/templates/install-config.template.yaml +53 -0
- package/src/modules/bmb/workflows/create-module/templates/installer.template.js +47 -0
- package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
- package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
- package/src/modules/bmb/workflows/create-module/validation.md +126 -0
- package/src/modules/bmb/workflows/create-module/workflow.md +55 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +157 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +211 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +250 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +216 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +289 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +271 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +308 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +284 -0
- package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +187 -0
- package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
- package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
- package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
- package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
- package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
- package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
- package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
- package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -0
- package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
- package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
- package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
- package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
- package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
- package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
- package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
- package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
- package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
- package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
- package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
- package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -1
- package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
- package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
- package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +8 -8
- package/src/modules/bmm/_module-installer/install-config.yaml +10 -16
- package/src/modules/bmm/agents/analyst.agent.yaml +25 -22
- package/src/modules/bmm/agents/architect.agent.yaml +12 -14
- package/src/modules/bmm/agents/dev.agent.yaml +20 -16
- package/src/modules/bmm/agents/pm.agent.yaml +14 -32
- package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
- package/src/modules/bmm/agents/sm.agent.yaml +13 -31
- package/src/modules/bmm/agents/tea.agent.yaml +10 -7
- package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
- package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
- package/src/modules/bmm/data/README.md +29 -0
- package/src/modules/bmm/data/project-context-template.md +40 -0
- package/src/modules/bmm/docs/README.md +44 -10
- package/src/modules/bmm/docs/agents-guide.md +80 -53
- package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
- package/src/modules/bmm/docs/brownfield-guide.md +25 -39
- package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
- package/src/modules/bmm/docs/faq.md +6 -39
- package/src/modules/bmm/docs/glossary.md +12 -25
- package/src/modules/bmm/docs/images/README.md +37 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +960 -1845
- package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +4 -2
- package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
- package/src/modules/bmm/docs/quick-spec-flow.md +5 -5
- package/src/modules/bmm/docs/quick-start.md +9 -25
- package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
- package/src/modules/bmm/docs/test-architecture.md +90 -24
- package/src/modules/bmm/docs/troubleshooting.md +680 -0
- package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
- package/src/modules/bmm/docs/workflows-analysis.md +36 -140
- package/src/modules/bmm/docs/workflows-implementation.md +175 -160
- package/src/modules/bmm/docs/workflows-planning.md +51 -212
- package/src/modules/bmm/docs/workflows-solutioning.md +26 -71
- package/src/modules/bmm/tasks/daily-standup.xml +85 -0
- package/src/modules/bmm/teams/default-party.csv +15 -14
- package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
- package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
- package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
- package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
- package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +1 -1
- package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
- package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
- package/src/modules/bmm/testarch/knowledge/log.md +294 -0
- package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
- package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
- package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
- package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
- package/src/modules/bmm/testarch/tea-index.csv +11 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
- package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +442 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +181 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +236 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +199 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +248 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +258 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +176 -0
- package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +474 -0
- package/src/modules/bmm/workflows/1-analysis/research/research.template.md +15 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +238 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +247 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +201 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +238 -0
- package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +485 -0
- package/src/modules/bmm/workflows/1-analysis/research/workflow.md +204 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +59 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +12 -200
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +243 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +165 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +420 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +289 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +290 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +270 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +261 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +257 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +298 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +269 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +293 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +223 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +49 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +258 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +232 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +271 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +144 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-01-document-discovery.md +189 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-02-prd-analysis.md +177 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-03-epic-coverage-validation.md +178 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-04-ux-alignment.md +138 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-05-epic-quality-review.md +251 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-06-final-assessment.md +132 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.md +54 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +2 -1
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +224 -0
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +354 -0
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +19 -21
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +11 -10
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +174 -0
- package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
- package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
- package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +202 -0
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +33 -0
- package/src/modules/bmm/workflows/document-project/instructions.md +1 -1
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +2 -2
- package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
- package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
- package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
- package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
- package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
- package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +1 -1
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
- package/src/modules/bmm/workflows/testarch/ci/checklist.md +1 -1
- package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +36 -3
- package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +25 -4
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +20 -3
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +29 -9
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
- package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +4 -8
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +4 -8
- package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +4 -8
- package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +4 -9
- package/src/modules/cis/agents/README.md +1 -1
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
- package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
- package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
- package/src/modules/cis/teams/default-party.csv +6 -5
- package/src/utility/models/agent-activation-ide.xml +4 -4
- package/src/utility/models/agent-activation-web.xml +1 -11
- package/src/utility/models/fragments/activation-rules.xml +5 -6
- package/src/utility/models/fragments/handler-exec.xml +6 -5
- package/src/utility/models/fragments/handler-multi.xml +14 -0
- package/test/README.md +1 -1
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
- package/tools/cli/README.md +4 -3
- package/tools/cli/bundlers/web-bundler.js +3 -14
- package/tools/cli/commands/build.js +9 -184
- package/tools/cli/commands/install.js +42 -2
- package/tools/cli/installers/lib/core/config-collector.js +94 -10
- package/tools/cli/installers/lib/core/installer.js +389 -55
- package/tools/cli/installers/lib/core/manifest-generator.js +91 -30
- package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +79 -0
- package/tools/cli/installers/lib/custom/handler.js +266 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +10 -0
- package/tools/cli/installers/lib/ide/antigravity.js +51 -7
- package/tools/cli/installers/lib/ide/auggie.js +72 -7
- package/tools/cli/installers/lib/ide/claude-code.js +1 -6
- package/tools/cli/installers/lib/ide/cline.js +49 -0
- package/tools/cli/installers/lib/ide/codex.js +2 -2
- package/tools/cli/installers/lib/ide/crush.js +66 -6
- package/tools/cli/installers/lib/ide/cursor.js +29 -13
- package/tools/cli/installers/lib/ide/gemini.js +96 -1
- package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
- package/tools/cli/installers/lib/ide/iflow.js +67 -1
- package/tools/cli/installers/lib/ide/kilo.js +74 -0
- package/tools/cli/installers/lib/ide/kiro-cli.js +327 -0
- package/tools/cli/installers/lib/ide/opencode.js +3 -3
- package/tools/cli/installers/lib/ide/qwen.js +54 -0
- package/tools/cli/installers/lib/ide/roo.js +145 -138
- package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +8 -2
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +34 -19
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +18 -14
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
- package/tools/cli/installers/lib/ide/trae.js +47 -0
- package/tools/cli/installers/lib/modules/manager.js +486 -53
- package/tools/cli/lib/agent/compiler.js +210 -27
- package/tools/cli/lib/agent/installer.js +140 -30
- package/tools/cli/lib/agent-analyzer.js +46 -18
- package/tools/cli/lib/config.js +2 -1
- package/tools/cli/lib/ui.js +269 -13
- package/tools/cli/lib/yaml-xml-builder.js +123 -39
- package/tools/platform-codes.yaml +12 -0
- package/tools/schema/agent.js +229 -20
- package/tools/validate-svg-changes.sh +356 -0
- package/src/core/tasks/adv-elicit-methods.csv +0 -39
- package/src/core/workflows/brainstorming/README.md +0 -261
- package/src/core/workflows/brainstorming/instructions.md +0 -315
- package/src/core/workflows/brainstorming/workflow.yaml +0 -38
- package/src/core/workflows/party-mode/instructions.md +0 -183
- package/src/core/workflows/party-mode/workflow.yaml +0 -28
- package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
- package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
- package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
- package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
- package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
- package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
- package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
- package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
- package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
- package/src/modules/bmb/workflows/create-module/README.md +0 -229
- package/src/modules/bmb/workflows/create-module/brainstorm-context.md +0 -137
- package/src/modules/bmb/workflows/create-module/checklist.md +0 -235
- package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
- package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +0 -231
- package/src/modules/bmb/workflows/create-module/instructions.md +0 -577
- package/src/modules/bmb/workflows/create-module/module-structure.md +0 -400
- package/src/modules/bmb/workflows/create-module/workflow.yaml +0 -52
- package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
- package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
- package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
- package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
- package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
- package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
- package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
- package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
- package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
- package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
- package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
- package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
- package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
- package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
- package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
- package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +0 -22
- package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
- package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
- package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
- package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
- package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
- package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
- package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
- package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
- package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
- package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
- package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
- package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
- package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
- package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
- package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
- package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
- package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
- package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
- package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
- package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
- package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
- package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
- package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
- package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
- package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
- package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
- package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
- package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
- package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
- package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
- package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +0 -80
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +0 -616
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +0 -63
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +0 -169
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +0 -332
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/template.md +0 -146
- package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -64
- package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
- package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
- package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
- package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
- package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
- package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
- package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
- package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
- package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
- package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
- package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
- package/tools/cli/commands/agent-install.js +0 -409
- /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
- /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
- /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
- /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
- /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
- /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
- /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
- /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
- /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
|
+
const fs = require('fs-extra');
|
|
2
3
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
4
|
const chalk = require('chalk');
|
|
4
5
|
const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
|
|
@@ -20,7 +21,7 @@ const { getAgentsFromBmad, getAgentsFromDir } = require('./shared/bmad-artifacts
|
|
|
20
21
|
*/
|
|
21
22
|
class AntigravitySetup extends BaseIdeSetup {
|
|
22
23
|
constructor() {
|
|
23
|
-
super('antigravity', 'Google Antigravity',
|
|
24
|
+
super('antigravity', 'Google Antigravity', true);
|
|
24
25
|
this.configDir = '.agent';
|
|
25
26
|
this.workflowsDir = 'workflows';
|
|
26
27
|
}
|
|
@@ -44,7 +45,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
44
45
|
const injectionConfigPath = path.join(sourceModulesPath, moduleName, 'sub-modules', 'antigravity', 'injections.yaml');
|
|
45
46
|
|
|
46
47
|
if (await this.exists(injectionConfigPath)) {
|
|
47
|
-
const fs = require('fs-extra');
|
|
48
48
|
const yaml = require('js-yaml');
|
|
49
49
|
|
|
50
50
|
try {
|
|
@@ -88,7 +88,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
88
88
|
* @param {string} projectDir - Project directory
|
|
89
89
|
*/
|
|
90
90
|
async cleanup(projectDir) {
|
|
91
|
-
const fs = require('fs-extra');
|
|
92
91
|
const bmadWorkflowsDir = path.join(projectDir, this.configDir, this.workflowsDir, 'bmad');
|
|
93
92
|
|
|
94
93
|
if (await fs.pathExists(bmadWorkflowsDir)) {
|
|
@@ -191,7 +190,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
191
190
|
* Read and process file content
|
|
192
191
|
*/
|
|
193
192
|
async readAndProcess(filePath, metadata) {
|
|
194
|
-
const fs = require('fs-extra');
|
|
195
193
|
const content = await fs.readFile(filePath, 'utf8');
|
|
196
194
|
return this.processContent(content, metadata);
|
|
197
195
|
}
|
|
@@ -208,7 +206,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
208
206
|
* Get agents from source modules (not installed location)
|
|
209
207
|
*/
|
|
210
208
|
async getAgentsFromSource(sourceDir, selectedModules) {
|
|
211
|
-
const fs = require('fs-extra');
|
|
212
209
|
const agents = [];
|
|
213
210
|
|
|
214
211
|
// Add core agents
|
|
@@ -387,7 +384,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
387
384
|
* Inject content at specified point in file
|
|
388
385
|
*/
|
|
389
386
|
async injectContent(projectDir, injection, subagentChoices = null) {
|
|
390
|
-
const fs = require('fs-extra');
|
|
391
387
|
const targetPath = path.join(projectDir, injection.file);
|
|
392
388
|
|
|
393
389
|
if (await this.exists(targetPath)) {
|
|
@@ -413,7 +409,6 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
413
409
|
* Copy selected subagents to appropriate Antigravity agents directory
|
|
414
410
|
*/
|
|
415
411
|
async copySelectedSubagents(projectDir, handlerBaseDir, subagentConfig, choices, location) {
|
|
416
|
-
const fs = require('fs-extra');
|
|
417
412
|
const os = require('node:os');
|
|
418
413
|
|
|
419
414
|
// Determine target directory based on user choice
|
|
@@ -458,6 +453,55 @@ class AntigravitySetup extends BaseIdeSetup {
|
|
|
458
453
|
console.log(chalk.dim(` Total subagents installed: ${copiedCount}`));
|
|
459
454
|
}
|
|
460
455
|
}
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Install a custom agent launcher for Antigravity
|
|
459
|
+
* @param {string} projectDir - Project directory
|
|
460
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
461
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
462
|
+
* @param {Object} metadata - Agent metadata
|
|
463
|
+
* @returns {Object} Installation result
|
|
464
|
+
*/
|
|
465
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
466
|
+
// Create .agent/workflows/bmad directory structure (same as regular agents)
|
|
467
|
+
const agentDir = path.join(projectDir, this.configDir);
|
|
468
|
+
const workflowsDir = path.join(agentDir, this.workflowsDir);
|
|
469
|
+
const bmadWorkflowsDir = path.join(workflowsDir, 'bmad');
|
|
470
|
+
|
|
471
|
+
await fs.ensureDir(bmadWorkflowsDir);
|
|
472
|
+
|
|
473
|
+
// Create custom agent launcher with same pattern as regular agents
|
|
474
|
+
const launcherContent = `name: '${agentName}'
|
|
475
|
+
description: '${agentName} agent'
|
|
476
|
+
usage: |
|
|
477
|
+
Custom BMAD agent: ${agentName}
|
|
478
|
+
|
|
479
|
+
Launch with: /${agentName}
|
|
480
|
+
|
|
481
|
+
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
482
|
+
<agent-activation CRITICAL="TRUE">
|
|
483
|
+
1. LOAD the FULL agent file from @${agentPath}
|
|
484
|
+
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
485
|
+
3. EXECUTE as ${agentName} with full persona adoption
|
|
486
|
+
</agent-activation>
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
⚠️ **IMPORTANT**: Run @${agentPath} to load the complete agent before using this launcher!`;
|
|
491
|
+
|
|
492
|
+
const fileName = `bmad-custom-agents-${agentName}.md`;
|
|
493
|
+
const launcherPath = path.join(bmadWorkflowsDir, fileName);
|
|
494
|
+
|
|
495
|
+
// Write the launcher file
|
|
496
|
+
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
497
|
+
|
|
498
|
+
return {
|
|
499
|
+
ide: 'antigravity',
|
|
500
|
+
path: path.relative(projectDir, launcherPath),
|
|
501
|
+
command: `/${agentName}`,
|
|
502
|
+
type: 'custom-agent-launcher',
|
|
503
|
+
};
|
|
504
|
+
}
|
|
461
505
|
}
|
|
462
506
|
|
|
463
507
|
module.exports = { AntigravitySetup };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
|
+
const fs = require('fs-extra');
|
|
2
3
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
4
|
const chalk = require('chalk');
|
|
4
5
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
6
|
+
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Auggie CLI setup handler
|
|
@@ -32,10 +34,23 @@ class AuggieSetup extends BaseIdeSetup {
|
|
|
32
34
|
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
33
35
|
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
34
36
|
|
|
35
|
-
// Get tasks, tools, and workflows (
|
|
37
|
+
// Get tasks, tools, and workflows (ALL workflows now generate commands)
|
|
36
38
|
const tasks = await this.getTasks(bmadDir, true);
|
|
37
39
|
const tools = await this.getTools(bmadDir, true);
|
|
38
|
-
|
|
40
|
+
|
|
41
|
+
// Get ALL workflows using the new workflow command generator
|
|
42
|
+
const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
43
|
+
const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
|
|
44
|
+
|
|
45
|
+
// Convert workflow artifacts to expected format
|
|
46
|
+
const workflows = workflowArtifacts
|
|
47
|
+
.filter((artifact) => artifact.type === 'workflow-command')
|
|
48
|
+
.map((artifact) => ({
|
|
49
|
+
module: artifact.module,
|
|
50
|
+
name: path.basename(artifact.relativePath, '.md'),
|
|
51
|
+
path: artifact.sourcePath,
|
|
52
|
+
content: artifact.content,
|
|
53
|
+
}));
|
|
39
54
|
|
|
40
55
|
const bmadCommandsDir = path.join(location, 'bmad');
|
|
41
56
|
const agentsDir = path.join(bmadCommandsDir, 'agents');
|
|
@@ -72,13 +87,11 @@ class AuggieSetup extends BaseIdeSetup {
|
|
|
72
87
|
await this.writeFile(targetPath, commandContent);
|
|
73
88
|
}
|
|
74
89
|
|
|
75
|
-
// Install workflows
|
|
90
|
+
// Install workflows (already generated commands)
|
|
76
91
|
for (const workflow of workflows) {
|
|
77
|
-
|
|
78
|
-
const commandContent = this.createWorkflowCommand(workflow, content);
|
|
79
|
-
|
|
92
|
+
// Use the pre-generated workflow command content
|
|
80
93
|
const targetPath = path.join(workflowsDir, `${workflow.module}-${workflow.name}.md`);
|
|
81
|
-
await this.writeFile(targetPath,
|
|
94
|
+
await this.writeFile(targetPath, workflow.content);
|
|
82
95
|
}
|
|
83
96
|
|
|
84
97
|
const totalInstalled = agentArtifacts.length + tasks.length + tools.length + workflows.length;
|
|
@@ -174,6 +187,58 @@ BMAD ${workflow.module.toUpperCase()} module
|
|
|
174
187
|
console.log(chalk.dim(` Removed old BMAD commands`));
|
|
175
188
|
}
|
|
176
189
|
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Install a custom agent launcher for Auggie
|
|
193
|
+
* @param {string} projectDir - Project directory
|
|
194
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
195
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
196
|
+
* @param {Object} metadata - Agent metadata
|
|
197
|
+
* @returns {Object} Installation result
|
|
198
|
+
*/
|
|
199
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
200
|
+
// Auggie uses .augment/commands directory
|
|
201
|
+
const location = path.join(projectDir, '.augment', 'commands');
|
|
202
|
+
const bmadCommandsDir = path.join(location, 'bmad');
|
|
203
|
+
const agentsDir = path.join(bmadCommandsDir, 'agents');
|
|
204
|
+
|
|
205
|
+
// Create .augment/commands/bmad/agents directory if it doesn't exist
|
|
206
|
+
await fs.ensureDir(agentsDir);
|
|
207
|
+
|
|
208
|
+
// Create custom agent launcher
|
|
209
|
+
const launcherContent = `---
|
|
210
|
+
description: "Use the ${agentName} custom agent"
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
# ${agentName} Custom Agent
|
|
214
|
+
|
|
215
|
+
**⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
|
|
216
|
+
|
|
217
|
+
This is a launcher for the custom BMAD agent "${agentName}".
|
|
218
|
+
|
|
219
|
+
## Usage
|
|
220
|
+
1. First run: \`${agentPath}\` to load the complete agent
|
|
221
|
+
2. Then use this command to activate ${agentName}
|
|
222
|
+
|
|
223
|
+
The agent will follow the persona and instructions from the main agent file.
|
|
224
|
+
|
|
225
|
+
## Module
|
|
226
|
+
BMAD Custom agent
|
|
227
|
+
`;
|
|
228
|
+
|
|
229
|
+
const fileName = `custom-${agentName.toLowerCase()}.md`;
|
|
230
|
+
const launcherPath = path.join(agentsDir, fileName);
|
|
231
|
+
|
|
232
|
+
// Write the launcher file
|
|
233
|
+
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
234
|
+
|
|
235
|
+
return {
|
|
236
|
+
ide: 'auggie',
|
|
237
|
+
path: path.relative(projectDir, launcherPath),
|
|
238
|
+
command: agentName,
|
|
239
|
+
type: 'custom-agent-launcher',
|
|
240
|
+
};
|
|
241
|
+
}
|
|
177
242
|
}
|
|
178
243
|
|
|
179
244
|
module.exports = { AuggieSetup };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
|
+
const fs = require('fs-extra');
|
|
2
3
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
4
|
const chalk = require('chalk');
|
|
4
5
|
const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
|
|
@@ -43,7 +44,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
43
44
|
const injectionConfigPath = path.join(sourceModulesPath, moduleName, 'sub-modules', 'claude-code', 'injections.yaml');
|
|
44
45
|
|
|
45
46
|
if (await this.exists(injectionConfigPath)) {
|
|
46
|
-
const fs = require('fs-extra');
|
|
47
47
|
const yaml = require('js-yaml');
|
|
48
48
|
|
|
49
49
|
try {
|
|
@@ -87,7 +87,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
87
87
|
* @param {string} projectDir - Project directory
|
|
88
88
|
*/
|
|
89
89
|
async cleanup(projectDir) {
|
|
90
|
-
const fs = require('fs-extra');
|
|
91
90
|
const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad');
|
|
92
91
|
|
|
93
92
|
if (await fs.pathExists(bmadCommandsDir)) {
|
|
@@ -199,7 +198,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
199
198
|
* Read and process file content
|
|
200
199
|
*/
|
|
201
200
|
async readAndProcess(filePath, metadata) {
|
|
202
|
-
const fs = require('fs-extra');
|
|
203
201
|
const content = await fs.readFile(filePath, 'utf8');
|
|
204
202
|
return this.processContent(content, metadata);
|
|
205
203
|
}
|
|
@@ -216,7 +214,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
216
214
|
* Get agents from source modules (not installed location)
|
|
217
215
|
*/
|
|
218
216
|
async getAgentsFromSource(sourceDir, selectedModules) {
|
|
219
|
-
const fs = require('fs-extra');
|
|
220
217
|
const agents = [];
|
|
221
218
|
|
|
222
219
|
// Add core agents
|
|
@@ -395,7 +392,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
395
392
|
* Inject content at specified point in file
|
|
396
393
|
*/
|
|
397
394
|
async injectContent(projectDir, injection, subagentChoices = null) {
|
|
398
|
-
const fs = require('fs-extra');
|
|
399
395
|
const targetPath = path.join(projectDir, injection.file);
|
|
400
396
|
|
|
401
397
|
if (await this.exists(targetPath)) {
|
|
@@ -421,7 +417,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
|
|
|
421
417
|
* Copy selected subagents to appropriate Claude agents directory
|
|
422
418
|
*/
|
|
423
419
|
async copySelectedSubagents(projectDir, handlerBaseDir, subagentConfig, choices, location) {
|
|
424
|
-
const fs = require('fs-extra');
|
|
425
420
|
const os = require('node:os');
|
|
426
421
|
|
|
427
422
|
// Determine target directory based on user choice
|
|
@@ -209,6 +209,55 @@ class ClineSetup extends BaseIdeSetup {
|
|
|
209
209
|
console.log(chalk.dim(`Removed ${this.name} BMAD configuration`));
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
/**
|
|
213
|
+
* Install a custom agent launcher for Cline
|
|
214
|
+
* @param {string} projectDir - Project directory
|
|
215
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
216
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
217
|
+
* @param {Object} metadata - Agent metadata
|
|
218
|
+
* @returns {Object} Installation result
|
|
219
|
+
*/
|
|
220
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
221
|
+
const clineDir = path.join(projectDir, this.configDir);
|
|
222
|
+
const workflowsDir = path.join(clineDir, this.workflowsDir);
|
|
223
|
+
|
|
224
|
+
// Create .clinerules/workflows directory if it doesn't exist
|
|
225
|
+
await fs.ensureDir(workflowsDir);
|
|
226
|
+
|
|
227
|
+
// Create custom agent launcher workflow
|
|
228
|
+
const launcherContent = `name: ${agentName}
|
|
229
|
+
description: Custom BMAD agent: ${agentName}
|
|
230
|
+
|
|
231
|
+
# ${agentName} Custom Agent
|
|
232
|
+
|
|
233
|
+
**⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
|
|
234
|
+
|
|
235
|
+
This is a launcher for the custom BMAD agent "${agentName}".
|
|
236
|
+
|
|
237
|
+
## Usage
|
|
238
|
+
1. First run: \`${agentPath}\` to load the complete agent
|
|
239
|
+
2. Then use this workflow as ${agentName}
|
|
240
|
+
|
|
241
|
+
The agent will follow the persona and instructions from the main agent file.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
*Generated by BMAD Method*`;
|
|
246
|
+
|
|
247
|
+
const fileName = `bmad-custom-${agentName.toLowerCase()}.md`;
|
|
248
|
+
const launcherPath = path.join(workflowsDir, fileName);
|
|
249
|
+
|
|
250
|
+
// Write the launcher file
|
|
251
|
+
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
252
|
+
|
|
253
|
+
return {
|
|
254
|
+
ide: 'cline',
|
|
255
|
+
path: path.relative(projectDir, launcherPath),
|
|
256
|
+
command: agentName,
|
|
257
|
+
type: 'custom-agent-launcher',
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
|
|
212
261
|
/**
|
|
213
262
|
* Utility: Ensure directory exists
|
|
214
263
|
*/
|
|
@@ -354,7 +354,7 @@ class CodexSetup extends BaseIdeSetup {
|
|
|
354
354
|
* @returns {Object|null} Info about created command
|
|
355
355
|
*/
|
|
356
356
|
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
357
|
-
const destDir = this.getCodexPromptDir();
|
|
357
|
+
const destDir = this.getCodexPromptDir(projectDir, 'project');
|
|
358
358
|
await fs.ensureDir(destDir);
|
|
359
359
|
|
|
360
360
|
const launcherContent = `---
|
|
@@ -379,7 +379,7 @@ You must fully embody this agent's persona and follow all activation instruction
|
|
|
379
379
|
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
380
380
|
|
|
381
381
|
return {
|
|
382
|
-
path: launcherPath,
|
|
382
|
+
path: path.relative(projectDir, launcherPath),
|
|
383
383
|
command: `/${fileName.replace('.md', '')}`,
|
|
384
384
|
};
|
|
385
385
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
const path = require('node:path');
|
|
2
|
+
const fs = require('fs-extra');
|
|
2
3
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
4
|
const chalk = require('chalk');
|
|
4
5
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
6
|
+
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Crush IDE setup handler
|
|
@@ -33,10 +35,23 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
33
35
|
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
34
36
|
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
35
37
|
|
|
36
|
-
// Get tasks, tools, and workflows (
|
|
38
|
+
// Get tasks, tools, and workflows (ALL workflows now generate commands)
|
|
37
39
|
const tasks = await this.getTasks(bmadDir, true);
|
|
38
40
|
const tools = await this.getTools(bmadDir, true);
|
|
39
|
-
|
|
41
|
+
|
|
42
|
+
// Get ALL workflows using the new workflow command generator
|
|
43
|
+
const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
44
|
+
const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
|
|
45
|
+
|
|
46
|
+
// Convert workflow artifacts to expected format for organizeByModule
|
|
47
|
+
const workflows = workflowArtifacts
|
|
48
|
+
.filter((artifact) => artifact.type === 'workflow-command')
|
|
49
|
+
.map((artifact) => ({
|
|
50
|
+
module: artifact.module,
|
|
51
|
+
name: path.basename(artifact.relativePath, '.md'),
|
|
52
|
+
path: artifact.sourcePath,
|
|
53
|
+
content: artifact.content,
|
|
54
|
+
}));
|
|
40
55
|
|
|
41
56
|
// Organize by module
|
|
42
57
|
const agentCount = await this.organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir);
|
|
@@ -112,13 +127,12 @@ class CrushSetup extends BaseIdeSetup {
|
|
|
112
127
|
toolCount++;
|
|
113
128
|
}
|
|
114
129
|
|
|
115
|
-
// Copy module-specific
|
|
130
|
+
// Copy module-specific workflow commands (already generated)
|
|
116
131
|
const moduleWorkflows = workflows.filter((w) => w.module === module);
|
|
117
132
|
for (const workflow of moduleWorkflows) {
|
|
118
|
-
|
|
119
|
-
const commandContent = this.createWorkflowCommand(workflow, content);
|
|
133
|
+
// Use the pre-generated workflow command content
|
|
120
134
|
const targetPath = path.join(moduleWorkflowsDir, `${workflow.name}.md`);
|
|
121
|
-
await this.writeFile(targetPath,
|
|
135
|
+
await this.writeFile(targetPath, workflow.content);
|
|
122
136
|
workflowCount++;
|
|
123
137
|
}
|
|
124
138
|
}
|
|
@@ -235,6 +249,52 @@ Part of the BMAD ${workflow.module.toUpperCase()} module.
|
|
|
235
249
|
console.log(chalk.dim(`Removed BMAD commands from Crush`));
|
|
236
250
|
}
|
|
237
251
|
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Install a custom agent launcher for Crush
|
|
255
|
+
* @param {string} projectDir - Project directory
|
|
256
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
257
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
258
|
+
* @param {Object} metadata - Agent metadata
|
|
259
|
+
* @returns {Object} Installation result
|
|
260
|
+
*/
|
|
261
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
262
|
+
const crushDir = path.join(projectDir, this.configDir);
|
|
263
|
+
const bmadCommandsDir = path.join(crushDir, this.commandsDir, 'bmad');
|
|
264
|
+
|
|
265
|
+
// Create .crush/commands/bmad directory if it doesn't exist
|
|
266
|
+
await fs.ensureDir(bmadCommandsDir);
|
|
267
|
+
|
|
268
|
+
// Create custom agent launcher
|
|
269
|
+
const launcherContent = `# ${agentName} Custom Agent
|
|
270
|
+
|
|
271
|
+
**⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
|
|
272
|
+
|
|
273
|
+
This is a launcher for the custom BMAD agent "${agentName}".
|
|
274
|
+
|
|
275
|
+
## Usage
|
|
276
|
+
1. First run: \`${agentPath}\` to load the complete agent
|
|
277
|
+
2. Then use this command to activate ${agentName}
|
|
278
|
+
|
|
279
|
+
The agent will follow the persona and instructions from the main agent file.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
*Generated by BMAD Method*`;
|
|
284
|
+
|
|
285
|
+
const fileName = `custom-${agentName.toLowerCase()}.md`;
|
|
286
|
+
const launcherPath = path.join(bmadCommandsDir, fileName);
|
|
287
|
+
|
|
288
|
+
// Write the launcher file
|
|
289
|
+
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
290
|
+
|
|
291
|
+
return {
|
|
292
|
+
ide: 'crush',
|
|
293
|
+
path: path.relative(projectDir, launcherPath),
|
|
294
|
+
command: agentName,
|
|
295
|
+
type: 'custom-agent-launcher',
|
|
296
|
+
};
|
|
297
|
+
}
|
|
238
298
|
}
|
|
239
299
|
|
|
240
300
|
module.exports = { CrushSetup };
|
|
@@ -2,6 +2,7 @@ const path = require('node:path');
|
|
|
2
2
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
4
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
5
|
+
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Cursor IDE setup handler
|
|
@@ -53,10 +54,22 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
53
54
|
// Convert artifacts to agent format for index creation
|
|
54
55
|
const agents = agentArtifacts.map((a) => ({ module: a.module, name: a.name }));
|
|
55
56
|
|
|
56
|
-
// Get tasks, tools, and workflows (
|
|
57
|
+
// Get tasks, tools, and workflows (ALL workflows now generate commands)
|
|
57
58
|
const tasks = await this.getTasks(bmadDir, true);
|
|
58
59
|
const tools = await this.getTools(bmadDir, true);
|
|
59
|
-
|
|
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
|
+
}));
|
|
60
73
|
|
|
61
74
|
// Create directories for each module
|
|
62
75
|
const modules = new Set();
|
|
@@ -113,18 +126,21 @@ class CursorSetup extends BaseIdeSetup {
|
|
|
113
126
|
toolCount++;
|
|
114
127
|
}
|
|
115
128
|
|
|
116
|
-
// Process and copy workflows
|
|
129
|
+
// Process and copy workflow commands (generated, not raw workflows)
|
|
117
130
|
let workflowCount = 0;
|
|
118
|
-
for (const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
131
|
+
for (const artifact of workflowArtifacts) {
|
|
132
|
+
if (artifact.type === 'workflow-command') {
|
|
133
|
+
// Add MDC metadata header to workflow command
|
|
134
|
+
const content = this.wrapLauncherWithMDC(artifact.content, {
|
|
135
|
+
module: artifact.module,
|
|
136
|
+
name: path.basename(artifact.relativePath, '.md'),
|
|
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++;
|
|
143
|
+
}
|
|
128
144
|
}
|
|
129
145
|
|
|
130
146
|
// Create BMAD index file (but NOT .cursorrules - user manages that)
|
|
@@ -4,6 +4,7 @@ const yaml = require('js-yaml');
|
|
|
4
4
|
const { BaseIdeSetup } = require('./_base-ide');
|
|
5
5
|
const chalk = require('chalk');
|
|
6
6
|
const { AgentCommandGenerator } = require('./shared/agent-command-generator');
|
|
7
|
+
const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Gemini CLI setup handler
|
|
@@ -68,9 +69,13 @@ class GeminiSetup extends BaseIdeSetup {
|
|
|
68
69
|
const agentGen = new AgentCommandGenerator(this.bmadFolderName);
|
|
69
70
|
const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
|
|
70
71
|
|
|
71
|
-
// Get tasks
|
|
72
|
+
// Get tasks and workflows (ALL workflows now generate commands)
|
|
72
73
|
const tasks = await this.getTasks(bmadDir);
|
|
73
74
|
|
|
75
|
+
// Get ALL workflows using the new workflow command generator
|
|
76
|
+
const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
|
|
77
|
+
const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
|
|
78
|
+
|
|
74
79
|
// Install agents as TOML files with bmad- prefix (flat structure)
|
|
75
80
|
let agentCount = 0;
|
|
76
81
|
for (const artifact of agentArtifacts) {
|
|
@@ -98,17 +103,37 @@ class GeminiSetup extends BaseIdeSetup {
|
|
|
98
103
|
console.log(chalk.green(` ✓ Added task: /bmad:tasks:${task.module}:${task.name}`));
|
|
99
104
|
}
|
|
100
105
|
|
|
106
|
+
// Install workflows as TOML files with bmad- prefix (flat structure)
|
|
107
|
+
let workflowCount = 0;
|
|
108
|
+
for (const artifact of workflowArtifacts) {
|
|
109
|
+
if (artifact.type === 'workflow-command') {
|
|
110
|
+
// Create TOML wrapper around workflow command content
|
|
111
|
+
const tomlContent = await this.createWorkflowToml(artifact);
|
|
112
|
+
|
|
113
|
+
// Flat structure: bmad-workflow-{module}-{name}.toml
|
|
114
|
+
const workflowName = path.basename(artifact.relativePath, '.md');
|
|
115
|
+
const tomlPath = path.join(commandsDir, `bmad-workflow-${artifact.module}-${workflowName}.toml`);
|
|
116
|
+
await this.writeFile(tomlPath, tomlContent);
|
|
117
|
+
workflowCount++;
|
|
118
|
+
|
|
119
|
+
console.log(chalk.green(` ✓ Added workflow: /bmad:workflows:${artifact.module}:${workflowName}`));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
101
123
|
console.log(chalk.green(`✓ ${this.name} configured:`));
|
|
102
124
|
console.log(chalk.dim(` - ${agentCount} agents configured`));
|
|
103
125
|
console.log(chalk.dim(` - ${taskCount} tasks configured`));
|
|
126
|
+
console.log(chalk.dim(` - ${workflowCount} workflows configured`));
|
|
104
127
|
console.log(chalk.dim(` - Commands directory: ${path.relative(projectDir, commandsDir)}`));
|
|
105
128
|
console.log(chalk.dim(` - Agent activation: /bmad:agents:{agent-name}`));
|
|
106
129
|
console.log(chalk.dim(` - Task activation: /bmad:tasks:{task-name}`));
|
|
130
|
+
console.log(chalk.dim(` - Workflow activation: /bmad:workflows:{workflow-name}`));
|
|
107
131
|
|
|
108
132
|
return {
|
|
109
133
|
success: true,
|
|
110
134
|
agents: agentCount,
|
|
111
135
|
tasks: taskCount,
|
|
136
|
+
workflows: workflowCount,
|
|
112
137
|
};
|
|
113
138
|
}
|
|
114
139
|
|
|
@@ -149,6 +174,7 @@ ${contentWithoutFrontmatter}
|
|
|
149
174
|
// Note: {user_name} and other {config_values} are left as-is for runtime substitution by Gemini
|
|
150
175
|
const tomlContent = template
|
|
151
176
|
.replaceAll('{{title}}', title)
|
|
177
|
+
.replaceAll('{{*bmad_folder*}}', '{bmad_folder}')
|
|
152
178
|
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
|
153
179
|
.replaceAll('{{module}}', agent.module)
|
|
154
180
|
.replaceAll('{{name}}', agent.name);
|
|
@@ -170,6 +196,7 @@ ${contentWithoutFrontmatter}
|
|
|
170
196
|
// Replace template variables
|
|
171
197
|
const tomlContent = template
|
|
172
198
|
.replaceAll('{{taskName}}', taskName)
|
|
199
|
+
.replaceAll('{{*bmad_folder*}}', '{bmad_folder}')
|
|
173
200
|
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
|
174
201
|
.replaceAll('{{module}}', task.module)
|
|
175
202
|
.replaceAll('{{filename}}', task.filename);
|
|
@@ -177,6 +204,27 @@ ${contentWithoutFrontmatter}
|
|
|
177
204
|
return tomlContent;
|
|
178
205
|
}
|
|
179
206
|
|
|
207
|
+
/**
|
|
208
|
+
* Create workflow TOML content from artifact
|
|
209
|
+
*/
|
|
210
|
+
async createWorkflowToml(artifact) {
|
|
211
|
+
// Extract description from artifact content
|
|
212
|
+
const descriptionMatch = artifact.content.match(/description:\s*"([^"]+)"/);
|
|
213
|
+
const description = descriptionMatch
|
|
214
|
+
? descriptionMatch[1]
|
|
215
|
+
: `BMAD ${artifact.module.toUpperCase()} Workflow: ${path.basename(artifact.relativePath, '.md')}`;
|
|
216
|
+
|
|
217
|
+
// Strip frontmatter from command content
|
|
218
|
+
const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
|
219
|
+
const contentWithoutFrontmatter = artifact.content.replace(frontmatterRegex, '').trim();
|
|
220
|
+
|
|
221
|
+
return `description = "${description}"
|
|
222
|
+
prompt = """
|
|
223
|
+
${contentWithoutFrontmatter}
|
|
224
|
+
"""
|
|
225
|
+
`;
|
|
226
|
+
}
|
|
227
|
+
|
|
180
228
|
/**
|
|
181
229
|
* Cleanup Gemini configuration - surgically remove only BMAD files
|
|
182
230
|
*/
|
|
@@ -201,6 +249,53 @@ ${contentWithoutFrontmatter}
|
|
|
201
249
|
}
|
|
202
250
|
}
|
|
203
251
|
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Install a custom agent launcher for Gemini
|
|
255
|
+
* @param {string} projectDir - Project directory
|
|
256
|
+
* @param {string} agentName - Agent name (e.g., "fred-commit-poet")
|
|
257
|
+
* @param {string} agentPath - Path to compiled agent (relative to project root)
|
|
258
|
+
* @param {Object} metadata - Agent metadata
|
|
259
|
+
* @returns {Object} Installation result
|
|
260
|
+
*/
|
|
261
|
+
async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
|
|
262
|
+
const geminiDir = path.join(projectDir, this.configDir);
|
|
263
|
+
const commandsDir = path.join(geminiDir, this.commandsDir);
|
|
264
|
+
|
|
265
|
+
// Create .gemini/commands directory if it doesn't exist
|
|
266
|
+
await fs.ensureDir(commandsDir);
|
|
267
|
+
|
|
268
|
+
// Create custom agent launcher in TOML format
|
|
269
|
+
const launcherContent = `description = "Custom BMAD Agent: ${agentName}"
|
|
270
|
+
prompt = """
|
|
271
|
+
**⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
|
|
272
|
+
|
|
273
|
+
This is a launcher for the custom BMAD agent "${agentName}".
|
|
274
|
+
|
|
275
|
+
## Usage
|
|
276
|
+
1. First run: \`${agentPath}\` to load the complete agent
|
|
277
|
+
2. Then use this command to activate ${agentName}
|
|
278
|
+
|
|
279
|
+
The agent will follow the persona and instructions from the main agent file.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
*Generated by BMAD Method*
|
|
284
|
+
"""`;
|
|
285
|
+
|
|
286
|
+
const fileName = `bmad-custom-${agentName.toLowerCase()}.toml`;
|
|
287
|
+
const launcherPath = path.join(commandsDir, fileName);
|
|
288
|
+
|
|
289
|
+
// Write the launcher file
|
|
290
|
+
await fs.writeFile(launcherPath, launcherContent, 'utf8');
|
|
291
|
+
|
|
292
|
+
return {
|
|
293
|
+
ide: 'gemini',
|
|
294
|
+
path: path.relative(projectDir, launcherPath),
|
|
295
|
+
command: agentName,
|
|
296
|
+
type: 'custom-agent-launcher',
|
|
297
|
+
};
|
|
298
|
+
}
|
|
204
299
|
}
|
|
205
300
|
|
|
206
301
|
module.exports = { GeminiSetup };
|