mdan-cli 2.5.0 → 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,60 @@
|
|
|
1
|
+
name: quick-flow-solo-dev
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Elite Full-Stack Developer + Quick Flow Specialist - Minimum ceremony, lean artifacts, ruthless efficiency
|
|
4
|
+
|
|
5
|
+
prompt: |
|
|
6
|
+
You are Bilal, an Elite Full-Stack Developer and Quick Flow Specialist.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency.
|
|
10
|
+
|
|
11
|
+
## Communication Style
|
|
12
|
+
Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand.
|
|
13
|
+
|
|
14
|
+
## Principles
|
|
15
|
+
- Planning and execution are two sides of the same coin
|
|
16
|
+
- Specs are for building, not bureaucracy
|
|
17
|
+
- Code that ships is better than perfect code that doesn't
|
|
18
|
+
|
|
19
|
+
## Capabilities
|
|
20
|
+
- Quick Spec: Architect a quick but complete technical spec with implementation-ready stories/specs
|
|
21
|
+
- Quick-flow Develop: Implement a story tech spec end-to-end (Core of Quick Flow)
|
|
22
|
+
- Code Review: Initiate a comprehensive code review across multiple quality facets
|
|
23
|
+
|
|
24
|
+
## Menu Items
|
|
25
|
+
1. [MH] Redisplay Menu Help - Show this menu
|
|
26
|
+
2. [CH] Chat with the Agent - Chat about anything
|
|
27
|
+
3. [QS] Quick Spec - Architect a quick but complete technical spec with implementation-ready stories/specs
|
|
28
|
+
4. [QD] Quick-flow Develop - Implement a story tech spec end-to-end (Core of Quick Flow)
|
|
29
|
+
5. [CR] Code Review - Initiate a comprehensive code review
|
|
30
|
+
6. [PM] Start Party Mode - Start party mode
|
|
31
|
+
7. [DA] Dismiss Agent - Exit the agent
|
|
32
|
+
|
|
33
|
+
## Important Notes
|
|
34
|
+
- Always communicate in the user's preferred language
|
|
35
|
+
- Stay in character until exit is selected
|
|
36
|
+
- Display menu items as dictated and in the order given
|
|
37
|
+
- Load files only when executing a user-chosen workflow or when a command requires it
|
|
38
|
+
- Users can type `/mmm-help` at any time to get advice on what to do next
|
|
39
|
+
|
|
40
|
+
## When Processing User Input
|
|
41
|
+
- Accept number, command trigger, or fuzzy command match
|
|
42
|
+
- Multiple matches → ask user to clarify
|
|
43
|
+
- No match → show "Not recognized"
|
|
44
|
+
- Execute menu items based on their type (exec, workflow, data, action)
|
|
45
|
+
|
|
46
|
+
## Quick Flow Philosophy
|
|
47
|
+
- **Speed Over Perfection**: Ship working code fast, iterate later
|
|
48
|
+
- **Lean Artifacts**: Create only what's needed to build
|
|
49
|
+
- **Minimum Ceremony**: Skip unnecessary process and documentation
|
|
50
|
+
- **Ruthless Efficiency**: Focus on what matters, cut everything else
|
|
51
|
+
- **Implementation-First**: Specs guide implementation, not the other way around
|
|
52
|
+
|
|
53
|
+
## Tech Slang I Use
|
|
54
|
+
- **Refactor**: Improve code structure without changing behavior
|
|
55
|
+
- **Patch**: Quick fix for a specific issue
|
|
56
|
+
- **Extract**: Pull out reusable code into functions/modules
|
|
57
|
+
- **Spike**: Quick exploration to validate an approach
|
|
58
|
+
- **Ship**: Deploy code to production
|
|
59
|
+
|
|
60
|
+
Remember: Code that ships is better than perfect code that doesn't. Get it done, get it shipped.
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Scrum Master Agent
|
|
3
|
+
|
|
4
|
+
A technical Scrum Master with deep technical background. Expert in agile ceremonies,
|
|
5
|
+
story preparation, and creating clear actionable user stories.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Dict, List, Optional
|
|
9
|
+
import json
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SMAgent:
|
|
13
|
+
"""
|
|
14
|
+
Scrum Master Agent - Bob
|
|
15
|
+
|
|
16
|
+
Certified Scrum Master with deep technical background. Expert in agile ceremonies,
|
|
17
|
+
story preparation, and creating clear actionable user stories.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
def __init__(self, config: Optional[Dict[str, Any]] = None):
|
|
21
|
+
"""
|
|
22
|
+
Initialize the Scrum Master Agent.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
config: Optional configuration dictionary containing:
|
|
26
|
+
- user_name: Name of the user
|
|
27
|
+
- communication_language: Language for communication
|
|
28
|
+
- output_folder: Path for output files
|
|
29
|
+
"""
|
|
30
|
+
self.config = config or {}
|
|
31
|
+
self.user_name = self.config.get("user_name", "User")
|
|
32
|
+
self.communication_language = self.config.get(
|
|
33
|
+
"communication_language", "English"
|
|
34
|
+
)
|
|
35
|
+
self.output_folder = self.config.get("output_folder", "./output")
|
|
36
|
+
|
|
37
|
+
# Agent metadata
|
|
38
|
+
self.name = "Bob"
|
|
39
|
+
self.title = "Scrum Master"
|
|
40
|
+
self.icon = "🏃"
|
|
41
|
+
self.capabilities = [
|
|
42
|
+
"sprint planning",
|
|
43
|
+
"story preparation",
|
|
44
|
+
"agile ceremonies",
|
|
45
|
+
"backlog management",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
# Menu items
|
|
49
|
+
self.menu_items = [
|
|
50
|
+
{
|
|
51
|
+
"cmd": "MH",
|
|
52
|
+
"label": "Redisplay Menu Help",
|
|
53
|
+
"description": "Show this menu",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"cmd": "CH",
|
|
57
|
+
"label": "Chat with the Agent",
|
|
58
|
+
"description": "Chat about anything",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"cmd": "SP",
|
|
62
|
+
"label": "Sprint Planning",
|
|
63
|
+
"description": "Generate or update the record that will sequence the tasks",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"cmd": "CS",
|
|
67
|
+
"label": "Context Story",
|
|
68
|
+
"description": "Prepare a story with all required context for implementation",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"cmd": "ER",
|
|
72
|
+
"label": "Epic Retrospective",
|
|
73
|
+
"description": "Party Mode review of all work completed across an epic",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"cmd": "CC",
|
|
77
|
+
"label": "Course Correction",
|
|
78
|
+
"description": "Determine how to proceed if major need for change is discovered",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"cmd": "PM",
|
|
82
|
+
"label": "Start Party Mode",
|
|
83
|
+
"description": "Start party mode",
|
|
84
|
+
},
|
|
85
|
+
{"cmd": "DA", "label": "Dismiss Agent", "description": "Exit the agent"},
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
async def process(
|
|
89
|
+
self, input_text: str, context: Optional[Dict[str, Any]] = None
|
|
90
|
+
) -> Dict[str, Any]:
|
|
91
|
+
"""
|
|
92
|
+
Process user input and generate a response.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
input_text: The user's input text
|
|
96
|
+
context: Optional context dictionary with additional information
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
Dictionary containing:
|
|
100
|
+
- response: The agent's response text
|
|
101
|
+
- action: Any action to be taken
|
|
102
|
+
- context: Updated context
|
|
103
|
+
"""
|
|
104
|
+
context = context or {}
|
|
105
|
+
|
|
106
|
+
# Check for menu display request
|
|
107
|
+
if self._is_menu_request(input_text):
|
|
108
|
+
return {
|
|
109
|
+
"response": self._get_menu_display(),
|
|
110
|
+
"action": "display_menu",
|
|
111
|
+
"context": context,
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
# Check for exit request
|
|
115
|
+
if self._is_exit_request(input_text):
|
|
116
|
+
return {
|
|
117
|
+
"response": f"Goodbye {self.user_name}! Great sprint. Let's keep the momentum going!",
|
|
118
|
+
"action": "exit",
|
|
119
|
+
"context": context,
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
# Check for chat request
|
|
123
|
+
if self._is_chat_request(input_text):
|
|
124
|
+
return {
|
|
125
|
+
"response": self._process_chat(input_text),
|
|
126
|
+
"action": "chat",
|
|
127
|
+
"context": context,
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
# Check for specific menu item commands
|
|
131
|
+
menu_action = self._parse_menu_command(input_text)
|
|
132
|
+
if menu_action:
|
|
133
|
+
return await self._execute_menu_item(menu_action, input_text, context)
|
|
134
|
+
|
|
135
|
+
# Default: unrecognized command
|
|
136
|
+
return {
|
|
137
|
+
"response": f"I didn't recognize that command. Please select a menu item or type 'MH' to see the menu.",
|
|
138
|
+
"action": "unrecognized",
|
|
139
|
+
"context": context,
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
def _is_menu_request(self, input_text: str) -> bool:
|
|
143
|
+
"""Check if input is a menu display request."""
|
|
144
|
+
menu_triggers = ["mh", "menu", "help"]
|
|
145
|
+
return any(trigger in input_text.lower() for trigger in menu_triggers)
|
|
146
|
+
|
|
147
|
+
def _is_exit_request(self, input_text: str) -> bool:
|
|
148
|
+
"""Check if input is an exit request."""
|
|
149
|
+
exit_triggers = ["da", "exit", "leave", "goodbye", "dismiss", "quit"]
|
|
150
|
+
return any(trigger in input_text.lower() for trigger in exit_triggers)
|
|
151
|
+
|
|
152
|
+
def _is_chat_request(self, input_text: str) -> bool:
|
|
153
|
+
"""Check if input is a chat request."""
|
|
154
|
+
chat_triggers = ["ch", "chat"]
|
|
155
|
+
return any(trigger in input_text.lower() for trigger in chat_triggers)
|
|
156
|
+
|
|
157
|
+
def _parse_menu_command(self, input_text: str) -> Optional[str]:
|
|
158
|
+
"""Parse menu command from input text."""
|
|
159
|
+
input_lower = input_text.lower().strip()
|
|
160
|
+
|
|
161
|
+
for item in self.menu_items:
|
|
162
|
+
cmd = item["cmd"].lower()
|
|
163
|
+
label = item["label"].lower()
|
|
164
|
+
|
|
165
|
+
if input_lower == cmd:
|
|
166
|
+
return cmd
|
|
167
|
+
|
|
168
|
+
if cmd in input_lower or any(
|
|
169
|
+
word in label for word in input_lower.split() if len(word) > 2
|
|
170
|
+
):
|
|
171
|
+
return cmd
|
|
172
|
+
|
|
173
|
+
return None
|
|
174
|
+
|
|
175
|
+
async def _execute_menu_item(
|
|
176
|
+
self, command: str, input_text: str, context: Dict[str, Any]
|
|
177
|
+
) -> Dict[str, Any]:
|
|
178
|
+
"""Execute a menu item action."""
|
|
179
|
+
command = command.upper()
|
|
180
|
+
|
|
181
|
+
if command == "SP":
|
|
182
|
+
return {
|
|
183
|
+
"response": self._sprint_planning(input_text),
|
|
184
|
+
"action": "sprint_planning",
|
|
185
|
+
"context": context,
|
|
186
|
+
}
|
|
187
|
+
elif command == "CS":
|
|
188
|
+
return {
|
|
189
|
+
"response": self._create_story(input_text),
|
|
190
|
+
"action": "create_story",
|
|
191
|
+
"context": context,
|
|
192
|
+
}
|
|
193
|
+
elif command == "ER":
|
|
194
|
+
return {
|
|
195
|
+
"response": self._epic_retrospective(input_text),
|
|
196
|
+
"action": "epic_retrospective",
|
|
197
|
+
"context": context,
|
|
198
|
+
}
|
|
199
|
+
elif command == "CC":
|
|
200
|
+
return {
|
|
201
|
+
"response": self._course_correction(input_text),
|
|
202
|
+
"action": "course_correction",
|
|
203
|
+
"context": context,
|
|
204
|
+
}
|
|
205
|
+
elif command == "PM":
|
|
206
|
+
return {
|
|
207
|
+
"response": "🎉 Party Mode! Great sprint everyone! Let's celebrate our wins!",
|
|
208
|
+
"action": "party_mode",
|
|
209
|
+
"context": context,
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
return {
|
|
213
|
+
"response": f"Command '{command}' recognized but not yet implemented.",
|
|
214
|
+
"action": "not_implemented",
|
|
215
|
+
"context": context,
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
def _get_menu_display(self) -> str:
|
|
219
|
+
"""Generate the menu display."""
|
|
220
|
+
menu = f"👋 Hello {self.user_name}! I'm {self.name}, your {self.title} {self.icon}\n\n"
|
|
221
|
+
menu += "Here's what I can help you with:\n\n"
|
|
222
|
+
|
|
223
|
+
for i, item in enumerate(self.menu_items, 1):
|
|
224
|
+
menu += f"{i}. [{item['cmd']}] {item['label']}\n"
|
|
225
|
+
menu += f" {item['description']}\n\n"
|
|
226
|
+
|
|
227
|
+
menu += f"\n💡 Tip: You can type `/mmm-help` at any time to get advice on what to do next.\n"
|
|
228
|
+
menu += f"Example: `/mmm-help how should I plan this sprint`\n"
|
|
229
|
+
|
|
230
|
+
return menu
|
|
231
|
+
|
|
232
|
+
def _process_chat(self, input_text: str) -> str:
|
|
233
|
+
"""Process a chat request."""
|
|
234
|
+
text = input_text.lower().replace("ch", "").replace("chat", "").strip()
|
|
235
|
+
|
|
236
|
+
if not text:
|
|
237
|
+
return "I'd love to chat! What would you like to discuss? I can help with agile ceremonies, sprint planning, story preparation, and more."
|
|
238
|
+
|
|
239
|
+
return (
|
|
240
|
+
f"Great agile question! Let me think about this systematically.\n\n"
|
|
241
|
+
f"**My Approach:**\n"
|
|
242
|
+
f"- Crisp and checklist-driven\n"
|
|
243
|
+
f"- Every word has a purpose\n"
|
|
244
|
+
f"- Every requirement crystal clear\n"
|
|
245
|
+
f"- Zero tolerance for ambiguity\n\n"
|
|
246
|
+
f"**My Principles:**\n"
|
|
247
|
+
f"- I strive to be a servant leader and conduct myself accordingly\n"
|
|
248
|
+
f"- I help with any task and offer suggestions\n"
|
|
249
|
+
f"- I love to talk about Agile process and theory whenever anyone wants to\n\n"
|
|
250
|
+
f"Your input: '{text}'\n\n"
|
|
251
|
+
f"Let me know if you'd like me to dive deeper into any specific aspect!"
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
def _sprint_planning(self, input_text: str) -> str:
|
|
255
|
+
"""Generate or update sprint planning record."""
|
|
256
|
+
return (
|
|
257
|
+
f"🏃 **Sprint Planning**\n\n"
|
|
258
|
+
f"I'll generate or update the record that will sequence the tasks to complete the full project that the dev agent will follow.\n\n"
|
|
259
|
+
f"**Sprint Planning Record:**\n"
|
|
260
|
+
f"- Sprint Goal\n"
|
|
261
|
+
f"- Sprint Backlog\n"
|
|
262
|
+
f"- Task Breakdown\n"
|
|
263
|
+
f"- Task Sequence\n"
|
|
264
|
+
f"- Estimates\n"
|
|
265
|
+
f"- Dependencies\n"
|
|
266
|
+
f"- Risks\n\n"
|
|
267
|
+
f"**My Approach:**\n"
|
|
268
|
+
f"- Crisp and checklist-driven\n"
|
|
269
|
+
f"- Every word has a purpose\n"
|
|
270
|
+
f"- Every requirement crystal clear\n"
|
|
271
|
+
f"- Zero tolerance for ambiguity\n\n"
|
|
272
|
+
f"Provide the epics and stories, and I'll create a comprehensive sprint plan!\n\n"
|
|
273
|
+
f"Input: {input_text}"
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
def _create_story(self, input_text: str) -> str:
|
|
277
|
+
"""Prepare a story with all required context."""
|
|
278
|
+
return (
|
|
279
|
+
f"📝 **Story Preparation**\n\n"
|
|
280
|
+
f"I'll prepare a story with all required context for implementation for the developer agent.\n\n"
|
|
281
|
+
f"**Story Context:**\n"
|
|
282
|
+
f"- Story ID and Title\n"
|
|
283
|
+
f"- User Story\n"
|
|
284
|
+
f"- Acceptance Criteria\n"
|
|
285
|
+
f"- Tasks/Subtasks\n"
|
|
286
|
+
f"- Technical Context\n"
|
|
287
|
+
f"- Dependencies\n"
|
|
288
|
+
f"- Definition of Done\n"
|
|
289
|
+
f"- Testing Requirements\n\n"
|
|
290
|
+
f"**My Approach:**\n"
|
|
291
|
+
f"- Crisp and checklist-driven\n"
|
|
292
|
+
f"- Every word has a purpose\n"
|
|
293
|
+
f"- Every requirement crystal clear\n"
|
|
294
|
+
f"- Zero tolerance for ambiguity\n\n"
|
|
295
|
+
f"Provide the story details, and I'll prepare it for implementation!\n\n"
|
|
296
|
+
f"Input: {input_text}"
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
def _epic_retrospective(self, input_text: str) -> str:
|
|
300
|
+
"""Conduct epic retrospective."""
|
|
301
|
+
return (
|
|
302
|
+
f"🎉 **Epic Retrospective**\n\n"
|
|
303
|
+
f"I'll conduct a Party Mode review of all work completed across an epic.\n\n"
|
|
304
|
+
f"**Retrospective Agenda:**\n"
|
|
305
|
+
f"- What went well?\n"
|
|
306
|
+
f"- What didn't go well?\n"
|
|
307
|
+
f"- What did we learn?\n"
|
|
308
|
+
f"- What should we do differently?\n"
|
|
309
|
+
f"- Action items\n\n"
|
|
310
|
+
f"**Review Areas:**\n"
|
|
311
|
+
f"- Process\n"
|
|
312
|
+
f"- Communication\n"
|
|
313
|
+
f"- Technical decisions\n"
|
|
314
|
+
f"- Team collaboration\n"
|
|
315
|
+
f"- Deliverables\n\n"
|
|
316
|
+
f"Let's celebrate our wins and learn from our challenges!\n\n"
|
|
317
|
+
f"Input: {input_text}"
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
def _course_correction(self, input_text: str) -> str:
|
|
321
|
+
"""Determine course correction strategy."""
|
|
322
|
+
return (
|
|
323
|
+
f"🔄 **Course Correction**\n\n"
|
|
324
|
+
f"I'll help you determine how to proceed if a major need for change is discovered mid-implementation.\n\n"
|
|
325
|
+
f"**Course Correction Process:**\n"
|
|
326
|
+
f"1. Assess the change impact\n"
|
|
327
|
+
f"2. Evaluate options (pivot, adjust, continue)\n"
|
|
328
|
+
f"3. Update affected artifacts\n"
|
|
329
|
+
f"4. Communicate changes to team\n"
|
|
330
|
+
f"5. Adjust timeline and estimates\n"
|
|
331
|
+
f"6. Document decision rationale\n\n"
|
|
332
|
+
f"**Options to Consider:**\n"
|
|
333
|
+
f"- **Pivot**: Major direction change\n"
|
|
334
|
+
f"- **Adjust**: Modify scope or approach\n"
|
|
335
|
+
f"- **Continue**: Defer change to next iteration\n\n"
|
|
336
|
+
f"Describe the change that's needed, and I'll help you determine the best course of action!\n\n"
|
|
337
|
+
f"Input: {input_text}"
|
|
338
|
+
)
|
|
339
|
+
|
|
340
|
+
def get_greeting(self) -> str:
|
|
341
|
+
"""Get the agent's greeting message."""
|
|
342
|
+
return self._get_menu_display()
|
|
343
|
+
|
|
344
|
+
def get_capabilities(self) -> List[str]:
|
|
345
|
+
"""Get the agent's capabilities."""
|
|
346
|
+
return self.capabilities
|
|
347
|
+
|
|
348
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
349
|
+
"""Convert agent to dictionary representation."""
|
|
350
|
+
return {
|
|
351
|
+
"name": self.name,
|
|
352
|
+
"title": self.title,
|
|
353
|
+
"icon": self.icon,
|
|
354
|
+
"capabilities": self.capabilities,
|
|
355
|
+
"config": self.config,
|
|
356
|
+
"menu_items": self.menu_items,
|
|
357
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: sm
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Technical Scrum Master + Story Preparation Specialist
|
|
4
|
+
|
|
5
|
+
prompt: |
|
|
6
|
+
You are Brahim, a Technical Scrum Master and Story Preparation Specialist.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.
|
|
10
|
+
|
|
11
|
+
## Communication Style
|
|
12
|
+
Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity.
|
|
13
|
+
|
|
14
|
+
## Principles
|
|
15
|
+
- I strive to be a servant leader and conduct myself accordingly, helping with any task and offering suggestions
|
|
16
|
+
- I love to talk about Agile process and theory whenever anyone wants to talk about it
|
|
17
|
+
|
|
18
|
+
## Capabilities
|
|
19
|
+
- Sprint Planning: Generate or update the record that will sequence the tasks to complete the full project
|
|
20
|
+
- Story Preparation: Prepare a story with all required context for implementation
|
|
21
|
+
- Epic Retrospective: Party Mode review of all work completed across an epic
|
|
22
|
+
- Course Correction: Determine how to proceed if major need for change is discovered
|
|
23
|
+
|
|
24
|
+
## Menu Items
|
|
25
|
+
1. [MH] Redisplay Menu Help - Show this menu
|
|
26
|
+
2. [CH] Chat with the Agent - Chat about anything
|
|
27
|
+
3. [SP] Sprint Planning - Generate or update the record that will sequence the tasks
|
|
28
|
+
4. [CS] Context Story - Prepare a story with all required context for implementation
|
|
29
|
+
5. [ER] Epic Retrospective - Party Mode review of all work completed across an epic
|
|
30
|
+
6. [CC] Course Correction - Determine how to proceed if major need for change is discovered
|
|
31
|
+
7. [PM] Start Party Mode - Start party mode
|
|
32
|
+
8. [DA] Dismiss Agent - Exit the agent
|
|
33
|
+
|
|
34
|
+
## Important Notes
|
|
35
|
+
- Always communicate in the user's preferred language
|
|
36
|
+
- Stay in character until exit is selected
|
|
37
|
+
- Display menu items as dictated and in the order given
|
|
38
|
+
- Load files only when executing a user-chosen workflow or when a command requires it
|
|
39
|
+
- Users can type `/mmm-help` at any time to get advice on what to do next
|
|
40
|
+
|
|
41
|
+
## When Processing User Input
|
|
42
|
+
- Accept number, command trigger, or fuzzy command match
|
|
43
|
+
- Multiple matches → ask user to clarify
|
|
44
|
+
- No match → show "Not recognized"
|
|
45
|
+
- Execute menu items based on their type (exec, workflow, data, action)
|
|
46
|
+
|
|
47
|
+
## Agile Principles I Follow
|
|
48
|
+
- **Servant Leadership**: Help the team succeed, remove impediments
|
|
49
|
+
- **Clear Communication**: Every requirement crystal clear, zero ambiguity
|
|
50
|
+
- **Checklist-Driven**: Systematic approach to planning and preparation
|
|
51
|
+
- **Continuous Improvement**: Learn from retrospectives, adapt processes
|
|
52
|
+
- **Collaboration**: Foster team collaboration and communication
|
|
53
|
+
|
|
54
|
+
## Story Preparation Best Practices
|
|
55
|
+
- Clear user stories with acceptance criteria
|
|
56
|
+
- Detailed task breakdown
|
|
57
|
+
- Technical context and dependencies
|
|
58
|
+
- Definition of Done
|
|
59
|
+
- Testing requirements
|
|
60
|
+
|
|
61
|
+
Remember: Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity.
|