mdan-cli 2.5.1 → 2.5.2
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/.augment/code_review_guidelines.yaml +271 -0
- package/.claude/skills/bmad-os-audit-file-refs/SKILL.md +6 -0
- package/.claude/skills/bmad-os-audit-file-refs/prompts/instructions.md +59 -0
- package/.claude/skills/bmad-os-changelog-social/SKILL.md +177 -0
- package/.claude/skills/bmad-os-changelog-social/examples/discord-example.md +53 -0
- package/.claude/skills/bmad-os-changelog-social/examples/linkedin-example.md +49 -0
- package/.claude/skills/bmad-os-changelog-social/examples/twitter-example.md +55 -0
- package/.claude/skills/bmad-os-diataxis-style-fix/SKILL.md +6 -0
- package/.claude/skills/bmad-os-diataxis-style-fix/prompts/instructions.md +229 -0
- package/.claude/skills/bmad-os-draft-changelog/SKILL.md +6 -0
- package/.claude/skills/bmad-os-draft-changelog/prompts/instructions.md +82 -0
- package/.claude/skills/bmad-os-gh-triage/SKILL.md +6 -0
- package/.claude/skills/bmad-os-gh-triage/prompts/agent-prompt.md +60 -0
- package/.claude/skills/bmad-os-gh-triage/prompts/instructions.md +74 -0
- package/.claude/skills/bmad-os-release-module/SKILL.md +6 -0
- package/.claude/skills/bmad-os-release-module/prompts/instructions.md +53 -0
- package/.claude/skills/bmad-os-review-pr/SKILL.md +6 -0
- package/.claude/skills/bmad-os-review-pr/prompts/instructions.md +231 -0
- package/.claude/skills/bmad-os-root-cause-analysis/SKILL.md +12 -0
- package/.claude/skills/bmad-os-root-cause-analysis/prompts/instructions.md +74 -0
- package/.coderabbit.yaml +85 -0
- package/.github/CODE_OF_CONDUCT.md +128 -0
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yaml +124 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
- package/.github/ISSUE_TEMPLATE/documentation.yaml +55 -0
- package/.github/ISSUE_TEMPLATE/feature-request.md +22 -0
- package/.github/ISSUE_TEMPLATE/issue.md +32 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +13 -0
- package/.github/scripts/discord-helpers.sh +34 -0
- package/.github/workflows/coderabbit-review.yaml +22 -0
- package/.github/workflows/discord.yaml +90 -0
- package/.github/workflows/docs.yaml +64 -0
- package/.github/workflows/quality.yaml +116 -0
- package/.husky/pre-commit +20 -0
- package/.markdownlint-cli2.yaml +41 -0
- package/.nvmrc +1 -0
- package/.prettierignore +12 -0
- package/.vscode/settings.json +96 -0
- package/AGENTS.md +227 -165
- package/AGENTS_LIST.md +946 -0
- package/ARCHITECTURE.md +590 -0
- package/CHANGELOG.md +1770 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +512 -0
- package/CONTRIBUTORS.md +32 -0
- package/INSTALL.md +246 -0
- package/LICENSE +30 -0
- package/README.md +133 -194
- package/RELEASE_NOTES.md +246 -0
- package/SECURITY.md +85 -0
- package/TRADEMARK.md +55 -0
- package/USAGE.md +368 -0
- package/Wordmark.png +0 -0
- package/app/__init__.py +5 -0
- package/app/cis/agents/__init__.py +31 -0
- package/app/cis/agents/brainstorming-coach/__init__.py +3 -0
- package/app/cis/agents/brainstorming-coach/agent.py +162 -0
- package/app/cis/agents/brainstorming-coach/prompt.yaml +53 -0
- package/app/cis/agents/creative-problem-solver/__init__.py +3 -0
- package/app/cis/agents/creative-problem-solver/agent.py +233 -0
- package/app/cis/agents/creative-problem-solver/prompt.yaml +74 -0
- package/app/cis/agents/design-thinking-coach/__init__.py +3 -0
- package/app/cis/agents/design-thinking-coach/agent.py +241 -0
- package/app/cis/agents/design-thinking-coach/prompt.yaml +77 -0
- package/app/cis/agents/innovation-strategist/__init__.py +3 -0
- package/app/cis/agents/innovation-strategist/agent.py +271 -0
- package/app/cis/agents/innovation-strategist/prompt.yaml +70 -0
- package/app/cis/agents/presentation-master/__init__.py +3 -0
- package/app/cis/agents/presentation-master/agent.py +420 -0
- package/app/cis/agents/presentation-master/prompt.yaml +62 -0
- package/app/cis/agents/storyteller/__init__.py +3 -0
- package/app/cis/agents/storyteller/agent.py +303 -0
- package/app/cis/agents/storyteller/prompt.yaml +99 -0
- package/app/core/__init__.py +5 -0
- package/app/core/agents/__init__.py +5 -0
- package/app/core/agents/mdan-master/__init__.py +7 -0
- package/app/core/agents/mdan-master/agent.py +302 -0
- package/app/core/agents/mdan-master/prompt.yaml +105 -0
- package/app/mmb/agents/__init__.py +24 -0
- package/app/mmb/agents/agent-builder/__init__.py +5 -0
- package/app/mmb/agents/agent-builder/agent.py +261 -0
- package/app/mmb/agents/agent-builder/prompt.yaml +48 -0
- package/app/mmb/agents/module-builder/__init__.py +5 -0
- package/app/mmb/agents/module-builder/agent.py +299 -0
- package/app/mmb/agents/module-builder/prompt.yaml +50 -0
- package/app/mmb/agents/workflow-builder/__init__.py +5 -0
- package/app/mmb/agents/workflow-builder/agent.py +318 -0
- package/app/mmb/agents/workflow-builder/prompt.yaml +52 -0
- package/app/mmm/agents/__init__.py +48 -0
- package/app/mmm/agents/analyst/__init__.py +7 -0
- package/app/mmm/agents/analyst/agent.py +384 -0
- package/app/mmm/agents/analyst/prompt.yaml +62 -0
- package/app/mmm/agents/architect/__init__.py +7 -0
- package/app/mmm/agents/architect/agent.py +300 -0
- package/app/mmm/agents/architect/prompt.yaml +66 -0
- package/app/mmm/agents/dev/__init__.py +7 -0
- package/app/mmm/agents/dev/agent.py +285 -0
- package/app/mmm/agents/dev/prompt.yaml +62 -0
- package/app/mmm/agents/pm/__init__.py +7 -0
- package/app/mmm/agents/pm/agent.py +417 -0
- package/app/mmm/agents/pm/prompt.yaml +64 -0
- package/app/mmm/agents/qa/__init__.py +7 -0
- package/app/mmm/agents/qa/agent.py +267 -0
- package/app/mmm/agents/qa/prompt.yaml +67 -0
- package/app/mmm/agents/quick-flow-solo-dev/__init__.py +7 -0
- package/app/mmm/agents/quick-flow-solo-dev/agent.py +319 -0
- package/app/mmm/agents/quick-flow-solo-dev/prompt.yaml +60 -0
- package/app/mmm/agents/sm/__init__.py +7 -0
- package/app/mmm/agents/sm/agent.py +357 -0
- package/app/mmm/agents/sm/prompt.yaml +61 -0
- package/app/mmm/agents/tech-writer/__init__.py +7 -0
- package/app/mmm/agents/tech-writer/agent.py +420 -0
- package/app/mmm/agents/tech-writer/prompt.yaml +70 -0
- package/app/mmm/agents/ux-designer/__init__.py +14 -0
- package/app/mmm/agents/ux-designer/agent.py +412 -0
- package/app/mmm/agents/ux-designer/prompt.yaml +37 -0
- package/app/packs/__init__.py +32 -0
- package/app/packs/db-optimization/__init__.py +13 -0
- package/app/packs/db-optimization/agents/__init__.py +11 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/__init__.py +5 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/agent.py +559 -0
- package/app/packs/db-optimization/agents/db-performance-analyst/prompt.yaml +63 -0
- package/app/packs/db-optimization/agents/indexing-specialist/__init__.py +5 -0
- package/app/packs/db-optimization/agents/indexing-specialist/agent.py +713 -0
- package/app/packs/db-optimization/agents/indexing-specialist/prompt.yaml +92 -0
- package/app/packs/db-optimization/agents/query-optimizer/__init__.py +5 -0
- package/app/packs/db-optimization/agents/query-optimizer/agent.py +566 -0
- package/app/packs/db-optimization/agents/query-optimizer/prompt.yaml +74 -0
- package/app/packs/devops-azure/__init__.py +13 -0
- package/app/packs/devops-azure/agents/__init__.py +11 -0
- package/app/packs/devops-azure/agents/azure-specialist/__init__.py +5 -0
- package/app/packs/devops-azure/agents/azure-specialist/agent.py +584 -0
- package/app/packs/devops-azure/agents/azure-specialist/prompt.yaml +301 -0
- package/app/packs/devops-azure/agents/cicd-architect/__init__.py +5 -0
- package/app/packs/devops-azure/agents/cicd-architect/agent.py +665 -0
- package/app/packs/devops-azure/agents/cicd-architect/prompt.yaml +409 -0
- package/app/packs/devops-azure/agents/devops-engineer/__init__.py +5 -0
- package/app/packs/devops-azure/agents/devops-engineer/agent.py +545 -0
- package/app/packs/devops-azure/agents/devops-engineer/prompt.yaml +263 -0
- package/app/packs/fintech/__init__.py +13 -0
- package/app/packs/fintech/agents/__init__.py +11 -0
- package/app/packs/fintech/agents/compliance-officer/__init__.py +5 -0
- package/app/packs/fintech/agents/compliance-officer/agent.py +449 -0
- package/app/packs/fintech/agents/compliance-officer/prompt.yaml +135 -0
- package/app/packs/fintech/agents/financial-analyst/__init__.py +5 -0
- package/app/packs/fintech/agents/financial-analyst/agent.py +392 -0
- package/app/packs/fintech/agents/financial-analyst/prompt.yaml +143 -0
- package/app/packs/fintech/agents/risk-manager/__init__.py +5 -0
- package/app/packs/fintech/agents/risk-manager/agent.py +664 -0
- package/app/packs/fintech/agents/risk-manager/prompt.yaml +240 -0
- package/app/tea/agents/tea/__init__.py +9 -0
- package/app/tea/agents/tea/agent.py +689 -0
- package/app/tea/agents/tea/prompt.yaml +100 -0
- package/banner-bmad-method.png +0 -0
- package/docs/404.md +9 -0
- package/docs/_STYLE_GUIDE.md +370 -0
- package/docs/explanation/advanced-elicitation.md +49 -0
- package/docs/explanation/adversarial-review.md +59 -0
- package/docs/explanation/brainstorming.md +33 -0
- package/docs/explanation/established-projects-faq.md +50 -0
- package/docs/explanation/party-mode.md +59 -0
- package/docs/explanation/preventing-agent-conflicts.md +112 -0
- package/docs/explanation/project-context.md +157 -0
- package/docs/explanation/quick-flow.md +73 -0
- package/docs/explanation/why-solutioning-matters.md +77 -0
- package/docs/how-to/customize-bmad.md +172 -0
- package/docs/how-to/established-projects.md +117 -0
- package/docs/how-to/get-answers-about-bmad.md +134 -0
- package/docs/how-to/install-bmad.md +97 -0
- package/docs/how-to/non-interactive-installation.md +171 -0
- package/docs/how-to/project-context.md +136 -0
- package/docs/how-to/quick-fixes.md +123 -0
- package/docs/how-to/shard-large-documents.md +78 -0
- package/docs/how-to/upgrade-to-v6.md +97 -0
- package/docs/index.md +59 -0
- package/docs/reference/agents.md +28 -0
- package/docs/reference/commands.md +151 -0
- package/docs/reference/modules.md +76 -0
- package/docs/reference/testing.md +106 -0
- package/docs/reference/workflow-map.md +89 -0
- package/docs/roadmap.mdx +136 -0
- package/docs/tutorials/getting-started.md +286 -0
- package/eslint.config.mjs +141 -0
- package/package.json +106 -37
- package/prettier.config.mjs +32 -0
- package/prompts/cis/brainstorming-coach.yaml +53 -0
- package/prompts/cis/creative-problem-solver.yaml +74 -0
- package/prompts/cis/design-thinking-coach.yaml +77 -0
- package/prompts/cis/innovation-strategist.yaml +70 -0
- package/prompts/cis/presentation-master.yaml +62 -0
- package/prompts/cis/storyteller.yaml +99 -0
- package/prompts/core/mdan-master.yaml +105 -0
- package/prompts/mmb/agent-builder.yaml +48 -0
- package/prompts/mmb/module-builder.yaml +50 -0
- package/prompts/mmb/workflow-builder.yaml +52 -0
- package/prompts/mmm/analyst.yaml +62 -0
- package/prompts/mmm/architect.yaml +66 -0
- package/prompts/mmm/dev.yaml +62 -0
- package/prompts/mmm/pm.yaml +64 -0
- package/prompts/mmm/qa.yaml +67 -0
- package/prompts/mmm/quick-flow-solo-dev.yaml +60 -0
- package/prompts/mmm/sm.yaml +61 -0
- package/prompts/mmm/tech-writer.yaml +70 -0
- package/prompts/mmm/ux-designer.yaml +33 -0
- package/prompts/packs/db-optimization/db-performance-analyst.yaml +63 -0
- package/prompts/packs/db-optimization/indexing-specialist.yaml +92 -0
- package/prompts/packs/db-optimization/query-optimizer.yaml +74 -0
- package/prompts/packs/devops-azure/azure-specialist.yaml +301 -0
- package/prompts/packs/devops-azure/cicd-architect.yaml +409 -0
- package/prompts/packs/devops-azure/devops-engineer.yaml +263 -0
- package/prompts/packs/fintech/compliance-officer.yaml +135 -0
- package/prompts/packs/fintech/financial-analyst.yaml +143 -0
- package/prompts/packs/fintech/risk-manager.yaml +240 -0
- package/prompts/tea/tea.yaml +100 -0
- package/prompts.json +237 -0
- package/src/bmm/agents/analyst.agent.yaml +43 -0
- package/src/bmm/agents/architect.agent.yaml +29 -0
- package/src/bmm/agents/dev.agent.yaml +38 -0
- package/src/bmm/agents/pm.agent.yaml +44 -0
- package/src/bmm/agents/qa.agent.yaml +58 -0
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/bmm/agents/sm.agent.yaml +37 -0
- package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +46 -0
- package/src/bmm/agents/ux-designer.agent.yaml +27 -0
- package/src/bmm/data/project-context-template.md +26 -0
- package/src/bmm/module-help.csv +31 -0
- package/src/bmm/module.yaml +50 -0
- package/src/bmm/teams/default-party.csv +20 -0
- package/src/bmm/teams/team-fullstack.yaml +12 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
- package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -0
- package/src/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
- package/src/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
- package/src/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
- package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/src/bmm/workflows/4-implementation/correct-course/instructions.md +207 -0
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +346 -0
- package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -0
- package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -0
- package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -0
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
- package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -0
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/src/bmm/workflows/document-project/checklist.md +245 -0
- package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/bmm/workflows/document-project/instructions.md +130 -0
- package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/bmm/workflows/document-project/workflow.yaml +22 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/src/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -0
- package/src/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -0
- package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -0
- package/src/core/agents/bmad-master.agent.yaml +30 -0
- package/src/core/module-help.csv +9 -0
- package/src/core/module.yaml +25 -0
- package/src/core/tasks/editorial-review-prose.xml +102 -0
- package/src/core/tasks/editorial-review-structure.xml +208 -0
- package/src/core/tasks/help.md +86 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +49 -0
- package/src/core/tasks/shard-doc.xml +108 -0
- package/src/core/tasks/workflow.xml +235 -0
- package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/src/core/workflows/advanced-elicitation/workflow.xml +118 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/src/core/workflows/brainstorming/template.md +15 -0
- package/src/core/workflows/brainstorming/workflow.md +58 -0
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -0
- package/src/core/workflows/party-mode/workflow.md +194 -0
- package/src/utility/agent-components/activation-rules.txt +6 -0
- package/src/utility/agent-components/activation-steps.txt +14 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/agent-components/agent.customize.template.yaml +41 -0
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-data.txt +5 -0
- package/src/utility/agent-components/handler-exec.txt +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 +295 -0
- package/test/adversarial-review-tests/README.md +56 -0
- package/test/adversarial-review-tests/sample-content.md +46 -0
- package/test/adversarial-review-tests/test-cases.yaml +103 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
- package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
- package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
- package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/bmm-style.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
- package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/test-file-refs-csv.js +133 -0
- package/test/test-installation-components.js +212 -0
- package/test/test-rehype-plugins.mjs +1050 -0
- package/test/unit-test-schema.js +133 -0
- package/tests/run_all_tests.py +80 -0
- package/tests/scenarios/cis/brainstorming-coach.test.py +150 -0
- package/tests/scenarios/cis/creative-problem-solver.test.py +167 -0
- package/tests/scenarios/cis/design-thinking-coach.test.py +177 -0
- package/tests/scenarios/cis/innovation-strategist.test.py +191 -0
- package/tests/scenarios/cis/presentation-master.test.py +240 -0
- package/tests/scenarios/cis/storyteller.test.py +324 -0
- package/tests/scenarios/core/mdan-master.test.py +281 -0
- package/tests/scenarios/mmb/agent-builder.test.py +124 -0
- package/tests/scenarios/mmb/module-builder.test.py +124 -0
- package/tests/scenarios/mmb/workflow-builder.test.py +124 -0
- package/tests/scenarios/mmm/analyst.test.py +138 -0
- package/tests/scenarios/mmm/architect.test.py +138 -0
- package/tests/scenarios/mmm/dev.test.py +138 -0
- package/tests/scenarios/mmm/pm.test.py +138 -0
- package/tests/scenarios/mmm/qa.test.py +138 -0
- package/tests/scenarios/mmm/quick-flow-solo-dev.test.py +138 -0
- package/tests/scenarios/mmm/sm.test.py +138 -0
- package/tests/scenarios/mmm/tech-writer.test.py +138 -0
- package/tests/scenarios/mmm/ux-designer.test.py +294 -0
- package/tests/scenarios/packs/db-optimization/db-performance-analyst.test.py +108 -0
- package/tests/scenarios/packs/db-optimization/indexing-specialist.test.py +108 -0
- package/tests/scenarios/packs/db-optimization/query-optimizer.test.py +106 -0
- package/tests/scenarios/packs/devops-azure/azure-specialist.test.py +125 -0
- package/tests/scenarios/packs/devops-azure/cicd-architect.test.py +122 -0
- package/tests/scenarios/packs/devops-azure/devops-engineer.test.py +128 -0
- package/tests/scenarios/packs/fintech/compliance-officer.test.py +165 -0
- package/tests/scenarios/packs/fintech/financial-analyst.test.py +184 -0
- package/tests/scenarios/packs/fintech/risk-manager.test.py +171 -0
- package/tests/scenarios/tea/tea.test.py +346 -0
- package/tests/simple_cis_test.py +285 -0
- package/tests/simple_db_optimization_test.py +199 -0
- package/tests/simple_devops_test.py +193 -0
- package/tests/simple_fintech_test.py +205 -0
- package/tests/simple_mmb_test.py +103 -0
- package/tests/simple_mmm_test.py +159 -0
- package/tests/simple_tea_test.py +80 -0
- package/tests/simple_test.py +111 -0
- package/tests/simple_ux_designer_test.py +144 -0
- package/tests/validate_yaml.py +86 -0
- package/tools/bmad-npx-wrapper.js +38 -0
- package/tools/build-docs.mjs +463 -0
- package/tools/cli/README.md +60 -0
- package/tools/cli/bmad-cli.js +106 -0
- package/tools/cli/commands/install.js +87 -0
- package/tools/cli/commands/status.js +65 -0
- package/tools/cli/commands/uninstall.js +167 -0
- package/tools/cli/external-official-modules.yaml +53 -0
- package/tools/cli/installers/install-messages.yaml +39 -0
- package/tools/cli/installers/lib/core/config-collector.js +1285 -0
- package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +743 -0
- package/tools/cli/installers/lib/core/detector.js +223 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
- package/tools/cli/installers/lib/core/installer.js +3162 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +1081 -0
- package/tools/cli/installers/lib/core/manifest.js +1038 -0
- package/tools/cli/installers/lib/custom/handler.js +358 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +665 -0
- package/tools/cli/installers/lib/ide/_config-driven.js +634 -0
- package/tools/cli/installers/lib/ide/codex.js +440 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +699 -0
- package/tools/cli/installers/lib/ide/kilo.js +269 -0
- package/tools/cli/installers/lib/ide/manager.js +342 -0
- package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
- package/tools/cli/installers/lib/ide/platform-codes.yaml +243 -0
- package/tools/cli/installers/lib/ide/rovodev.js +257 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +180 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +174 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
- package/tools/cli/installers/lib/ide/shared/path-utils.js +299 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +366 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +318 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
- package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
- package/tools/cli/installers/lib/message-loader.js +83 -0
- package/tools/cli/installers/lib/modules/external-manager.js +136 -0
- package/tools/cli/installers/lib/modules/manager.js +1498 -0
- package/tools/cli/lib/activation-builder.js +165 -0
- package/tools/cli/lib/agent/compiler.js +525 -0
- package/tools/cli/lib/agent/installer.js +680 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/agent-analyzer.js +109 -0
- package/tools/cli/lib/agent-party-generator.js +194 -0
- package/tools/cli/lib/cli-utils.js +182 -0
- package/tools/cli/lib/config.js +213 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +77 -0
- package/tools/cli/lib/prompts.js +809 -0
- package/tools/cli/lib/ui.js +1936 -0
- package/tools/cli/lib/xml-handler.js +177 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/cli/lib/yaml-format.js +245 -0
- package/tools/cli/lib/yaml-xml-builder.js +587 -0
- package/tools/docs/_prompt-external-modules-page.md +59 -0
- package/tools/docs/fix-refs.md +91 -0
- package/tools/fix-doc-links.js +285 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/lib/xml-utils.js +13 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +157 -0
- package/tools/schema/agent.js +491 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-doc-links.js +407 -0
- package/tools/validate-file-refs.js +554 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/website/README.md +75 -0
- package/website/astro.config.mjs +136 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/bmad-dark.png +0 -0
- package/website/public/img/bmad-light.png +0 -0
- package/website/public/workflow-map-diagram.html +361 -0
- package/website/src/components/Banner.astro +62 -0
- package/website/src/components/Header.astro +96 -0
- package/website/src/components/MobileMenuFooter.astro +33 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.mjs +25 -0
- package/website/src/pages/404.astro +11 -0
- package/website/src/pages/robots.txt.ts +48 -0
- package/website/src/rehype-base-paths.js +112 -0
- package/website/src/rehype-markdown-links.js +119 -0
- package/website/src/styles/custom.css +805 -0
- package/.mcp.json +0 -46
- package/agents/AGENTS-REGISTRY.md +0 -215
- package/agents/architect.md +0 -160
- package/agents/dev.md +0 -166
- package/agents/devops.md +0 -230
- package/agents/doc.md +0 -189
- package/agents/learn.md +0 -377
- package/agents/product.md +0 -124
- package/agents/security.md +0 -168
- package/agents/test.md +0 -209
- package/agents/ux.md +0 -207
- package/cli/mdan.js +0 -628
- package/cli/mdan.py +0 -316
- package/cli/mdan.sh +0 -724
- package/cli/postinstall.js +0 -4
- package/core/orchestrator.md +0 -238
- package/core/universal-envelope.md +0 -160
- package/install.sh +0 -91
- package/integrations/all-integrations.md +0 -300
- package/integrations/claude.md +0 -46
- package/integrations/cursor.md +0 -74
- package/integrations/mcp.md +0 -153
- package/integrations/windsurf.md +0 -48
- package/memory/MDAN-STATE.template.json +0 -44
- package/memory/MEMORY-SYSTEM.md +0 -197
- package/phases/01-discover.md +0 -136
- package/phases/02-design.md +0 -147
- package/phases/03-build.md +0 -113
- package/phases/04-verify.md +0 -107
- package/phases/05-ship.md +0 -156
- package/skills/find-skills/skill.md +0 -133
- package/templates/ARCHITECTURE.md +0 -186
- package/templates/CHANGELOG.md +0 -41
- package/templates/MDAN-KNOWLEDGE.md +0 -73
- package/templates/PRD.md +0 -120
- package/templates/SECURITY-REVIEW.md +0 -99
- package/templates/TEST-PLAN.md +0 -97
- package/templates/prompts/README.md +0 -108
- package/templates/prompts/dev-agent.yaml +0 -85
- package/templates/prompts/orchestrator.yaml +0 -97
- package/templates/prompts.json +0 -81
- package/templates/tests/evaluations/README.md +0 -80
- package/templates/tests/evaluations/classification_eval.md +0 -136
- package/templates/tests/evaluations/rag_eval.md +0 -116
- package/templates/tests/scenarios/README.md +0 -62
- package/templates/tests/scenarios/basic_authentication.test.md +0 -82
- package/templates/tests/scenarios/user_registration.test.md +0 -107
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Agent Builder Agent
|
|
3
|
+
|
|
4
|
+
A master agent architect with deep expertise in agent design patterns, persona development,
|
|
5
|
+
and MDAN Core compliance. Specializes in creating robust, maintainable agents that follow best practices.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Dict, List, Optional
|
|
9
|
+
import json
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class AgentBuilderAgent:
|
|
13
|
+
"""
|
|
14
|
+
Agent Builder Agent - Bond
|
|
15
|
+
|
|
16
|
+
Master agent architect with deep expertise in agent design patterns, persona development,
|
|
17
|
+
and MDAN Core compliance. Specializes in creating robust, maintainable agents that follow
|
|
18
|
+
best practices.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def __init__(self, config: Optional[Dict[str, Any]] = None):
|
|
22
|
+
"""
|
|
23
|
+
Initialize the Agent Builder Agent.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
config: Optional configuration dictionary containing:
|
|
27
|
+
- user_name: Name of the user
|
|
28
|
+
- communication_language: Language for communication
|
|
29
|
+
- output_folder: Path for output files
|
|
30
|
+
"""
|
|
31
|
+
self.config = config or {}
|
|
32
|
+
self.user_name = self.config.get("user_name", "User")
|
|
33
|
+
self.communication_language = self.config.get(
|
|
34
|
+
"communication_language", "English"
|
|
35
|
+
)
|
|
36
|
+
self.output_folder = self.config.get("output_folder", "./output")
|
|
37
|
+
|
|
38
|
+
# Agent metadata
|
|
39
|
+
self.name = "Bond"
|
|
40
|
+
self.title = "Agent Building Expert"
|
|
41
|
+
self.icon = "🤖"
|
|
42
|
+
self.capabilities = [
|
|
43
|
+
"agent design patterns",
|
|
44
|
+
"persona development",
|
|
45
|
+
"MDAN Core compliance",
|
|
46
|
+
"best practices enforcement",
|
|
47
|
+
"agent validation",
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
# Menu items
|
|
51
|
+
self.menu_items = [
|
|
52
|
+
{
|
|
53
|
+
"cmd": "MH",
|
|
54
|
+
"label": "Redisplay Menu Help",
|
|
55
|
+
"description": "Show the main menu with all available options",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"cmd": "CH",
|
|
59
|
+
"label": "Chat with the Agent",
|
|
60
|
+
"description": "Have a conversation about agent building topics",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"cmd": "CA",
|
|
64
|
+
"label": "Create a new MDAN agent",
|
|
65
|
+
"description": "Create a new BMAD agent with best practices and compliance",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"cmd": "EA",
|
|
69
|
+
"label": "Edit existing MDAN agents",
|
|
70
|
+
"description": "Edit existing BMAD agents while maintaining compliance",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"cmd": "VA",
|
|
74
|
+
"label": "Validate existing MDAN agents",
|
|
75
|
+
"description": "Validate existing BMAD agents and offer to improve deficiencies",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"cmd": "DA",
|
|
79
|
+
"label": "Dismiss Agent",
|
|
80
|
+
"description": "Exit the agent builder",
|
|
81
|
+
},
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
async def process(self, request: str) -> str:
|
|
85
|
+
"""
|
|
86
|
+
Process a user request and return a response.
|
|
87
|
+
|
|
88
|
+
Args:
|
|
89
|
+
request: The user's request or command
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
A response string
|
|
93
|
+
"""
|
|
94
|
+
# Parse the request
|
|
95
|
+
request_lower = request.lower().strip()
|
|
96
|
+
|
|
97
|
+
# Check for menu commands
|
|
98
|
+
if request_lower in ["mh", "menu", "help"]:
|
|
99
|
+
return self._display_menu()
|
|
100
|
+
elif request_lower in ["ch", "chat"]:
|
|
101
|
+
return self._handle_chat(request)
|
|
102
|
+
elif request_lower in ["ca", "create-agent"]:
|
|
103
|
+
return self._handle_create_agent(request)
|
|
104
|
+
elif request_lower in ["ea", "edit-agent"]:
|
|
105
|
+
return self._handle_edit_agent(request)
|
|
106
|
+
elif request_lower in ["va", "validate-agent"]:
|
|
107
|
+
return self._handle_validate_agent(request)
|
|
108
|
+
elif request_lower in ["da", "exit", "leave", "goodbye", "dismiss"]:
|
|
109
|
+
return self._handle_dismiss()
|
|
110
|
+
else:
|
|
111
|
+
# Try fuzzy matching
|
|
112
|
+
matched = self._fuzzy_match(request_lower)
|
|
113
|
+
if matched:
|
|
114
|
+
return matched
|
|
115
|
+
else:
|
|
116
|
+
return self._handle_general_request(request)
|
|
117
|
+
|
|
118
|
+
def _display_menu(self) -> str:
|
|
119
|
+
"""Display the main menu."""
|
|
120
|
+
menu = f"\n🤖 **Agent Builder Menu**\n\n"
|
|
121
|
+
menu += f"Hello {self.user_name}! I'm Bond, your Agent Building Expert.\n\n"
|
|
122
|
+
menu += "Available commands:\n\n"
|
|
123
|
+
|
|
124
|
+
for i, item in enumerate(self.menu_items, 1):
|
|
125
|
+
menu += f"{i}. **[{item['cmd']}]** {item['label']}\n"
|
|
126
|
+
menu += f" {item['description']}\n\n"
|
|
127
|
+
|
|
128
|
+
menu += "Type a command number or use the command shortcut (e.g., 'CA' for Create Agent).\n"
|
|
129
|
+
menu += "You can also type `/mmm-help` for advice on what to do next.\n"
|
|
130
|
+
|
|
131
|
+
return menu
|
|
132
|
+
|
|
133
|
+
def _handle_chat(self, request: str) -> str:
|
|
134
|
+
"""Handle general chat requests."""
|
|
135
|
+
return f"""
|
|
136
|
+
I'm Bond, your Agent Building Expert. I specialize in:
|
|
137
|
+
|
|
138
|
+
- Agent design patterns and architecture
|
|
139
|
+
- Persona development and character creation
|
|
140
|
+
- MDAN Core compliance and best practices
|
|
141
|
+
- Agent validation and improvement
|
|
142
|
+
|
|
143
|
+
What would you like to know about building agents?
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
def _handle_create_agent(self, request: str) -> str:
|
|
147
|
+
"""Handle create agent requests."""
|
|
148
|
+
return """
|
|
149
|
+
To create a new MDAN agent, I'll need the following information:
|
|
150
|
+
|
|
151
|
+
1. **Agent Name**: What should we call this agent?
|
|
152
|
+
2. **Agent Title**: What is the agent's role or title?
|
|
153
|
+
3. **Agent Icon**: Choose an emoji to represent the agent
|
|
154
|
+
4. **Agent Role**: What is the agent's primary role?
|
|
155
|
+
5. **Agent Identity**: Describe the agent's background and expertise
|
|
156
|
+
6. **Communication Style**: How should the agent communicate?
|
|
157
|
+
7. **Principles**: What principles guide the agent's behavior?
|
|
158
|
+
8. **Capabilities**: What are the agent's key capabilities?
|
|
159
|
+
9. **Menu Items**: What actions should the agent be able to perform?
|
|
160
|
+
|
|
161
|
+
Please provide these details, and I'll create a compliant agent for you.
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
def _handle_edit_agent(self, request: str) -> str:
|
|
165
|
+
"""Handle edit agent requests."""
|
|
166
|
+
return """
|
|
167
|
+
To edit an existing MDAN agent, please specify:
|
|
168
|
+
|
|
169
|
+
1. **Agent Name**: Which agent do you want to edit?
|
|
170
|
+
2. **Changes**: What aspects do you want to modify?
|
|
171
|
+
- Persona/Identity
|
|
172
|
+
- Communication Style
|
|
173
|
+
- Principles
|
|
174
|
+
- Capabilities
|
|
175
|
+
- Menu Items
|
|
176
|
+
- Other
|
|
177
|
+
|
|
178
|
+
I'll help you make the changes while maintaining MDAN Core compliance.
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
def _handle_validate_agent(self, request: str) -> str:
|
|
182
|
+
"""Handle validate agent requests."""
|
|
183
|
+
return """
|
|
184
|
+
To validate an MDAN agent, I'll check for:
|
|
185
|
+
|
|
186
|
+
✓ **Structure Compliance**: Proper file structure and naming
|
|
187
|
+
✓ **Persona Quality**: Clear, specific, and authentic persona
|
|
188
|
+
✓ **Menu Consistency**: Consistent menu structure across agents
|
|
189
|
+
✓ **Best Practices**: Following MDAN Core standards
|
|
190
|
+
✓ **Documentation**: Complete and clear documentation
|
|
191
|
+
✓ **Runtime Loading**: Proper resource loading at runtime
|
|
192
|
+
|
|
193
|
+
Please specify which agent you'd like me to validate.
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
def _handle_dismiss(self) -> str:
|
|
197
|
+
"""Handle dismiss requests."""
|
|
198
|
+
return f"""
|
|
199
|
+
Goodbye, {self.user_name}! It was a pleasure helping you with agent building.
|
|
200
|
+
|
|
201
|
+
Remember:
|
|
202
|
+
- Every agent must follow MDAN Core standards
|
|
203
|
+
- Personas drive agent behavior - make them specific and authentic
|
|
204
|
+
- Menu structure must be consistent across all agents
|
|
205
|
+
- Validate compliance before finalizing any agent
|
|
206
|
+
|
|
207
|
+
Feel free to return anytime you need help building agents! 👋
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
def _handle_general_request(self, request: str) -> str:
|
|
211
|
+
"""Handle general requests."""
|
|
212
|
+
return f"""
|
|
213
|
+
I understand you're asking about: "{request}"
|
|
214
|
+
|
|
215
|
+
As an Agent Building Expert, I can help you with:
|
|
216
|
+
- Creating new agents (use 'CA' or 'create-agent')
|
|
217
|
+
- Editing existing agents (use 'EA' or 'edit-agent')
|
|
218
|
+
- Validating agents (use 'VA' or 'validate-agent')
|
|
219
|
+
- General agent building questions (use 'CH' or 'chat')
|
|
220
|
+
|
|
221
|
+
Type 'MH' or 'menu' to see all available commands.
|
|
222
|
+
"""
|
|
223
|
+
|
|
224
|
+
def _fuzzy_match(self, request: str) -> Optional[str]:
|
|
225
|
+
"""Try to fuzzy match the request to a menu item."""
|
|
226
|
+
for item in self.menu_items:
|
|
227
|
+
if item["cmd"].lower() in request or any(
|
|
228
|
+
keyword in request for keyword in item["label"].lower().split()
|
|
229
|
+
):
|
|
230
|
+
# Call the appropriate handler
|
|
231
|
+
if item["cmd"] == "MH":
|
|
232
|
+
return self._display_menu()
|
|
233
|
+
elif item["cmd"] == "CH":
|
|
234
|
+
return self._handle_chat(request)
|
|
235
|
+
elif item["cmd"] == "CA":
|
|
236
|
+
return self._handle_create_agent(request)
|
|
237
|
+
elif item["cmd"] == "EA":
|
|
238
|
+
return self._handle_edit_agent(request)
|
|
239
|
+
elif item["cmd"] == "VA":
|
|
240
|
+
return self._handle_validate_agent(request)
|
|
241
|
+
elif item["cmd"] == "DA":
|
|
242
|
+
return self._handle_dismiss()
|
|
243
|
+
return None
|
|
244
|
+
|
|
245
|
+
def get_menu_items(self) -> List[Dict[str, str]]:
|
|
246
|
+
"""Get the menu items."""
|
|
247
|
+
return self.menu_items
|
|
248
|
+
|
|
249
|
+
def get_capabilities(self) -> List[str]:
|
|
250
|
+
"""Get the agent's capabilities."""
|
|
251
|
+
return self.capabilities
|
|
252
|
+
|
|
253
|
+
def get_info(self) -> Dict[str, Any]:
|
|
254
|
+
"""Get agent information."""
|
|
255
|
+
return {
|
|
256
|
+
"name": self.name,
|
|
257
|
+
"title": self.title,
|
|
258
|
+
"icon": self.icon,
|
|
259
|
+
"capabilities": self.capabilities,
|
|
260
|
+
"menu_items": self.menu_items,
|
|
261
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: agent-builder
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Agent Building Expert specializing in agent design patterns, persona development, and MDAN Core compliance
|
|
4
|
+
|
|
5
|
+
system_prompt: |
|
|
6
|
+
You are Badr, the Agent Building Expert.
|
|
7
|
+
|
|
8
|
+
Your role: Agent Architecture Specialist + MDAN Compliance Expert
|
|
9
|
+
|
|
10
|
+
Your identity: Master agent architect with deep expertise in agent design patterns, persona development, and MDAN Core compliance. Specializes in creating robust, maintainable agents that follow best practices.
|
|
11
|
+
|
|
12
|
+
Your communication style: Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references.
|
|
13
|
+
|
|
14
|
+
Your principles:
|
|
15
|
+
- Every agent must follow MDAN Core standards and best practices
|
|
16
|
+
- Personas drive agent behavior - make them specific and authentic
|
|
17
|
+
- Menu structure must be consistent across all agents
|
|
18
|
+
- Validate compliance before finalizing any agent
|
|
19
|
+
- Load resources at runtime, never pre-load
|
|
20
|
+
- Focus on practical implementation and real-world usage
|
|
21
|
+
|
|
22
|
+
Your capabilities:
|
|
23
|
+
- Agent design patterns
|
|
24
|
+
- Persona development
|
|
25
|
+
- MDAN Core compliance
|
|
26
|
+
- Best practices enforcement
|
|
27
|
+
- Agent validation
|
|
28
|
+
|
|
29
|
+
When creating agents:
|
|
30
|
+
1. Ensure proper file structure and naming conventions
|
|
31
|
+
2. Develop clear, specific, and authentic personas
|
|
32
|
+
3. Maintain consistent menu structure
|
|
33
|
+
4. Follow MDAN Core standards
|
|
34
|
+
5. Provide complete documentation
|
|
35
|
+
6. Implement proper runtime resource loading
|
|
36
|
+
|
|
37
|
+
When validating agents:
|
|
38
|
+
1. Check structure compliance
|
|
39
|
+
2. Verify persona quality
|
|
40
|
+
3. Ensure menu consistency
|
|
41
|
+
4. Validate best practices
|
|
42
|
+
5. Review documentation
|
|
43
|
+
6. Test runtime loading
|
|
44
|
+
|
|
45
|
+
user_prompt_template: |
|
|
46
|
+
{user_request}
|
|
47
|
+
|
|
48
|
+
As Badr, the Agent Building Expert, provide guidance on agent creation, editing, or validation following MDAN Core standards and best practices.
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Module Builder Agent
|
|
3
|
+
|
|
4
|
+
An expert module architect with comprehensive knowledge of MDAN Core systems, integration patterns,
|
|
5
|
+
and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver
|
|
6
|
+
complete functionality.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from typing import Any, Dict, List, Optional
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ModuleBuilderAgent:
|
|
14
|
+
"""
|
|
15
|
+
Module Builder Agent - Morgan
|
|
16
|
+
|
|
17
|
+
Expert module architect with comprehensive knowledge of MDAN Core systems, integration patterns,
|
|
18
|
+
and end-to-end module development. Specializes in creating cohesive, scalable modules that
|
|
19
|
+
deliver complete functionality.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def __init__(self, config: Optional[Dict[str, Any]] = None):
|
|
23
|
+
"""
|
|
24
|
+
Initialize the Module Builder Agent.
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
config: Optional configuration dictionary containing:
|
|
28
|
+
- user_name: Name of the user
|
|
29
|
+
- communication_language: Language for communication
|
|
30
|
+
- output_folder: Path for output files
|
|
31
|
+
"""
|
|
32
|
+
self.config = config or {}
|
|
33
|
+
self.user_name = self.config.get("user_name", "User")
|
|
34
|
+
self.communication_language = self.config.get(
|
|
35
|
+
"communication_language", "English"
|
|
36
|
+
)
|
|
37
|
+
self.output_folder = self.config.get("output_folder", "./output")
|
|
38
|
+
|
|
39
|
+
# Agent metadata
|
|
40
|
+
self.name = "Morgan"
|
|
41
|
+
self.title = "Module Creation Master"
|
|
42
|
+
self.icon = "🏗️"
|
|
43
|
+
self.capabilities = [
|
|
44
|
+
"module architecture",
|
|
45
|
+
"integration patterns",
|
|
46
|
+
"end-to-end module development",
|
|
47
|
+
"modularity and reusability",
|
|
48
|
+
"system-wide impact analysis",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
# Menu items
|
|
52
|
+
self.menu_items = [
|
|
53
|
+
{
|
|
54
|
+
"cmd": "MH",
|
|
55
|
+
"label": "Redisplay Menu Help",
|
|
56
|
+
"description": "Show the main menu with all available options",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"cmd": "CH",
|
|
60
|
+
"label": "Chat with the Agent",
|
|
61
|
+
"description": "Have a conversation about module building topics",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"cmd": "PB",
|
|
65
|
+
"label": "Create product brief",
|
|
66
|
+
"description": "Create product brief for MDAN module development",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"cmd": "CM",
|
|
70
|
+
"label": "Create a complete MDAN module",
|
|
71
|
+
"description": "Create a complete BMAD module with agents, workflows, and infrastructure",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"cmd": "EM",
|
|
75
|
+
"label": "Edit existing MDAN modules",
|
|
76
|
+
"description": "Edit existing BMAD modules while maintaining coherence",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"cmd": "VM",
|
|
80
|
+
"label": "Run compliance check",
|
|
81
|
+
"description": "Run compliance check on BMAD modules against best practices",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"cmd": "DA",
|
|
85
|
+
"label": "Dismiss Agent",
|
|
86
|
+
"description": "Exit the module builder",
|
|
87
|
+
},
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
async def process(self, request: str) -> str:
|
|
91
|
+
"""
|
|
92
|
+
Process a user request and return a response.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
request: The user's request or command
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
A response string
|
|
99
|
+
"""
|
|
100
|
+
# Parse the request
|
|
101
|
+
request_lower = request.lower().strip()
|
|
102
|
+
|
|
103
|
+
# Check for menu commands
|
|
104
|
+
if request_lower in ["mh", "menu", "help"]:
|
|
105
|
+
return self._display_menu()
|
|
106
|
+
elif request_lower in ["ch", "chat"]:
|
|
107
|
+
return self._handle_chat(request)
|
|
108
|
+
elif request_lower in ["pb", "product-brief"]:
|
|
109
|
+
return self._handle_product_brief(request)
|
|
110
|
+
elif request_lower in ["cm", "create-module"]:
|
|
111
|
+
return self._handle_create_module(request)
|
|
112
|
+
elif request_lower in ["em", "edit-module"]:
|
|
113
|
+
return self._handle_edit_module(request)
|
|
114
|
+
elif request_lower in ["vm", "validate-module"]:
|
|
115
|
+
return self._handle_validate_module(request)
|
|
116
|
+
elif request_lower in ["da", "exit", "leave", "goodbye", "dismiss"]:
|
|
117
|
+
return self._handle_dismiss()
|
|
118
|
+
else:
|
|
119
|
+
# Try fuzzy matching
|
|
120
|
+
matched = self._fuzzy_match(request_lower)
|
|
121
|
+
if matched:
|
|
122
|
+
return matched
|
|
123
|
+
else:
|
|
124
|
+
return self._handle_general_request(request)
|
|
125
|
+
|
|
126
|
+
def _display_menu(self) -> str:
|
|
127
|
+
"""Display the main menu."""
|
|
128
|
+
menu = f"\n🏗️ **Module Builder Menu**\n\n"
|
|
129
|
+
menu += f"Hello {self.user_name}! I'm Morgan, your Module Creation Master.\n\n"
|
|
130
|
+
menu += "Available commands:\n\n"
|
|
131
|
+
|
|
132
|
+
for i, item in enumerate(self.menu_items, 1):
|
|
133
|
+
menu += f"{i}. **[{item['cmd']}]** {item['label']}\n"
|
|
134
|
+
menu += f" {item['description']}\n\n"
|
|
135
|
+
|
|
136
|
+
menu += "Type a command number or use the command shortcut (e.g., 'CM' for Create Module).\n"
|
|
137
|
+
menu += "You can also type `/mmm-help` for advice on what to do next.\n"
|
|
138
|
+
|
|
139
|
+
return menu
|
|
140
|
+
|
|
141
|
+
def _handle_chat(self, request: str) -> str:
|
|
142
|
+
"""Handle general chat requests."""
|
|
143
|
+
return f"""
|
|
144
|
+
I'm Morgan, your Module Creation Master. I specialize in:
|
|
145
|
+
|
|
146
|
+
- Module architecture and design
|
|
147
|
+
- Integration patterns and dependencies
|
|
148
|
+
- End-to-end module development
|
|
149
|
+
- Modularity and reusability
|
|
150
|
+
- System-wide impact analysis
|
|
151
|
+
|
|
152
|
+
What would you like to know about building modules?
|
|
153
|
+
"""
|
|
154
|
+
|
|
155
|
+
def _handle_product_brief(self, request: str) -> str:
|
|
156
|
+
"""Handle product brief requests."""
|
|
157
|
+
return """
|
|
158
|
+
To create a product brief for a new MDAN module, I'll need:
|
|
159
|
+
|
|
160
|
+
1. **Module Name**: What should we call this module?
|
|
161
|
+
2. **Module Purpose**: What problem does this module solve?
|
|
162
|
+
3. **Target Users**: Who will use this module?
|
|
163
|
+
4. **Key Features**: What are the main features?
|
|
164
|
+
5. **Integration Points**: How does this integrate with existing systems?
|
|
165
|
+
6. **Success Metrics**: How do we measure success?
|
|
166
|
+
|
|
167
|
+
Please provide these details, and I'll create a comprehensive product brief.
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
def _handle_create_module(self, request: str) -> str:
|
|
171
|
+
"""Handle create module requests."""
|
|
172
|
+
return """
|
|
173
|
+
To create a complete MDAN module, I'll need:
|
|
174
|
+
|
|
175
|
+
1. **Module Structure**:
|
|
176
|
+
- Module name and directory structure
|
|
177
|
+
- Agents to include
|
|
178
|
+
- Workflows to implement
|
|
179
|
+
- Infrastructure requirements
|
|
180
|
+
|
|
181
|
+
2. **Module Components**:
|
|
182
|
+
- Agent definitions and personas
|
|
183
|
+
- Workflow definitions and state machines
|
|
184
|
+
- Integration points and APIs
|
|
185
|
+
- Data models and schemas
|
|
186
|
+
|
|
187
|
+
3. **Documentation**:
|
|
188
|
+
- Module README
|
|
189
|
+
- API documentation
|
|
190
|
+
- Usage examples
|
|
191
|
+
- Integration guides
|
|
192
|
+
|
|
193
|
+
Please provide the module requirements, and I'll create a complete, compliant module.
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
def _handle_edit_module(self, request: str) -> str:
|
|
197
|
+
"""Handle edit module requests."""
|
|
198
|
+
return """
|
|
199
|
+
To edit an existing MDAN module, please specify:
|
|
200
|
+
|
|
201
|
+
1. **Module Name**: Which module do you want to edit?
|
|
202
|
+
2. **Changes**: What aspects do you want to modify?
|
|
203
|
+
- Module structure
|
|
204
|
+
- Agent definitions
|
|
205
|
+
- Workflow definitions
|
|
206
|
+
- Integration points
|
|
207
|
+
- Documentation
|
|
208
|
+
- Other
|
|
209
|
+
|
|
210
|
+
I'll help you make the changes while maintaining module coherence and compliance.
|
|
211
|
+
"""
|
|
212
|
+
|
|
213
|
+
def _handle_validate_module(self, request: str) -> str:
|
|
214
|
+
"""Handle validate module requests."""
|
|
215
|
+
return """
|
|
216
|
+
To validate an MDAN module, I'll check for:
|
|
217
|
+
|
|
218
|
+
✓ **Module Structure**: Proper directory structure and organization
|
|
219
|
+
✓ **Self-Containment**: Module is self-contained yet integrates seamlessly
|
|
220
|
+
✓ **Business Value**: Module solves specific business problems effectively
|
|
221
|
+
✓ **Documentation**: Complete documentation and examples
|
|
222
|
+
✓ **Scalability**: Module plans for growth and evolution
|
|
223
|
+
✓ **Best Practices**: Follows proven patterns and standards
|
|
224
|
+
✓ **Lifecycle**: Considers entire module lifecycle from creation to maintenance
|
|
225
|
+
|
|
226
|
+
Please specify which module you'd like me to validate.
|
|
227
|
+
"""
|
|
228
|
+
|
|
229
|
+
def _handle_dismiss(self) -> str:
|
|
230
|
+
"""Handle dismiss requests."""
|
|
231
|
+
return f"""
|
|
232
|
+
Goodbye, {self.user_name}! It was a pleasure helping you with module building.
|
|
233
|
+
|
|
234
|
+
Remember:
|
|
235
|
+
- Modules must be self-contained yet integrate seamlessly
|
|
236
|
+
- Every module should solve specific business problems effectively
|
|
237
|
+
- Documentation and examples are as important as code
|
|
238
|
+
- Plan for growth and evolution from day one
|
|
239
|
+
- Balance innovation with proven patterns
|
|
240
|
+
- Consider the entire module lifecycle from creation to maintenance
|
|
241
|
+
|
|
242
|
+
Feel free to return anytime you need help building modules! 👋
|
|
243
|
+
"""
|
|
244
|
+
|
|
245
|
+
def _handle_general_request(self, request: str) -> str:
|
|
246
|
+
"""Handle general requests."""
|
|
247
|
+
return f"""
|
|
248
|
+
I understand you're asking about: "{request}"
|
|
249
|
+
|
|
250
|
+
As a Module Creation Master, I can help you with:
|
|
251
|
+
- Creating product briefs (use 'PB' or 'product-brief')
|
|
252
|
+
- Creating complete modules (use 'CM' or 'create-module')
|
|
253
|
+
- Editing existing modules (use 'EM' or 'edit-module')
|
|
254
|
+
- Validating modules (use 'VM' or 'validate-module')
|
|
255
|
+
- General module building questions (use 'CH' or 'chat')
|
|
256
|
+
|
|
257
|
+
Type 'MH' or 'menu' to see all available commands.
|
|
258
|
+
"""
|
|
259
|
+
|
|
260
|
+
def _fuzzy_match(self, request: str) -> Optional[str]:
|
|
261
|
+
"""Try to fuzzy match the request to a menu item."""
|
|
262
|
+
for item in self.menu_items:
|
|
263
|
+
if item["cmd"].lower() in request or any(
|
|
264
|
+
keyword in request for keyword in item["label"].lower().split()
|
|
265
|
+
):
|
|
266
|
+
# Call the appropriate handler
|
|
267
|
+
if item["cmd"] == "MH":
|
|
268
|
+
return self._display_menu()
|
|
269
|
+
elif item["cmd"] == "CH":
|
|
270
|
+
return self._handle_chat(request)
|
|
271
|
+
elif item["cmd"] == "PB":
|
|
272
|
+
return self._handle_product_brief(request)
|
|
273
|
+
elif item["cmd"] == "CM":
|
|
274
|
+
return self._handle_create_module(request)
|
|
275
|
+
elif item["cmd"] == "EM":
|
|
276
|
+
return self._handle_edit_module(request)
|
|
277
|
+
elif item["cmd"] == "VM":
|
|
278
|
+
return self._handle_validate_module(request)
|
|
279
|
+
elif item["cmd"] == "DA":
|
|
280
|
+
return self._handle_dismiss()
|
|
281
|
+
return None
|
|
282
|
+
|
|
283
|
+
def get_menu_items(self) -> List[Dict[str, str]]:
|
|
284
|
+
"""Get the menu items."""
|
|
285
|
+
return self.menu_items
|
|
286
|
+
|
|
287
|
+
def get_capabilities(self) -> List[str]:
|
|
288
|
+
"""Get the agent's capabilities."""
|
|
289
|
+
return self.capabilities
|
|
290
|
+
|
|
291
|
+
def get_info(self) -> Dict[str, Any]:
|
|
292
|
+
"""Get agent information."""
|
|
293
|
+
return {
|
|
294
|
+
"name": self.name,
|
|
295
|
+
"title": self.title,
|
|
296
|
+
"icon": self.icon,
|
|
297
|
+
"capabilities": self.capabilities,
|
|
298
|
+
"menu_items": self.menu_items,
|
|
299
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: module-builder
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Module Creation Master specializing in module architecture, integration patterns, and end-to-end module development
|
|
4
|
+
|
|
5
|
+
system_prompt: |
|
|
6
|
+
You are Mehdi, the Module Creation Master.
|
|
7
|
+
|
|
8
|
+
Your role: Module Architecture Specialist + Full-Stack Systems Designer
|
|
9
|
+
|
|
10
|
+
Your identity: Expert module architect with comprehensive knowledge of MDAN Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality.
|
|
11
|
+
|
|
12
|
+
Your communication style: Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability.
|
|
13
|
+
|
|
14
|
+
Your principles:
|
|
15
|
+
- Modules must be self-contained yet integrate seamlessly
|
|
16
|
+
- Every module should solve specific business problems effectively
|
|
17
|
+
- Documentation and examples are as important as code
|
|
18
|
+
- Plan for growth and evolution from day one
|
|
19
|
+
- Balance innovation with proven patterns
|
|
20
|
+
- Consider the entire module lifecycle from creation to maintenance
|
|
21
|
+
|
|
22
|
+
Your capabilities:
|
|
23
|
+
- Module architecture
|
|
24
|
+
- Integration patterns
|
|
25
|
+
- End-to-end module development
|
|
26
|
+
- Modularity and reusability
|
|
27
|
+
- System-wide impact analysis
|
|
28
|
+
|
|
29
|
+
When creating modules:
|
|
30
|
+
1. Ensure proper directory structure and organization
|
|
31
|
+
2. Design for self-containment and seamless integration
|
|
32
|
+
3. Focus on solving specific business problems
|
|
33
|
+
4. Provide complete documentation and examples
|
|
34
|
+
5. Plan for growth and evolution
|
|
35
|
+
6. Balance innovation with proven patterns
|
|
36
|
+
7. Consider the entire module lifecycle
|
|
37
|
+
|
|
38
|
+
When validating modules:
|
|
39
|
+
1. Check module structure and organization
|
|
40
|
+
2. Verify self-containment and integration
|
|
41
|
+
3. Validate business value and problem-solving
|
|
42
|
+
4. Review documentation completeness
|
|
43
|
+
5. Assess scalability and growth potential
|
|
44
|
+
6. Ensure best practices compliance
|
|
45
|
+
7. Evaluate lifecycle considerations
|
|
46
|
+
|
|
47
|
+
user_prompt_template: |
|
|
48
|
+
{user_request}
|
|
49
|
+
|
|
50
|
+
As Mehdi, the Module Creation Master, provide guidance on module creation, editing, or validation following MDAN Core standards and best practices.
|