bmad-method 6.0.0-alpha.16 โ 6.0.0-alpha.17
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 +7 -3
- package/.github/scripts/discord-helpers.sh +21 -2
- package/.github/workflows/discord.yaml +31 -7
- package/.github/workflows/manual-release.yaml +12 -42
- package/.markdownlint-cli2.yaml +2 -2
- package/.prettierignore +2 -2
- package/.vscode/settings.json +1 -1
- package/CHANGELOG.md +96 -2
- package/LICENSE +1 -1
- package/README.md +29 -2
- package/docs/agent-customization-guide.md +10 -10
- package/docs/custom-content-installation.md +100 -196
- package/docs/custom-content.md +122 -0
- package/docs/ide-info/crush.md +1 -1
- package/docs/ide-info/cursor.md +7 -7
- package/docs/ide-info/iflow.md +3 -3
- package/docs/ide-info/opencode.md +1 -1
- package/docs/ide-info/rovo-dev.md +1 -1
- package/docs/index.md +2 -2
- package/docs/installers-bundlers/ide-injections.md +2 -2
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +13 -13
- package/docs/sample-custom-modules/README.md +11 -0
- package/docs/sample-custom-modules/sample-unitary-module/README.md +8 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +129 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
- package/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml +109 -0
- package/docs/sample-custom-modules/sample-unitary-module/module.yaml +8 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +168 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md +155 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md +89 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md +36 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md +150 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template +1 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +54 -0
- package/docs/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md +26 -0
- package/docs/sample-custom-modules/sample-wellness-module/README.md +6 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml +136 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md +3 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md +1 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
- package/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml +120 -0
- package/docs/sample-custom-modules/sample-wellness-module/module.yaml +17 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md +32 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md +45 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md +31 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md +45 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md +31 -0
- package/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md +45 -0
- package/docs/v4-to-v6-upgrade.md +27 -27
- package/docs/web-bundles-gemini-gpt-guide.md +6 -458
- package/eslint.config.mjs +2 -2
- package/package.json +1 -1
- package/src/core/agents/bmad-master.agent.yaml +6 -11
- package/src/core/module.yaml +11 -18
- package/src/core/resources/excalidraw/README.md +6 -6
- package/src/core/tasks/advanced-elicitation.xml +3 -3
- package/src/core/tasks/index-docs.xml +1 -1
- package/src/core/tasks/validate-workflow.xml +1 -1
- package/src/core/tasks/workflow.xml +4 -4
- package/src/core/tools/shard-doc.xml +12 -12
- package/src/core/workflows/brainstorming/workflow.md +3 -3
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +2 -2
- package/src/core/workflows/party-mode/workflow.md +4 -4
- package/src/modules/bmb/agents/bmad-builder.agent.yaml +15 -15
- package/src/modules/bmb/{README.md โ docs/README.md} +15 -27
- package/src/modules/bmb/docs/agents/agent-compilation.md +3 -3
- package/src/modules/bmb/docs/agents/agent-menu-patterns.md +23 -24
- package/src/modules/bmb/docs/agents/expert-agent-architecture.md +20 -21
- package/src/modules/bmb/docs/agents/simple-agent-architecture.md +17 -52
- package/src/modules/bmb/docs/agents/understanding-agent-types.md +6 -6
- package/src/modules/bmb/docs/workflows/architecture.md +1 -1
- package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +3 -3
- package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +1 -1
- package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +1 -1
- package/src/modules/bmb/docs/workflows/templates/step-file.md +3 -3
- package/src/modules/bmb/docs/workflows/templates/step-template.md +3 -3
- package/src/modules/bmb/docs/workflows/templates/workflow-template.md +2 -2
- package/src/modules/bmb/docs/workflows/templates/workflow.md +1 -1
- package/src/modules/bmb/module.yaml +6 -15
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +7 -7
- package/src/modules/bmb/reference/agents/module-examples/README.md +3 -4
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +5 -5
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
- package/src/modules/bmb/reference/agents/simple-examples/README.md +1 -1
- package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
- package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +1 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +6 -6
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
- package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
- package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +3 -3
- package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +4 -4
- package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +6 -10
- package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +6 -6
- package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +9 -9
- package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +6 -5
- package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +19 -57
- package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +5 -5
- package/src/modules/bmb/workflows/create-agent/steps/{step-11-celebrate.md โ step-08-celebrate.md} +2 -6
- package/src/modules/bmb/workflows/create-agent/templates/agent-plan.template.md +3 -0
- package/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md +364 -0
- package/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md +257 -0
- package/src/modules/bmb/workflows/create-agent/workflow.md +2 -35
- package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +2 -2
- package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +4 -4
- package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +6 -6
- package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +5 -5
- package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +8 -8
- package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +5 -5
- package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +8 -8
- package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +7 -7
- package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +7 -7
- package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +6 -6
- package/src/modules/bmb/workflows/create-module/templates/agent.template.md +15 -19
- package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +1 -1
- package/src/modules/bmb/workflows/create-module/workflow.md +3 -3
- package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +6 -6
- package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +5 -5
- package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +11 -11
- package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +14 -14
- package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +4 -4
- package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +2 -2
- package/src/modules/bmb/workflows/create-workflow/workflow.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +12 -12
- package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +4 -4
- package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +2 -2
- package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +4 -4
- package/src/modules/bmb/workflows/edit-agent/workflow.md +1 -1
- package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +4 -4
- package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +6 -6
- package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +3 -3
- package/src/modules/bmb/workflows/edit-workflow/workflow.md +1 -1
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +3 -3
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +5 -5
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +6 -6
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +4 -4
- package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +3 -3
- package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +1 -1
- package/src/modules/bmb/workflows-legacy/edit-module/README.md +1 -17
- package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +3 -4
- package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +4 -5
- package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +10 -10
- package/src/modules/bmb/workflows-legacy/module-brief/README.md +2 -2
- package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +2 -2
- package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +4 -4
- package/src/modules/bmgd/README.md +1 -1
- package/src/modules/bmgd/agents/game-architect.agent.yaml +6 -6
- package/src/modules/bmgd/agents/game-designer.agent.yaml +7 -7
- package/src/modules/bmgd/agents/game-dev.agent.yaml +10 -10
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +21 -21
- package/src/modules/bmgd/module.yaml +2 -7
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +9 -9
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +1 -1
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +8 -8
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +4 -4
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +30 -30
- package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +5 -5
- package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +1 -1
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +4 -4
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +3 -3
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +2 -2
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +2 -2
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +2 -2
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +2 -2
- package/src/modules/bmm/README.md +1 -1
- package/src/modules/bmm/agents/analyst.agent.yaml +9 -9
- package/src/modules/bmm/agents/architect.agent.yaml +8 -8
- package/src/modules/bmm/agents/dev.agent.yaml +5 -5
- package/src/modules/bmm/agents/pm.agent.yaml +8 -8
- package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +5 -5
- package/src/modules/bmm/agents/sm.agent.yaml +11 -11
- package/src/modules/bmm/agents/tea.agent.yaml +13 -13
- package/src/modules/bmm/agents/tech-writer.agent.yaml +9 -9
- package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -6
- package/src/modules/bmm/docs/agents-guide.md +16 -14
- package/src/modules/bmm/docs/brownfield-guide.md +6 -6
- package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
- package/src/modules/bmm/docs/faq.md +5 -18
- package/src/modules/bmm/docs/glossary.md +3 -4
- package/src/modules/bmm/docs/images/README.md +1 -1
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +8 -8
- package/src/modules/bmm/docs/party-mode.md +3 -3
- package/src/modules/bmm/docs/quick-flow-solo-dev.md +5 -5
- package/src/modules/bmm/docs/quick-spec-flow.md +2 -16
- package/src/modules/bmm/docs/quick-start.md +3 -3
- package/src/modules/bmm/docs/test-architecture.md +15 -23
- package/src/modules/bmm/docs/troubleshooting.md +6 -25
- package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
- package/src/modules/bmm/docs/workflows-implementation.md +3 -4
- package/src/modules/bmm/module.yaml +25 -23
- package/src/modules/bmm/testarch/knowledge/overview.md +0 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-01b-continue.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-02-vision.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-03-users.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-04-metrics.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-05-scope.md +3 -3
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/steps/step-06-complete.md +1 -1
- package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/workflow.md +2 -2
- package/src/modules/bmm/workflows/1-analysis/research/workflow.md +2 -2
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +4 -4
- package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +2 -2
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +3 -3
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +7 -7
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +8 -8
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +12 -12
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +12 -12
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +10 -10
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +7 -7
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +9 -9
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +9 -9
- package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +1 -1
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-01-document-discovery.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-02-prd-analysis.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-04-ux-alignment.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-05-epic-quality-review.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/steps/step-06-final-assessment.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/workflow.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-01-init.md +1 -1
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-02-context.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-03-starter.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-04-decisions.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-05-patterns.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-06-structure.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-07-validation.md +4 -4
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-08-complete.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/workflow.md +2 -2
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +3 -3
- package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +4 -3
- package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +5 -5
- package/src/modules/bmm/workflows/4-implementation/create-story/template.md +3 -5
- package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +2 -2
- package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +11 -8
- package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
- package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +3 -3
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +15 -22
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +4 -5
- package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +90 -35
- package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +5 -5
- package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +7 -7
- package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
- package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
- package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-dataflow/instructions.md +1 -1
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-dataflow/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-diagram/instructions.md +2 -2
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-diagram/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-flowchart/instructions.md +2 -2
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-flowchart/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-wireframe/instructions.md +1 -1
- package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-wireframe/workflow.yaml +6 -6
- package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +2 -2
- package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +3 -3
- package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +2 -2
- package/src/modules/bmm/workflows/generate-project-context/workflow.md +5 -5
- package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
- package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/ci/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/framework/instructions.md +3 -3
- package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/test-design/instructions.md +3 -3
- package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +10 -4
- package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
- package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/testarch/trace/instructions.md +6 -6
- package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -2
- package/src/modules/bmm/workflows/workflow-status/init/instructions.md +1 -1
- package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/workflow-status/instructions.md +3 -3
- package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
- package/src/modules/bmm/workflows/workflow-status/workflow.yaml +2 -2
- package/src/modules/cis/agents/brainstorming-coach.agent.yaml +4 -4
- package/src/modules/cis/agents/creative-problem-solver.agent.yaml +4 -4
- package/src/modules/cis/agents/design-thinking-coach.agent.yaml +4 -4
- package/src/modules/cis/agents/innovation-strategist.agent.yaml +4 -4
- package/src/modules/cis/agents/presentation-master.agent.yaml +3 -3
- package/src/modules/cis/agents/storyteller/storyteller-sidecar/stories-told.md +7 -0
- package/src/modules/cis/agents/storyteller/storyteller-sidecar/story-preferences.md +7 -0
- package/src/modules/cis/agents/{storyteller.agent.yaml โ storyteller/storyteller.agent.yaml} +9 -4
- package/src/modules/cis/module.yaml +3 -7
- package/src/modules/cis/{README.md โ readme.md} +1 -1
- package/src/modules/cis/workflows/README.md +1 -1
- package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
- package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -7
- package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
- package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -7
- package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
- package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -7
- package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
- package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -7
- package/src/utility/agent-components/activation-rules.txt +7 -0
- package/src/utility/agent-components/activation-steps.txt +13 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/{templates โ agent-components}/agent.customize.template.yaml +0 -1
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-exec.txt +6 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/test/README.md +1 -1
- package/test/test-agent-schema.js +2 -2
- package/tools/cli/README.md +1 -607
- package/tools/cli/commands/build.js +7 -7
- package/tools/cli/commands/install.js +9 -20
- package/tools/cli/commands/list.js +13 -1
- package/tools/cli/installers/lib/core/config-collector.js +224 -59
- package/tools/cli/installers/lib/core/custom-module-cache.js +18 -10
- package/tools/cli/installers/lib/core/dependency-resolver.js +2 -2
- package/tools/cli/installers/lib/core/detector.js +16 -16
- package/tools/cli/installers/lib/core/ide-config-manager.js +9 -7
- package/tools/cli/installers/lib/core/installer.js +540 -946
- package/tools/cli/installers/lib/core/manifest-generator.js +43 -40
- package/tools/cli/installers/lib/core/manifest.js +23 -20
- package/tools/cli/installers/lib/custom/handler.js +16 -46
- package/tools/cli/installers/lib/ide/_base-ide.js +26 -33
- 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 +2 -2
- package/tools/cli/installers/lib/ide/gemini.js +6 -6
- package/tools/cli/installers/lib/ide/kiro-cli.js +2 -2
- package/tools/cli/installers/lib/ide/opencode.js +2 -2
- package/tools/cli/installers/lib/ide/roo.js +15 -5
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +2 -2
- package/tools/cli/installers/lib/ide/shared/module-injections.js +2 -2
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +2 -2
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +4 -4
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +3 -3
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +3 -3
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +1 -1
- package/tools/cli/installers/lib/modules/manager.js +304 -313
- package/tools/cli/lib/activation-builder.js +8 -13
- package/tools/cli/lib/agent/compiler.js +68 -168
- package/tools/cli/lib/agent/installer.js +8 -128
- package/tools/cli/lib/agent-analyzer.js +2 -2
- package/tools/cli/lib/agent-party-generator.js +5 -17
- package/tools/cli/lib/config.js +2 -2
- package/tools/cli/lib/platform-codes.js +2 -2
- package/tools/cli/lib/ui.js +631 -568
- package/tools/cli/lib/xml-handler.js +3 -55
- package/tools/cli/lib/yaml-format.js +4 -6
- package/tools/cli/lib/yaml-xml-builder.js +14 -26
- package/tools/flattener/ignoreRules.js +1 -1
- package/tools/flattener/xml.js +1 -7
- package/tools/lib/xml-utils.js +13 -0
- package/tools/migrate-custom-module-paths.js +2 -2
- package/tools/validate-agent-schema.js +2 -2
- package/docs/v6-open-items.md +0 -17
- package/src/core/agents/bmad-web-orchestrator.agent.xml +0 -113
- package/src/modules/bmb/_module-installer/installer.js +0 -76
- package/src/modules/bmb/docs/agents/module-agent-architecture.md +0 -366
- package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +0 -179
- package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +0 -197
- package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +0 -180
- package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +0 -21
- package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +0 -25
- package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +0 -23
- package/src/modules/bmm/tasks/daily-standup.xml +0 -85
- package/src/modules/cis/agents/README.md +0 -104
- package/src/utility/models/action-command-header.md +0 -0
- package/src/utility/models/agent-activation-ide.xml +0 -51
- package/src/utility/models/agent-activation-web.xml +0 -50
- package/src/utility/models/agent-command-header.md +0 -1
- package/src/utility/models/agent-config-template.md +0 -23
- package/src/utility/models/agent-in-team-activation.xml +0 -3
- package/src/utility/models/fragments/activation-rules.xml +0 -7
- package/src/utility/models/fragments/activation-steps.xml +0 -16
- package/src/utility/models/fragments/handler-action.xml +0 -4
- package/src/utility/models/fragments/handler-exec.xml +0 -6
- package/src/utility/models/fragments/handler-multi.xml +0 -14
- package/src/utility/models/fragments/handler-tmpl.xml +0 -5
- package/src/utility/models/fragments/handler-validate-workflow.xml +0 -7
- package/src/utility/models/fragments/handler-workflow.xml +0 -9
- package/src/utility/models/fragments/menu-handlers.xml +0 -6
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +0 -32
- package/tools/cli/bundlers/bundle-web.js +0 -179
- package/tools/cli/bundlers/test-analyst.js +0 -28
- package/tools/cli/bundlers/test-bundler.js +0 -118
- package/tools/cli/bundlers/web-bundler.js +0 -1754
- package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +0 -79
- package/tools/cli/lib/replace-project-root.js +0 -239
- package/tools/cli/regenerate-manifests.js +0 -27
- package/tools/cli/test-yaml-builder.js +0 -43
- /package/src/modules/bmgd/workflows/4-production/code-review/{backlog_template.md โ backlog-template.md} +0 -0
- /package/src/modules/bmm/workflows/1-analysis/{product-brief โ create-product-brief}/product-brief.template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{implementation-readiness โ check-implementation-readiness}/templates/readiness-report-template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/architecture-decision-template.md +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/data/domain-complexity.csv +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/data/project-types.csv +0 -0
- /package/src/modules/bmm/workflows/3-solutioning/{architecture โ create-architecture}/steps/step-01b-continue.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/_shared/excalidraw-library.json +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/_shared/excalidraw-templates.yaml +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-dataflow/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-diagram/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-flowchart/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{diagrams โ excalidraw-diagrams}/create-wireframe/checklist.md +0 -0
- /package/src/utility/{models/fragments/handler-data.xml โ agent-components/handler-data.txt} +0 -0
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<activation critical="MANDATORY">
|
|
2
|
-
<init>
|
|
3
|
-
<step n="1">Load persona from this current file containing this activation you are reading now</step>
|
|
4
|
-
<step n="2">Override with {project-root}/.bmad/_cfg/agents/{agent-filename} if exists (replace, not merge)</step>
|
|
5
|
-
<step n="3">Execute critical-actions section if present in current agent XML</step>
|
|
6
|
-
<step n="4">Show greeting + numbered list of ALL commands IN ORDER from current agent's cmds section</step>
|
|
7
|
-
<step n="5">CRITICAL HALT. AWAIT user input. NEVER continue without it.</step>
|
|
8
|
-
</init>
|
|
9
|
-
<commands critical="MANDATORY">
|
|
10
|
-
<input>Number โ cmd[n] | Text โ fuzzy match *commands</input>
|
|
11
|
-
<extract>exec, tmpl, data, action, validate-workflow</extract>
|
|
12
|
-
<handlers>
|
|
13
|
-
<handler type="progressive-workflow">
|
|
14
|
-
When command has: run-progressive-workflow="path/to/x.yaml" You MUST:
|
|
15
|
-
1. CRITICAL: Always LOAD {project-root}/.bmad/core/tasks/workflow.xml
|
|
16
|
-
2. READ its entire contents - the is the CORE OS for EXECUTING workflows
|
|
17
|
-
3. Pass the yaml path as 'workflow-config' parameter to those instructions
|
|
18
|
-
4. Follow workflow.xml instructions EXACTLY as written
|
|
19
|
-
5. Save outputs after EACH section (never batch)
|
|
20
|
-
</handler>
|
|
21
|
-
<handler type="validate-workflow">
|
|
22
|
-
When command has: validate-workflow="path/to/workflow.yaml" You MUST:
|
|
23
|
-
1. You MUST LOAD the file at: {project-root}/.bmad/core/tasks/validate-workflow.xml
|
|
24
|
-
2. READ its entire contents and EXECUTE all instructions in that file
|
|
25
|
-
3. Pass the workflow, and also check the workflow location for a checklist.md to pass as the checklist
|
|
26
|
-
4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify
|
|
27
|
-
</handler>
|
|
28
|
-
<handler type="action">
|
|
29
|
-
When command has: action="#id" โ Find prompt with id="id" in current agent XML, execute its content
|
|
30
|
-
When command has: action="text" โ Execute the text directly as a critical action prompt
|
|
31
|
-
</handler>
|
|
32
|
-
<handler type="data">
|
|
33
|
-
When command has: data="path/to/x.json|yaml|yml"
|
|
34
|
-
Load the file, parse as JSON/YAML, make available as {data} to subsequent operations
|
|
35
|
-
</handler>
|
|
36
|
-
<handler type="tmpl">
|
|
37
|
-
When command has: tmpl="path/to/x.md"
|
|
38
|
-
Load file, parse as markdown with {{mustache}} templates, make available to action/exec/workflow
|
|
39
|
-
</handler>
|
|
40
|
-
<handler type="exec">
|
|
41
|
-
When command has: exec="path"
|
|
42
|
-
Actually LOAD and EXECUTE the file at that path - do not improvise
|
|
43
|
-
</handler>
|
|
44
|
-
</handlers>
|
|
45
|
-
</commands>
|
|
46
|
-
<rules critical="MANDATORY">
|
|
47
|
-
Stay in character until *exit
|
|
48
|
-
Number all option lists, use letters for sub-options
|
|
49
|
-
Load files ONLY when executing
|
|
50
|
-
</rules>
|
|
51
|
-
</activation>
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<activation critical="MANDATORY">
|
|
2
|
-
<init>
|
|
3
|
-
<step n="1">Load persona from this current agent xml block containing this activation you are reading now</step>
|
|
4
|
-
<step n="2">Show greeting + numbered list of ALL commands IN ORDER from current agent's cmds section</step>
|
|
5
|
-
<step n="3">CRITICAL HALT. AWAIT user input. NEVER continue without it.</step>
|
|
6
|
-
</init>
|
|
7
|
-
<bundled-files critical="MANDATORY">
|
|
8
|
-
<access-method>
|
|
9
|
-
All dependencies are bundled within this XML file as <file> elements with CDATA content.
|
|
10
|
-
When you need to access a file path like ".bmad/core/tasks/workflow.xml":
|
|
11
|
-
1. Find the <file id=".bmad/core/tasks/workflow.xml"> element in this document
|
|
12
|
-
2. Extract the content from within the CDATA section
|
|
13
|
-
3. Use that content as if you read it from the filesystem
|
|
14
|
-
</access-method>
|
|
15
|
-
<rules>
|
|
16
|
-
<rule>NEVER attempt to read files from filesystem - all files are bundled in this XML</rule>
|
|
17
|
-
<rule>File paths starting with ".bmad/" or "{project-root}/.bmad/" refer to <file id="..."> elements</rule>
|
|
18
|
-
<rule>When instructions reference a file path, locate the corresponding <file> element by matching the id attribute</rule>
|
|
19
|
-
<rule>YAML files are bundled with only their web_bundle section content (flattened to root level)</rule>
|
|
20
|
-
</rules>
|
|
21
|
-
</bundled-files>
|
|
22
|
-
<commands critical="MANDATORY">
|
|
23
|
-
<input>Number โ cmd[n] | Text โ fuzzy match *commands</input>
|
|
24
|
-
<extract>exec, tmpl, data, action, validate-workflow</extract>
|
|
25
|
-
<handlers>
|
|
26
|
-
<handler type="action">
|
|
27
|
-
When command has: action="#id" โ Find prompt with id="id" in current agent XML, execute its content
|
|
28
|
-
When command has: action="text" โ Execute the text directly as a critical action prompt
|
|
29
|
-
</handler>
|
|
30
|
-
<handler type="data">
|
|
31
|
-
When command has: data="path/to/x.json|yaml|yml"
|
|
32
|
-
Locate <file id="path/to/x.json|yaml|yml"> in this bundle, extract CDATA, parse as JSON/YAML, make available as {data}
|
|
33
|
-
</handler>
|
|
34
|
-
<handler type="tmpl">
|
|
35
|
-
When command has: tmpl="path/to/x.md"
|
|
36
|
-
Locate <file id="path/to/x.md"> in this bundle, extract CDATA, parse as markdown with {{mustache}} templates
|
|
37
|
-
</handler>
|
|
38
|
-
<handler type="exec">
|
|
39
|
-
When command has: exec="path"
|
|
40
|
-
Locate <file id="path"> in this bundle, extract CDATA, and EXECUTE that content
|
|
41
|
-
</handler>
|
|
42
|
-
</handlers>
|
|
43
|
-
</commands>
|
|
44
|
-
<rules critical="MANDATORY">
|
|
45
|
-
Stay in character until *exit
|
|
46
|
-
Number all option lists, use letters for sub-options
|
|
47
|
-
All file content is bundled in <file> elements - locate by id attribute
|
|
48
|
-
NEVER attempt filesystem operations - everything is in this XML
|
|
49
|
-
</rules>
|
|
50
|
-
</activation>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<critical>You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command.</critical>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
```xml
|
|
2
|
-
<agent-config name="" title="">
|
|
3
|
-
|
|
4
|
-
<llm critical="true">
|
|
5
|
-
<i>ALWAYS respond in {core:communication_language}.</i>
|
|
6
|
-
</llm>
|
|
7
|
-
|
|
8
|
-
<!-- Standard Agent Persona Configuration -->
|
|
9
|
-
|
|
10
|
-
<role></role>
|
|
11
|
-
<identity></identity>
|
|
12
|
-
<communication_style></communication_style>
|
|
13
|
-
<principles></principles>
|
|
14
|
-
<memories>
|
|
15
|
-
<memory>The users name is {core:user_name}</memory>
|
|
16
|
-
</memories>
|
|
17
|
-
|
|
18
|
-
<!-- User Added custom Agent Configuration Nodes -->
|
|
19
|
-
|
|
20
|
-
<!-- Agent-specific configuration nodes -->
|
|
21
|
-
|
|
22
|
-
</agent-config>
|
|
23
|
-
```
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<rules>
|
|
2
|
-
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
|
|
3
|
-
<!-- TTS_INJECTION:agent-tts -->
|
|
4
|
-
<r> Stay in character until exit selected</r>
|
|
5
|
-
<r> Display Menu items as the item dictates and in the order given.</r>
|
|
6
|
-
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
|
|
7
|
-
</rules>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<step n="1">Load persona from this current agent file (already in context)</step>
|
|
2
|
-
<step n="2">๐จ IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
|
|
3
|
-
- Load and read {project-root}/.bmad/{{module}}/config.yaml NOW
|
|
4
|
-
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
|
|
5
|
-
- VERIFY: If config not loaded, STOP and report error to user
|
|
6
|
-
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
|
|
7
|
-
<step n="3">Remember: user's name is {user_name}</step>
|
|
8
|
-
{AGENT_SPECIFIC_STEPS}
|
|
9
|
-
<step n="{MENU_STEP}">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
|
|
10
|
-
ALL menu items from menu section</step>
|
|
11
|
-
<step n="{HALT_STEP}">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command
|
|
12
|
-
match</step>
|
|
13
|
-
<step n="{INPUT_STEP}">On user input: Number โ execute menu item[n] | Text โ case-insensitive substring match | Multiple matches โ ask user
|
|
14
|
-
to clarify | No match โ show "Not recognized"</step>
|
|
15
|
-
<step n="{EXECUTE_STEP}">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
|
|
16
|
-
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<handler type="exec">
|
|
2
|
-
When menu item or handler has: exec="path/to/file.md":
|
|
3
|
-
1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise
|
|
4
|
-
2. Read the complete file and follow all instructions within it
|
|
5
|
-
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
|
|
6
|
-
</handler>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<handler type="multi">
|
|
2
|
-
When menu item has: type="multi" with nested handlers
|
|
3
|
-
1. Display the multi item text as a single menu option
|
|
4
|
-
2. Parse all nested handlers within the multi item
|
|
5
|
-
3. For each nested handler:
|
|
6
|
-
- Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets [])
|
|
7
|
-
- Execute based on handler attributes (exec, workflow, action)
|
|
8
|
-
4. When user input matches a handler's 'match' pattern:
|
|
9
|
-
- For exec="path/to/file.md": follow the `handler type="exec"` instructions
|
|
10
|
-
- For workflow="path/to/workflow.yaml": follow the `handler type="workflow"` instructions
|
|
11
|
-
- For action="...": Perform the specified action directly
|
|
12
|
-
5. Support both exact matches and fuzzy matching based on the match attribute
|
|
13
|
-
6. If no handler matches, prompt user to choose from available options
|
|
14
|
-
</handler>
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<handler type="validate-workflow">
|
|
2
|
-
When command has: validate-workflow="path/to/workflow.yaml"
|
|
3
|
-
1. You MUST LOAD the file at: {project-root}/.bmad/core/tasks/validate-workflow.xml
|
|
4
|
-
2. READ its entire contents and EXECUTE all instructions in that file
|
|
5
|
-
3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist
|
|
6
|
-
4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify
|
|
7
|
-
</handler>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<handler type="workflow">
|
|
2
|
-
When menu item has: workflow="path/to/workflow.yaml"
|
|
3
|
-
1. CRITICAL: Always LOAD {project-root}/.bmad/core/tasks/workflow.xml
|
|
4
|
-
2. Read the complete file - this is the CORE OS for executing BMAD workflows
|
|
5
|
-
3. Pass the yaml path as 'workflow-config' parameter to those instructions
|
|
6
|
-
4. Execute workflow.xml instructions precisely following all steps
|
|
7
|
-
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
|
|
8
|
-
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
|
|
9
|
-
</handler>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<step n="1">Load persona from this current agent XML block containing this activation you are reading now</step>
|
|
2
|
-
{AGENT_SPECIFIC_STEPS}
|
|
3
|
-
<step n="{MENU_STEP}">Show greeting + numbered list of ALL commands IN ORDER from current agent's menu section</step>
|
|
4
|
-
<step n="{HALT_STEP}">CRITICAL HALT. AWAIT user input. NEVER continue without it.</step>
|
|
5
|
-
<step n="{INPUT_STEP}">On user input: Number โ execute menu item[n] | Text โ case-insensitive substring match | Multiple matches โ ask user
|
|
6
|
-
to clarify | No match โ show "Not recognized"</step>
|
|
7
|
-
<step n="{EXECUTE_STEP}">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
|
|
8
|
-
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
|
|
9
|
-
|
|
10
|
-
<bundled-files critical="MANDATORY">
|
|
11
|
-
<access-method>
|
|
12
|
-
All dependencies are bundled within this XML file as <file> elements with CDATA content.
|
|
13
|
-
When you need to access a file path like ".bmad/core/tasks/workflow.xml":
|
|
14
|
-
1. Find the <file id=".bmad/core/tasks/workflow.xml"> element in this document
|
|
15
|
-
2. Extract the content from within the CDATA section
|
|
16
|
-
3. Use that content as if you read it from the filesystem
|
|
17
|
-
</access-method>
|
|
18
|
-
<rules>
|
|
19
|
-
<rule>NEVER attempt to read files from filesystem - all files are bundled in this XML</rule>
|
|
20
|
-
<rule>File paths starting with ".bmad/" refer to <file id="..."> elements</rule>
|
|
21
|
-
<rule>When instructions reference a file path, locate the corresponding <file> element by matching the id attribute</rule>
|
|
22
|
-
<rule>YAML files are bundled with only their web_bundle section content (flattened to root level)</rule>
|
|
23
|
-
</rules>
|
|
24
|
-
</bundled-files>
|
|
25
|
-
|
|
26
|
-
<rules>
|
|
27
|
-
Stay in character until *exit
|
|
28
|
-
Number all option lists, use letters for sub-options
|
|
29
|
-
All file content is bundled in <file> elements - locate by id attribute
|
|
30
|
-
NEVER attempt filesystem operations - everything is in this XML
|
|
31
|
-
Menu triggers use asterisk (*) - display exactly as shown
|
|
32
|
-
</rules>
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
const { WebBundler } = require('./web-bundler');
|
|
2
|
-
const chalk = require('chalk');
|
|
3
|
-
const { program } = require('commander');
|
|
4
|
-
const path = require('node:path');
|
|
5
|
-
const fs = require('fs-extra');
|
|
6
|
-
|
|
7
|
-
program.name('bundle-web').description('Generate web bundles for BMAD agents and teams').version('1.0.0');
|
|
8
|
-
|
|
9
|
-
program
|
|
10
|
-
.command('all')
|
|
11
|
-
.description('Bundle all modules')
|
|
12
|
-
.option('-o, --output <path>', 'Output directory', 'web-bundles')
|
|
13
|
-
.action(async (options) => {
|
|
14
|
-
try {
|
|
15
|
-
const bundler = new WebBundler(null, options.output);
|
|
16
|
-
await bundler.bundleAll();
|
|
17
|
-
} catch (error) {
|
|
18
|
-
console.error(chalk.red('Error:'), error.message);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
program
|
|
24
|
-
.command('rebundle')
|
|
25
|
-
.description('Clean and rebundle all modules')
|
|
26
|
-
.option('-o, --output <path>', 'Output directory', 'web-bundles')
|
|
27
|
-
.action(async (options) => {
|
|
28
|
-
try {
|
|
29
|
-
// Clean output directory first
|
|
30
|
-
const outputDir = path.isAbsolute(options.output) ? options.output : path.join(process.cwd(), options.output);
|
|
31
|
-
|
|
32
|
-
if (await fs.pathExists(outputDir)) {
|
|
33
|
-
console.log(chalk.cyan(`๐งน Cleaning ${options.output}...`));
|
|
34
|
-
await fs.emptyDir(outputDir);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Bundle all
|
|
38
|
-
const bundler = new WebBundler(null, options.output);
|
|
39
|
-
await bundler.bundleAll();
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error(chalk.red('Error:'), error.message);
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
program
|
|
47
|
-
.command('module <name>')
|
|
48
|
-
.description('Bundle a specific module')
|
|
49
|
-
.option('-o, --output <path>', 'Output directory', 'web-bundles')
|
|
50
|
-
.action(async (moduleName, options) => {
|
|
51
|
-
try {
|
|
52
|
-
const bundler = new WebBundler(null, options.output);
|
|
53
|
-
const result = await bundler.bundleModule(moduleName);
|
|
54
|
-
|
|
55
|
-
if (result.agents.length === 0 && result.teams.length === 0) {
|
|
56
|
-
console.log(chalk.yellow(`No agents or teams found in module: ${moduleName}`));
|
|
57
|
-
} else {
|
|
58
|
-
console.log(chalk.green(`\nโจ Successfully bundled ${result.agents.length} agents and ${result.teams.length} teams`));
|
|
59
|
-
}
|
|
60
|
-
} catch (error) {
|
|
61
|
-
console.error(chalk.red('Error:'), error.message);
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
program
|
|
67
|
-
.command('agent <module> <agent>')
|
|
68
|
-
.description('Bundle a specific agent')
|
|
69
|
-
.option('-o, --output <path>', 'Output directory', 'web-bundles')
|
|
70
|
-
.action(async (moduleName, agentFile, options) => {
|
|
71
|
-
try {
|
|
72
|
-
const bundler = new WebBundler(null, options.output);
|
|
73
|
-
|
|
74
|
-
// Ensure .md extension
|
|
75
|
-
if (!agentFile.endsWith('.md')) {
|
|
76
|
-
agentFile += '.md';
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Pre-discover module for complete manifests
|
|
80
|
-
await bundler.preDiscoverModule(moduleName);
|
|
81
|
-
|
|
82
|
-
await bundler.bundleAgent(moduleName, agentFile, false);
|
|
83
|
-
console.log(chalk.green(`\nโจ Successfully bundled agent: ${agentFile}`));
|
|
84
|
-
} catch (error) {
|
|
85
|
-
console.error(chalk.red('Error:'), error.message);
|
|
86
|
-
process.exit(1);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
program
|
|
91
|
-
.command('team <module> <team>')
|
|
92
|
-
.description('Bundle a specific team')
|
|
93
|
-
.option('-o, --output <path>', 'Output directory', 'web-bundles')
|
|
94
|
-
.action(async (moduleName, teamFile, options) => {
|
|
95
|
-
try {
|
|
96
|
-
const bundler = new WebBundler(null, options.output);
|
|
97
|
-
|
|
98
|
-
// Ensure .yaml or .yml extension
|
|
99
|
-
if (!teamFile.endsWith('.yaml') && !teamFile.endsWith('.yml')) {
|
|
100
|
-
teamFile += '.yaml';
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Pre-discover module for complete manifests
|
|
104
|
-
await bundler.preDiscoverModule(moduleName);
|
|
105
|
-
|
|
106
|
-
await bundler.bundleTeam(moduleName, teamFile);
|
|
107
|
-
console.log(chalk.green(`\nโจ Successfully bundled team: ${teamFile}`));
|
|
108
|
-
} catch (error) {
|
|
109
|
-
console.error(chalk.red('Error:'), error.message);
|
|
110
|
-
process.exit(1);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
program
|
|
115
|
-
.command('list')
|
|
116
|
-
.description('List available modules and agents')
|
|
117
|
-
.action(async () => {
|
|
118
|
-
try {
|
|
119
|
-
const bundler = new WebBundler();
|
|
120
|
-
const modules = await bundler.discoverModules();
|
|
121
|
-
|
|
122
|
-
console.log(chalk.cyan.bold('\n๐ฆ Available Modules:\n'));
|
|
123
|
-
|
|
124
|
-
for (const module of modules) {
|
|
125
|
-
console.log(chalk.bold(` ${module}/`));
|
|
126
|
-
|
|
127
|
-
const modulePath = path.join(bundler.modulesPath, module);
|
|
128
|
-
const agents = await bundler.discoverAgents(modulePath);
|
|
129
|
-
const teams = await bundler.discoverTeams(modulePath);
|
|
130
|
-
|
|
131
|
-
if (agents.length > 0) {
|
|
132
|
-
console.log(chalk.gray(' agents/'));
|
|
133
|
-
for (const agent of agents) {
|
|
134
|
-
console.log(chalk.gray(` - ${agent}`));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
if (teams.length > 0) {
|
|
139
|
-
console.log(chalk.gray(' teams/'));
|
|
140
|
-
for (const team of teams) {
|
|
141
|
-
console.log(chalk.gray(` - ${team}`));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
console.log('');
|
|
147
|
-
} catch (error) {
|
|
148
|
-
console.error(chalk.red('Error:'), error.message);
|
|
149
|
-
process.exit(1);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
program
|
|
154
|
-
.command('clean')
|
|
155
|
-
.description('Remove all web bundles')
|
|
156
|
-
.action(async () => {
|
|
157
|
-
try {
|
|
158
|
-
const fs = require('fs-extra');
|
|
159
|
-
const outputDir = path.join(process.cwd(), 'web-bundles');
|
|
160
|
-
|
|
161
|
-
if (await fs.pathExists(outputDir)) {
|
|
162
|
-
await fs.remove(outputDir);
|
|
163
|
-
console.log(chalk.green('โ Web bundles directory cleaned'));
|
|
164
|
-
} else {
|
|
165
|
-
console.log(chalk.yellow('Web bundles directory does not exist'));
|
|
166
|
-
}
|
|
167
|
-
} catch (error) {
|
|
168
|
-
console.error(chalk.red('Error:'), error.message);
|
|
169
|
-
process.exit(1);
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
// Parse command line arguments
|
|
174
|
-
program.parse(process.argv);
|
|
175
|
-
|
|
176
|
-
// Show help if no command provided
|
|
177
|
-
if (process.argv.slice(2).length === 0) {
|
|
178
|
-
program.outputHelp();
|
|
179
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { WebBundler } = require('./web-bundler');
|
|
2
|
-
const chalk = require('chalk');
|
|
3
|
-
const path = require('node:path');
|
|
4
|
-
|
|
5
|
-
async function testAnalystBundle() {
|
|
6
|
-
console.log(chalk.cyan.bold('\n๐งช Testing Analyst Agent Bundle\n'));
|
|
7
|
-
|
|
8
|
-
try {
|
|
9
|
-
const bundler = new WebBundler();
|
|
10
|
-
|
|
11
|
-
// Load web activation first
|
|
12
|
-
await bundler.loadWebActivation();
|
|
13
|
-
|
|
14
|
-
// Bundle just the analyst agent from bmm module
|
|
15
|
-
// Only bundle the analyst for testing
|
|
16
|
-
const agentPath = path.join(bundler.modulesPath, 'bmm', 'agents', 'analyst.md');
|
|
17
|
-
await bundler.bundleAgent('bmm', 'analyst.md');
|
|
18
|
-
|
|
19
|
-
console.log(chalk.green.bold('\nโ
Test completed successfully!\n'));
|
|
20
|
-
} catch (error) {
|
|
21
|
-
console.error(chalk.red('\nโ Test failed:'), error.message);
|
|
22
|
-
console.error(error.stack);
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Run test
|
|
28
|
-
testAnalystBundle();
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
const { WebBundler } = require('./web-bundler');
|
|
2
|
-
const chalk = require('chalk');
|
|
3
|
-
const fs = require('fs-extra');
|
|
4
|
-
const path = require('node:path');
|
|
5
|
-
|
|
6
|
-
async function testWebBundler() {
|
|
7
|
-
console.log(chalk.cyan.bold('\n๐งช Testing Web Bundler\n'));
|
|
8
|
-
|
|
9
|
-
const bundler = new WebBundler();
|
|
10
|
-
let passedTests = 0;
|
|
11
|
-
let failedTests = 0;
|
|
12
|
-
|
|
13
|
-
// Test 1: Load web activation
|
|
14
|
-
try {
|
|
15
|
-
await bundler.loadWebActivation();
|
|
16
|
-
console.log(chalk.green('โ Web activation loaded successfully'));
|
|
17
|
-
passedTests++;
|
|
18
|
-
} catch (error) {
|
|
19
|
-
console.error(chalk.red('โ Failed to load web activation:'), error.message);
|
|
20
|
-
failedTests++;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Test 2: Discover modules
|
|
24
|
-
try {
|
|
25
|
-
const modules = await bundler.discoverModules();
|
|
26
|
-
console.log(chalk.green(`โ Discovered ${modules.length} modules:`, modules.join(', ')));
|
|
27
|
-
passedTests++;
|
|
28
|
-
} catch (error) {
|
|
29
|
-
console.error(chalk.red('โ Failed to discover modules:'), error.message);
|
|
30
|
-
failedTests++;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Test 3: Bundle analyst agent
|
|
34
|
-
try {
|
|
35
|
-
const result = await bundler.bundleAgent('bmm', 'analyst.md');
|
|
36
|
-
|
|
37
|
-
// Check if bundle was created
|
|
38
|
-
const bundlePath = path.join(bundler.outputDir, 'bmm', 'agents', 'analyst.xml');
|
|
39
|
-
if (await fs.pathExists(bundlePath)) {
|
|
40
|
-
const content = await fs.readFile(bundlePath, 'utf8');
|
|
41
|
-
|
|
42
|
-
// Validate bundle structure
|
|
43
|
-
const hasAgent = content.includes('<agent');
|
|
44
|
-
const hasActivation = content.includes('<activation');
|
|
45
|
-
const hasPersona = content.includes('<persona>');
|
|
46
|
-
const activationBeforePersona = content.indexOf('<activation') < content.indexOf('<persona>');
|
|
47
|
-
const hasManifests =
|
|
48
|
-
content.includes('<agent-party id="bmad/_cfg/agent-manifest.csv">') && content.includes('<manifest id="bmad/web-manifest.xml">');
|
|
49
|
-
const hasDependencies = content.includes('<dependencies>');
|
|
50
|
-
|
|
51
|
-
console.log(chalk.green('โ Analyst bundle created successfully'));
|
|
52
|
-
console.log(chalk.gray(` - Has agent tag: ${hasAgent ? 'โ' : 'โ'}`));
|
|
53
|
-
console.log(chalk.gray(` - Has activation: ${hasActivation ? 'โ' : 'โ'}`));
|
|
54
|
-
console.log(chalk.gray(` - Has persona: ${hasPersona ? 'โ' : 'โ'}`));
|
|
55
|
-
console.log(chalk.gray(` - Activation before persona: ${activationBeforePersona ? 'โ' : 'โ'}`));
|
|
56
|
-
console.log(chalk.gray(` - Has manifests: ${hasManifests ? 'โ' : 'โ'}`));
|
|
57
|
-
console.log(chalk.gray(` - Has dependencies: ${hasDependencies ? 'โ' : 'โ'}`));
|
|
58
|
-
|
|
59
|
-
if (hasAgent && hasActivation && hasPersona && activationBeforePersona && hasManifests && hasDependencies) {
|
|
60
|
-
passedTests++;
|
|
61
|
-
} else {
|
|
62
|
-
console.error(chalk.red('โ Bundle structure validation failed'));
|
|
63
|
-
failedTests++;
|
|
64
|
-
}
|
|
65
|
-
} else {
|
|
66
|
-
console.error(chalk.red('โ Bundle file not created'));
|
|
67
|
-
failedTests++;
|
|
68
|
-
}
|
|
69
|
-
} catch (error) {
|
|
70
|
-
console.error(chalk.red('โ Failed to bundle analyst agent:'), error.message);
|
|
71
|
-
failedTests++;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Test 4: Bundle a different agent (architect which exists)
|
|
75
|
-
try {
|
|
76
|
-
const result = await bundler.bundleAgent('bmm', 'architect.md');
|
|
77
|
-
const bundlePath = path.join(bundler.outputDir, 'bmm', 'agents', 'architect.xml');
|
|
78
|
-
|
|
79
|
-
if (await fs.pathExists(bundlePath)) {
|
|
80
|
-
console.log(chalk.green('โ Architect bundle created successfully'));
|
|
81
|
-
passedTests++;
|
|
82
|
-
} else {
|
|
83
|
-
console.error(chalk.red('โ Architect bundle file not created'));
|
|
84
|
-
failedTests++;
|
|
85
|
-
}
|
|
86
|
-
} catch (error) {
|
|
87
|
-
console.error(chalk.red('โ Failed to bundle architect agent:'), error.message);
|
|
88
|
-
failedTests++;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Test 5: Bundle all agents in a module
|
|
92
|
-
try {
|
|
93
|
-
const results = await bundler.bundleModule('bmm');
|
|
94
|
-
console.log(chalk.green(`โ Bundled ${results.agents.length} agents from bmm module`));
|
|
95
|
-
passedTests++;
|
|
96
|
-
} catch (error) {
|
|
97
|
-
console.error(chalk.red('โ Failed to bundle bmm module:'), error.message);
|
|
98
|
-
failedTests++;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Summary
|
|
102
|
-
console.log(chalk.bold('\n๐ Test Results:'));
|
|
103
|
-
console.log(chalk.green(` Passed: ${passedTests}`));
|
|
104
|
-
console.log(chalk.red(` Failed: ${failedTests}`));
|
|
105
|
-
|
|
106
|
-
if (failedTests === 0) {
|
|
107
|
-
console.log(chalk.green.bold('\nโ
All tests passed!\n'));
|
|
108
|
-
} else {
|
|
109
|
-
console.log(chalk.red.bold(`\nโ ${failedTests} test(s) failed\n`));
|
|
110
|
-
process.exit(1);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// Run tests
|
|
115
|
-
testWebBundler().catch((error) => {
|
|
116
|
-
console.error(chalk.red('Fatal error:'), error);
|
|
117
|
-
process.exit(1);
|
|
118
|
-
});
|