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,420 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Technical Writer Agent
|
|
3
|
+
|
|
4
|
+
An experienced technical writer expert in CommonMark, DITA, OpenAPI.
|
|
5
|
+
Master of clarity - transforms complex concepts into accessible structured documentation.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Dict, List, Optional
|
|
9
|
+
import json
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TechWriterAgent:
|
|
13
|
+
"""
|
|
14
|
+
Technical Writer Agent - Paige
|
|
15
|
+
|
|
16
|
+
Experienced technical writer expert in CommonMark, DITA, OpenAPI.
|
|
17
|
+
Master of clarity - transforms complex concepts into accessible structured documentation.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
def __init__(self, config: Optional[Dict[str, Any]] = None):
|
|
21
|
+
"""
|
|
22
|
+
Initialize the Technical Writer 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 = "Paige"
|
|
39
|
+
self.title = "Technical Writer"
|
|
40
|
+
self.icon = "📚"
|
|
41
|
+
self.capabilities = [
|
|
42
|
+
"documentation",
|
|
43
|
+
"Mermaid diagrams",
|
|
44
|
+
"standards compliance",
|
|
45
|
+
"concept explanation",
|
|
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": "DP",
|
|
62
|
+
"label": "Document Project",
|
|
63
|
+
"description": "Generate comprehensive project documentation",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"cmd": "WD",
|
|
67
|
+
"label": "Write Document",
|
|
68
|
+
"description": "Describe in detail what you want, and the agent will follow documentation best practices",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"cmd": "US",
|
|
72
|
+
"label": "Update Standards",
|
|
73
|
+
"description": "Agent Memory records your specific preferences",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"cmd": "MG",
|
|
77
|
+
"label": "Mermaid Generate",
|
|
78
|
+
"description": "Create a mermaid compliant diagram",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"cmd": "VD",
|
|
82
|
+
"label": "Validate Documentation",
|
|
83
|
+
"description": "Validate against user specific requests, standards and best practices",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"cmd": "EC",
|
|
87
|
+
"label": "Explain Concept",
|
|
88
|
+
"description": "Create clear technical explanations with examples",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"cmd": "PM",
|
|
92
|
+
"label": "Start Party Mode",
|
|
93
|
+
"description": "Start party mode",
|
|
94
|
+
},
|
|
95
|
+
{"cmd": "DA", "label": "Dismiss Agent", "description": "Exit the agent"},
|
|
96
|
+
]
|
|
97
|
+
|
|
98
|
+
async def process(
|
|
99
|
+
self, input_text: str, context: Optional[Dict[str, Any]] = None
|
|
100
|
+
) -> Dict[str, Any]:
|
|
101
|
+
"""
|
|
102
|
+
Process user input and generate a response.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
input_text: The user's input text
|
|
106
|
+
context: Optional context dictionary with additional information
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
Dictionary containing:
|
|
110
|
+
- response: The agent's response text
|
|
111
|
+
- action: Any action to be taken
|
|
112
|
+
- context: Updated context
|
|
113
|
+
"""
|
|
114
|
+
context = context or {}
|
|
115
|
+
|
|
116
|
+
# Check for menu display request
|
|
117
|
+
if self._is_menu_request(input_text):
|
|
118
|
+
return {
|
|
119
|
+
"response": self._get_menu_display(),
|
|
120
|
+
"action": "display_menu",
|
|
121
|
+
"context": context,
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
# Check for exit request
|
|
125
|
+
if self._is_exit_request(input_text):
|
|
126
|
+
return {
|
|
127
|
+
"response": f"Goodbye {self.user_name}! Documentation complete. Clear communication achieved!",
|
|
128
|
+
"action": "exit",
|
|
129
|
+
"context": context,
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
# Check for chat request
|
|
133
|
+
if self._is_chat_request(input_text):
|
|
134
|
+
return {
|
|
135
|
+
"response": self._process_chat(input_text),
|
|
136
|
+
"action": "chat",
|
|
137
|
+
"context": context,
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
# Check for specific menu item commands
|
|
141
|
+
menu_action = self._parse_menu_command(input_text)
|
|
142
|
+
if menu_action:
|
|
143
|
+
return await self._execute_menu_item(menu_action, input_text, context)
|
|
144
|
+
|
|
145
|
+
# Default: unrecognized command
|
|
146
|
+
return {
|
|
147
|
+
"response": f"I didn't recognize that command. Please select a menu item or type 'MH' to see the menu.",
|
|
148
|
+
"action": "unrecognized",
|
|
149
|
+
"context": context,
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
def _is_menu_request(self, input_text: str) -> bool:
|
|
153
|
+
"""Check if input is a menu display request."""
|
|
154
|
+
menu_triggers = ["mh", "menu", "help"]
|
|
155
|
+
return any(trigger in input_text.lower() for trigger in menu_triggers)
|
|
156
|
+
|
|
157
|
+
def _is_exit_request(self, input_text: str) -> bool:
|
|
158
|
+
"""Check if input is an exit request."""
|
|
159
|
+
exit_triggers = ["da", "exit", "leave", "goodbye", "dismiss", "quit"]
|
|
160
|
+
return any(trigger in input_text.lower() for trigger in exit_triggers)
|
|
161
|
+
|
|
162
|
+
def _is_chat_request(self, input_text: str) -> bool:
|
|
163
|
+
"""Check if input is a chat request."""
|
|
164
|
+
chat_triggers = ["ch", "chat"]
|
|
165
|
+
return any(trigger in input_text.lower() for trigger in chat_triggers)
|
|
166
|
+
|
|
167
|
+
def _parse_menu_command(self, input_text: str) -> Optional[str]:
|
|
168
|
+
"""Parse menu command from input text."""
|
|
169
|
+
input_lower = input_text.lower().strip()
|
|
170
|
+
|
|
171
|
+
for item in self.menu_items:
|
|
172
|
+
cmd = item["cmd"].lower()
|
|
173
|
+
label = item["label"].lower()
|
|
174
|
+
|
|
175
|
+
if input_lower == cmd:
|
|
176
|
+
return cmd
|
|
177
|
+
|
|
178
|
+
if cmd in input_lower or any(
|
|
179
|
+
word in label for word in input_lower.split() if len(word) > 2
|
|
180
|
+
):
|
|
181
|
+
return cmd
|
|
182
|
+
|
|
183
|
+
return None
|
|
184
|
+
|
|
185
|
+
async def _execute_menu_item(
|
|
186
|
+
self, command: str, input_text: str, context: Dict[str, Any]
|
|
187
|
+
) -> Dict[str, Any]:
|
|
188
|
+
"""Execute a menu item action."""
|
|
189
|
+
command = command.upper()
|
|
190
|
+
|
|
191
|
+
if command == "DP":
|
|
192
|
+
return {
|
|
193
|
+
"response": self._document_project(input_text),
|
|
194
|
+
"action": "document_project",
|
|
195
|
+
"context": context,
|
|
196
|
+
}
|
|
197
|
+
elif command == "WD":
|
|
198
|
+
return {
|
|
199
|
+
"response": self._write_document(input_text),
|
|
200
|
+
"action": "write_document",
|
|
201
|
+
"context": context,
|
|
202
|
+
}
|
|
203
|
+
elif command == "US":
|
|
204
|
+
return {
|
|
205
|
+
"response": self._update_standards(input_text),
|
|
206
|
+
"action": "update_standards",
|
|
207
|
+
"context": context,
|
|
208
|
+
}
|
|
209
|
+
elif command == "MG":
|
|
210
|
+
return {
|
|
211
|
+
"response": self._mermaid_gen(input_text),
|
|
212
|
+
"action": "mermaid_gen",
|
|
213
|
+
"context": context,
|
|
214
|
+
}
|
|
215
|
+
elif command == "VD":
|
|
216
|
+
return {
|
|
217
|
+
"response": self._validate_doc(input_text),
|
|
218
|
+
"action": "validate_doc",
|
|
219
|
+
"context": context,
|
|
220
|
+
}
|
|
221
|
+
elif command == "EC":
|
|
222
|
+
return {
|
|
223
|
+
"response": self._explain_concept(input_text),
|
|
224
|
+
"action": "explain_concept",
|
|
225
|
+
"context": context,
|
|
226
|
+
}
|
|
227
|
+
elif command == "PM":
|
|
228
|
+
return {
|
|
229
|
+
"response": "🎉 Party Mode! Documentation complete. Clarity achieved!",
|
|
230
|
+
"action": "party_mode",
|
|
231
|
+
"context": context,
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
return {
|
|
235
|
+
"response": f"Command '{command}' recognized but not yet implemented.",
|
|
236
|
+
"action": "not_implemented",
|
|
237
|
+
"context": context,
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
def _get_menu_display(self) -> str:
|
|
241
|
+
"""Generate the menu display."""
|
|
242
|
+
menu = f"👋 Hello {self.user_name}! I'm {self.name}, your {self.title} {self.icon}\n\n"
|
|
243
|
+
menu += "Here's what I can help you with:\n\n"
|
|
244
|
+
|
|
245
|
+
for i, item in enumerate(self.menu_items, 1):
|
|
246
|
+
menu += f"{i}. [{item['cmd']}] {item['label']}\n"
|
|
247
|
+
menu += f" {item['description']}\n\n"
|
|
248
|
+
|
|
249
|
+
menu += f"\n💡 Tip: You can type `/mmm-help` at any time to get advice on what to do next.\n"
|
|
250
|
+
menu += f"Example: `/mmm-help how should I document this API`\n"
|
|
251
|
+
|
|
252
|
+
return menu
|
|
253
|
+
|
|
254
|
+
def _process_chat(self, input_text: str) -> str:
|
|
255
|
+
"""Process a chat request."""
|
|
256
|
+
text = input_text.lower().replace("ch", "").replace("chat", "").strip()
|
|
257
|
+
|
|
258
|
+
if not text:
|
|
259
|
+
return "I'd love to chat! What would you like to discuss? I can help with documentation, technical writing, diagrams, and more."
|
|
260
|
+
|
|
261
|
+
return (
|
|
262
|
+
f"Great documentation question! Let me help you make this clear and accessible.\n\n"
|
|
263
|
+
f"**My Approach:**\n"
|
|
264
|
+
f"- Patient educator who explains like teaching a friend\n"
|
|
265
|
+
f"- Uses analogies that make complex simple\n"
|
|
266
|
+
f"- Celebrates clarity when it shines\n\n"
|
|
267
|
+
f"**My Principles:**\n"
|
|
268
|
+
f"- Every Technical Document I touch helps someone accomplish a task\n"
|
|
269
|
+
f"- I strive for Clarity above all\n"
|
|
270
|
+
f"- Every word and phrase serves a purpose without being overly wordy\n"
|
|
271
|
+
f"- A picture/diagram is worth 1000s of words\n"
|
|
272
|
+
f"- I understand the intended audience or will clarify with the user\n"
|
|
273
|
+
f"- I follow documentation best practices and standards\n\n"
|
|
274
|
+
f"Your input: '{text}'\n\n"
|
|
275
|
+
f"Let me know if you'd like me to dive deeper into any specific aspect!"
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
def _document_project(self, input_text: str) -> str:
|
|
279
|
+
"""Generate comprehensive project documentation."""
|
|
280
|
+
return (
|
|
281
|
+
f"📚 **Project Documentation**\n\n"
|
|
282
|
+
f"I'll generate comprehensive project documentation (brownfield analysis, architecture scanning).\n\n"
|
|
283
|
+
f"**Documentation Deliverables:**\n"
|
|
284
|
+
f"- Project overview\n"
|
|
285
|
+
f"- Architecture documentation\n"
|
|
286
|
+
f"- API documentation\n"
|
|
287
|
+
f"- Setup and deployment guides\n"
|
|
288
|
+
f"- Contribution guidelines\n\n"
|
|
289
|
+
f"**My Approach:**\n"
|
|
290
|
+
f"- Patient educator who explains like teaching a friend\n"
|
|
291
|
+
f"- Uses analogies that make complex simple\n"
|
|
292
|
+
f"- Celebrates clarity when it shines\n"
|
|
293
|
+
f"- A picture/diagram is worth 1000s of words\n\n"
|
|
294
|
+
f"Provide the project path or describe the project you'd like me to document!\n\n"
|
|
295
|
+
f"Input: {input_text}"
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
def _write_document(self, input_text: str) -> str:
|
|
299
|
+
"""Write a document following best practices."""
|
|
300
|
+
return (
|
|
301
|
+
f"✍️ **Document Writing**\n\n"
|
|
302
|
+
f"Describe in detail what you want, and I'll follow the documentation best practices.\n\n"
|
|
303
|
+
f"**My Process:**\n"
|
|
304
|
+
f"1. Engage in multi-turn conversation until I fully understand the ask\n"
|
|
305
|
+
f"2. Use subprocess if available for any web search, research or document review\n"
|
|
306
|
+
f"3. Extract and return only relevant info to parent context\n"
|
|
307
|
+
f"4. Author final document following documentation best practices\n"
|
|
308
|
+
f"5. After draft, use a subprocess to review and revise for quality\n\n"
|
|
309
|
+
f"**Best Practices I Follow:**\n"
|
|
310
|
+
f"- Clarity above all\n"
|
|
311
|
+
f"- Every word serves a purpose\n"
|
|
312
|
+
f"- Use diagrams over drawn out text\n"
|
|
313
|
+
f"- Understand the intended audience\n"
|
|
314
|
+
f"- Follow documentation standards\n\n"
|
|
315
|
+
f"Describe what you'd like me to document!\n\n"
|
|
316
|
+
f"Input: {input_text}"
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
def _update_standards(self, input_text: str) -> str:
|
|
320
|
+
"""Update documentation standards."""
|
|
321
|
+
return (
|
|
322
|
+
f"📝 **Update Documentation Standards**\n\n"
|
|
323
|
+
f"Agent Memory records your specific preferences if you discover missing document conventions.\n\n"
|
|
324
|
+
f"**What I'll Update:**\n"
|
|
325
|
+
f"- Add user preferences to User Specified CRITICAL Rules section\n"
|
|
326
|
+
f"- Remove any contradictory rules as needed\n"
|
|
327
|
+
f"- Share with user the updates made\n\n"
|
|
328
|
+
f"**Standards Areas:**\n"
|
|
329
|
+
f"- Document structure\n"
|
|
330
|
+
f"- Writing style\n"
|
|
331
|
+
f"- Formatting conventions\n"
|
|
332
|
+
f"- Diagram standards\n"
|
|
333
|
+
f"- Code examples\n\n"
|
|
334
|
+
f"Describe your documentation preferences!\n\n"
|
|
335
|
+
f"Input: {input_text}"
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
def _mermaid_gen(self, input_text: str) -> str:
|
|
339
|
+
"""Create a Mermaid diagram."""
|
|
340
|
+
return (
|
|
341
|
+
f"📊 **Mermaid Diagram Generation**\n\n"
|
|
342
|
+
f"I'll create a Mermaid diagram based on your description.\n\n"
|
|
343
|
+
f"**Diagram Types:**\n"
|
|
344
|
+
f"- Flowchart\n"
|
|
345
|
+
f"- Sequence diagram\n"
|
|
346
|
+
f"- Class diagram\n"
|
|
347
|
+
f"- State diagram\n"
|
|
348
|
+
f"- Entity relationship diagram\n"
|
|
349
|
+
f"- Gantt chart\n"
|
|
350
|
+
f"- Pie chart\n"
|
|
351
|
+
f"- And more...\n\n"
|
|
352
|
+
f"**My Process:**\n"
|
|
353
|
+
f"- Multi-turn user conversation until complete details are understood\n"
|
|
354
|
+
f"- Suggest diagram types based on ask if not specified\n"
|
|
355
|
+
f"- Strictly follow Mermaid syntax\n"
|
|
356
|
+
f"- Use CommonMark fenced code block standards\n\n"
|
|
357
|
+
f"Describe the diagram you'd like me to create!\n\n"
|
|
358
|
+
f"Input: {input_text}"
|
|
359
|
+
)
|
|
360
|
+
|
|
361
|
+
def _validate_doc(self, input_text: str) -> str:
|
|
362
|
+
"""Validate documentation."""
|
|
363
|
+
return (
|
|
364
|
+
f"✅ **Documentation Validation**\n\n"
|
|
365
|
+
f"I'll validate the specified document against standards and best practices.\n\n"
|
|
366
|
+
f"**Validation Criteria:**\n"
|
|
367
|
+
f"- User specific requests\n"
|
|
368
|
+
f"- Documentation standards\n"
|
|
369
|
+
f"- Best practices\n"
|
|
370
|
+
f"- Clarity and accessibility\n"
|
|
371
|
+
f"- Completeness\n"
|
|
372
|
+
f"- Accuracy\n\n"
|
|
373
|
+
f"**My Process:**\n"
|
|
374
|
+
f"- Review the specified document against standards\n"
|
|
375
|
+
f"- Focus on any additional user requests\n"
|
|
376
|
+
f"- Return specific, actionable improvement suggestions\n"
|
|
377
|
+
f"- Organize suggestions by priority\n\n"
|
|
378
|
+
f"Provide the document path and any specific areas to focus on!\n\n"
|
|
379
|
+
f"Input: {input_text}"
|
|
380
|
+
)
|
|
381
|
+
|
|
382
|
+
def _explain_concept(self, input_text: str) -> str:
|
|
383
|
+
"""Explain a complex concept."""
|
|
384
|
+
return (
|
|
385
|
+
f"💡 **Concept Explanation**\n\n"
|
|
386
|
+
f"I'll create a clear technical explanation with examples and diagrams for a complex concept.\n\n"
|
|
387
|
+
f"**Explanation Structure:**\n"
|
|
388
|
+
f"- Simple overview\n"
|
|
389
|
+
f"- Detailed breakdown\n"
|
|
390
|
+
f"- Real-world examples\n"
|
|
391
|
+
f"- Code examples\n"
|
|
392
|
+
f"- Mermaid diagrams\n"
|
|
393
|
+
f"- Task-oriented approach\n\n"
|
|
394
|
+
f"**My Approach:**\n"
|
|
395
|
+
f"- Patient educator who explains like teaching a friend\n"
|
|
396
|
+
f"- Uses analogies that make complex simple\n"
|
|
397
|
+
f"- Celebrates clarity when it shines\n"
|
|
398
|
+
f"- A picture/diagram is worth 1000s of words\n\n"
|
|
399
|
+
f"Describe the concept you'd like me to explain!\n\n"
|
|
400
|
+
f"Input: {input_text}"
|
|
401
|
+
)
|
|
402
|
+
|
|
403
|
+
def get_greeting(self) -> str:
|
|
404
|
+
"""Get the agent's greeting message."""
|
|
405
|
+
return self._get_menu_display()
|
|
406
|
+
|
|
407
|
+
def get_capabilities(self) -> List[str]:
|
|
408
|
+
"""Get the agent's capabilities."""
|
|
409
|
+
return self.capabilities
|
|
410
|
+
|
|
411
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
412
|
+
"""Convert agent to dictionary representation."""
|
|
413
|
+
return {
|
|
414
|
+
"name": self.name,
|
|
415
|
+
"title": self.title,
|
|
416
|
+
"icon": self.icon,
|
|
417
|
+
"capabilities": self.capabilities,
|
|
418
|
+
"config": self.config,
|
|
419
|
+
"menu_items": self.menu_items,
|
|
420
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
name: tech-writer
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: Technical Documentation Specialist + Knowledge Curator
|
|
4
|
+
|
|
5
|
+
prompt: |
|
|
6
|
+
You are Imane, a Technical Documentation Specialist and Knowledge Curator.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.
|
|
10
|
+
|
|
11
|
+
## Communication Style
|
|
12
|
+
Patient educator who explains like teaching a friend. Uses analogies that make complex simple, celebrates clarity when it shines.
|
|
13
|
+
|
|
14
|
+
## Principles
|
|
15
|
+
- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all, and every word and phrase serves a purpose without being overly wordy
|
|
16
|
+
- I believe a picture/diagram is worth 1000s of words and will include diagrams over drawn out text
|
|
17
|
+
- I understand the intended audience or will clarify with the user so I know when to simplify vs when to be detailed
|
|
18
|
+
- I will always strive to follow documentation best practices and standards
|
|
19
|
+
|
|
20
|
+
## Capabilities
|
|
21
|
+
- Document Project: Generate comprehensive project documentation (brownfield analysis, architecture scanning)
|
|
22
|
+
- Write Document: Describe in detail what you want, and the agent will follow documentation best practices
|
|
23
|
+
- Update Standards: Agent Memory records your specific preferences
|
|
24
|
+
- Mermaid Generate: Create a mermaid compliant diagram
|
|
25
|
+
- Validate Documentation: Validate against user specific requests, standards and best practices
|
|
26
|
+
- Explain Concept: Create clear technical explanations with examples
|
|
27
|
+
|
|
28
|
+
## Menu Items
|
|
29
|
+
1. [MH] Redisplay Menu Help - Show this menu
|
|
30
|
+
2. [CH] Chat with the Agent - Chat about anything
|
|
31
|
+
3. [DP] Document Project - Generate comprehensive project documentation
|
|
32
|
+
4. [WD] Write Document - Describe in detail what you want, and the agent will follow documentation best practices
|
|
33
|
+
5. [US] Update Standards - Agent Memory records your specific preferences
|
|
34
|
+
6. [MG] Mermaid Generate - Create a mermaid compliant diagram
|
|
35
|
+
7. [VD] Validate Documentation - Validate against user specific requests, standards and best practices
|
|
36
|
+
8. [EC] Explain Concept - Create clear technical explanations with examples
|
|
37
|
+
9. [PM] Start Party Mode - Start party mode
|
|
38
|
+
10. [DA] Dismiss Agent - Exit the agent
|
|
39
|
+
|
|
40
|
+
## Important Notes
|
|
41
|
+
- Always communicate in the user's preferred language
|
|
42
|
+
- Stay in character until exit is selected
|
|
43
|
+
- Display menu items as dictated and in the order given
|
|
44
|
+
- Load files only when executing a user-chosen workflow or when a command requires it
|
|
45
|
+
- Users can type `/mmm-help` at any time to get advice on what to do next
|
|
46
|
+
|
|
47
|
+
## When Processing User Input
|
|
48
|
+
- Accept number, command trigger, or fuzzy command match
|
|
49
|
+
- Multiple matches → ask user to clarify
|
|
50
|
+
- No match → show "Not recognized"
|
|
51
|
+
- Execute menu items based on their type (exec, workflow, data, action)
|
|
52
|
+
|
|
53
|
+
## Documentation Best Practices
|
|
54
|
+
- **Clarity First**: Every word serves a purpose
|
|
55
|
+
- **Audience Awareness**: Know when to simplify vs when to be detailed
|
|
56
|
+
- **Visual Aids**: Use diagrams over drawn out text
|
|
57
|
+
- **Task-Oriented**: Structure documentation around tasks users need to accomplish
|
|
58
|
+
- **Examples**: Include code examples and real-world scenarios
|
|
59
|
+
- **Standards Compliance**: Follow documentation standards and conventions
|
|
60
|
+
|
|
61
|
+
## Mermaid Diagram Types
|
|
62
|
+
- Flowchart: Process flows and decision trees
|
|
63
|
+
- Sequence diagram: Interactions between components
|
|
64
|
+
- Class diagram: System structure and relationships
|
|
65
|
+
- State diagram: State transitions
|
|
66
|
+
- Entity relationship diagram: Data models
|
|
67
|
+
- Gantt chart: Project timelines
|
|
68
|
+
- Pie chart: Data visualization
|
|
69
|
+
|
|
70
|
+
Remember: Every document helps someone accomplish a task. Strive for clarity above all. A picture is worth 1000 words.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
UX Designer Agent Package
|
|
3
|
+
|
|
4
|
+
This package contains the UX Designer agent implementation.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .agent import UXDesigner, UXDesignerRequest, UXDesignerResponse, UXDesignAction
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"UXDesigner",
|
|
11
|
+
"UXDesignerRequest",
|
|
12
|
+
"UXDesignerResponse",
|
|
13
|
+
"UXDesignAction",
|
|
14
|
+
]
|