bmad-method 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/workflows/discord.yaml +25 -0
- package/.github/workflows/format-check.yaml +42 -0
- package/.github/workflows/manual-release.yaml +173 -0
- package/.husky/pre-commit +3 -2
- package/.vscode/settings.json +67 -74
- package/CHANGELOG.md +564 -19
- package/CONTRIBUTING.md +168 -5
- package/LICENSE +1 -1
- package/README.md +146 -218
- package/bmad-core/agent-teams/team-all.yaml +14 -0
- package/bmad-core/agent-teams/team-fullstack.yaml +18 -0
- package/bmad-core/agent-teams/team-ide-minimal.yaml +10 -0
- package/bmad-core/agent-teams/team-no-ui.yaml +13 -0
- package/bmad-core/agents/analyst.md +81 -0
- package/bmad-core/agents/architect.md +83 -0
- package/bmad-core/agents/bmad-master.md +107 -0
- package/bmad-core/agents/bmad-orchestrator.md +149 -0
- package/bmad-core/agents/dev.md +75 -0
- package/bmad-core/agents/pm.md +81 -0
- package/bmad-core/agents/po.md +76 -0
- package/bmad-core/agents/qa.md +88 -0
- package/bmad-core/agents/sm.md +62 -0
- package/bmad-core/agents/ux-expert.md +66 -0
- package/{.bmad-core → bmad-core}/checklists/architect-checklist.md +0 -5
- package/{.bmad-core → bmad-core}/checklists/change-checklist.md +2 -2
- package/{.bmad-core → bmad-core}/checklists/pm-checklist.md +0 -5
- package/{.bmad-core → bmad-core}/checklists/po-master-checklist.md +0 -9
- package/{.bmad-core → bmad-core}/checklists/story-dod-checklist.md +0 -7
- package/{.bmad-core → bmad-core}/checklists/story-draft-checklist.md +1 -4
- package/bmad-core/core-config.yaml +20 -0
- package/bmad-core/data/bmad-kb.md +806 -0
- package/bmad-core/data/brainstorming-techniques.md +36 -0
- package/bmad-core/data/elicitation-methods.md +154 -0
- package/bmad-core/data/test-levels-framework.md +146 -0
- package/bmad-core/data/test-priorities-matrix.md +172 -0
- package/bmad-core/tasks/advanced-elicitation.md +117 -0
- package/{.bmad-core → bmad-core}/tasks/correct-course.md +9 -12
- package/bmad-core/tasks/create-brownfield-story.md +312 -0
- package/{.bmad-core → bmad-core}/tasks/create-deep-research-prompt.md +4 -27
- package/bmad-core/tasks/create-next-story.md +112 -0
- package/bmad-core/tasks/document-project.md +343 -0
- package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +51 -0
- package/{.bmad-core → bmad-core}/tasks/index-docs.md +3 -13
- package/bmad-core/tasks/kb-mode-interaction.md +75 -0
- package/bmad-core/tasks/nfr-assess.md +343 -0
- package/bmad-core/tasks/qa-gate.md +159 -0
- package/bmad-core/tasks/review-story.md +314 -0
- package/bmad-core/tasks/risk-profile.md +353 -0
- package/{.bmad-core → bmad-core}/tasks/shard-doc.md +27 -15
- package/bmad-core/tasks/test-design.md +174 -0
- package/bmad-core/tasks/trace-requirements.md +264 -0
- package/bmad-core/tasks/validate-next-story.md +134 -0
- package/bmad-core/templates/architecture-tmpl.yaml +650 -0
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +306 -0
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +218 -0
- package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +823 -0
- package/bmad-core/templates/market-research-tmpl.yaml +252 -0
- package/bmad-core/templates/prd-tmpl.yaml +202 -0
- package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
- package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
- package/bmad-core/templates/story-tmpl.yaml +137 -0
- package/bmad-core/workflows/brownfield-fullstack.yaml +297 -0
- package/bmad-core/workflows/brownfield-service.yaml +187 -0
- package/bmad-core/workflows/brownfield-ui.yaml +197 -0
- package/{.bmad-core/workflows/greenfield-fullstack.yml → bmad-core/workflows/greenfield-fullstack.yaml} +140 -77
- package/bmad-core/workflows/greenfield-service.yaml +206 -0
- package/bmad-core/workflows/greenfield-ui.yaml +235 -0
- package/common/tasks/create-doc.md +101 -0
- package/{.bmad-core → common}/tasks/execute-checklist.md +2 -13
- package/common/utils/bmad-doc-template.md +325 -0
- package/common/utils/workflow-management.md +69 -0
- package/dist/agents/analyst.txt +2889 -0
- package/dist/agents/architect.txt +3552 -0
- package/dist/agents/bmad-master.txt +8769 -0
- package/dist/agents/bmad-orchestrator.txt +1513 -0
- package/dist/agents/dev.txt +414 -0
- package/{.bmad-core/web-bundles → dist}/agents/pm.txt +668 -1119
- package/{.bmad-core/web-bundles → dist}/agents/po.txt +341 -484
- package/dist/agents/qa.txt +1987 -0
- package/dist/agents/sm.txt +658 -0
- package/dist/agents/ux-expert.txt +694 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +2371 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +1620 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +815 -0
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +10952 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +4012 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +3698 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +450 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +973 -0
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +15376 -0
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +2075 -0
- package/dist/teams/team-all.txt +12682 -0
- package/dist/teams/team-fullstack.txt +10421 -0
- package/dist/teams/team-ide-minimal.txt +5103 -0
- package/dist/teams/team-no-ui.txt +8980 -0
- package/docs/GUIDING-PRINCIPLES.md +91 -0
- package/docs/core-architecture.md +219 -0
- package/docs/enhanced-ide-development-workflow.md +248 -0
- package/docs/expansion-packs.md +280 -0
- package/docs/how-to-contribute-with-pull-requests.md +158 -0
- package/docs/user-guide.md +504 -0
- package/docs/versioning-and-releases.md +8 -16
- package/docs/versions.md +4 -5
- package/docs/working-in-the-brownfield.md +597 -0
- package/eslint.config.mjs +119 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +102 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +13 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +13 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +25 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +34 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +70 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +26 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +109 -0
- package/expansion-packs/README.md +2 -112
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +13 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +71 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +78 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +64 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +201 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +160 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +8 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +250 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +647 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +110 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +216 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +290 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +183 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +175 -0
- package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +14 -0
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +80 -0
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +77 -0
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +78 -0
- package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +65 -0
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +391 -0
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +203 -0
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +201 -0
- package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +124 -0
- package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +6 -0
- package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +769 -0
- package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +586 -0
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +110 -0
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +141 -0
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +184 -0
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +290 -0
- package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +200 -0
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +1030 -0
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +705 -0
- package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +256 -0
- package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +183 -0
- package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +175 -0
- package/expansion-packs/{infrastructure-devops → bmad-infrastructure-devops}/README.md +9 -9
- package/expansion-packs/{infrastructure-devops → bmad-infrastructure-devops}/agents/infra-devops-platform.md +30 -18
- package/expansion-packs/{infrastructure-devops → bmad-infrastructure-devops}/checklists/infrastructure-checklist.md +1 -1
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +9 -0
- package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +305 -0
- package/expansion-packs/{infrastructure-devops → bmad-infrastructure-devops}/tasks/review-infrastructure.md +4 -5
- package/expansion-packs/{infrastructure-devops → bmad-infrastructure-devops}/tasks/validate-infrastructure.md +4 -5
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
- package/package.json +74 -42
- package/prettier.config.mjs +32 -0
- package/release_notes.md +25 -0
- package/tools/bmad-npx-wrapper.js +13 -15
- package/tools/builders/web-builder.js +544 -15
- package/tools/bump-all-versions.js +115 -0
- package/tools/bump-expansion-version.js +90 -0
- package/tools/cli.js +65 -32
- package/tools/flattener/aggregate.js +76 -0
- package/tools/flattener/binary.js +80 -0
- package/tools/flattener/discovery.js +71 -0
- package/tools/flattener/files.js +35 -0
- package/tools/flattener/ignoreRules.js +176 -0
- package/tools/flattener/main.js +573 -0
- package/tools/flattener/projectRoot.js +206 -0
- package/tools/flattener/prompts.js +44 -0
- package/tools/flattener/stats.helpers.js +395 -0
- package/tools/flattener/stats.js +80 -0
- package/tools/flattener/test-matrix.js +413 -0
- package/tools/flattener/xml.js +88 -0
- package/tools/installer/README.md +3 -53
- package/tools/installer/bin/bmad.js +475 -90
- package/tools/installer/config/ide-agent-config.yaml +58 -0
- package/tools/installer/config/install.config.yaml +123 -0
- package/tools/installer/lib/config-loader.js +208 -40
- package/tools/installer/lib/file-manager.js +258 -55
- package/tools/installer/lib/ide-base-setup.js +228 -0
- package/tools/installer/lib/ide-setup.js +1265 -253
- package/tools/installer/lib/installer.js +1651 -310
- package/tools/installer/lib/memory-profiler.js +225 -0
- package/tools/installer/lib/module-manager.js +114 -0
- package/tools/installer/lib/resource-locator.js +308 -0
- package/tools/installer/package.json +25 -24
- package/tools/lib/dependency-resolver.js +44 -48
- package/tools/lib/yaml-utils.js +29 -0
- package/tools/md-assets/web-agent-startup-instructions.md +39 -0
- package/tools/preview-release-notes.js +66 -0
- package/tools/shared/bannerArt.js +105 -0
- package/tools/sync-installer-version.js +7 -9
- package/tools/update-expansion-version.js +53 -0
- package/tools/upgraders/v3-to-v4-upgrader.js +221 -320
- package/tools/version-bump.js +42 -27
- package/tools/yaml-format.js +57 -44
- package/.bmad-core/agent-teams/team-all.yml +0 -16
- package/.bmad-core/agent-teams/team-fullstack.yml +0 -26
- package/.bmad-core/agent-teams/team-no-ui.yml +0 -15
- package/.bmad-core/agents/analyst.md +0 -59
- package/.bmad-core/agents/architect.md +0 -66
- package/.bmad-core/agents/bmad-master.md +0 -104
- package/.bmad-core/agents/bmad-orchestrator.md +0 -81
- package/.bmad-core/agents/dev.md +0 -70
- package/.bmad-core/agents/pm.md +0 -59
- package/.bmad-core/agents/po.md +0 -60
- package/.bmad-core/agents/qa.md +0 -52
- package/.bmad-core/agents/sm.md +0 -55
- package/.bmad-core/agents/ux-expert.md +0 -66
- package/.bmad-core/data/bmad-kb.md +0 -47
- package/.bmad-core/schemas/agent-team-schema.yml +0 -153
- package/.bmad-core/tasks/advanced-elicitation.md +0 -92
- package/.bmad-core/tasks/brainstorming-techniques.md +0 -238
- package/.bmad-core/tasks/core-dump.md +0 -74
- package/.bmad-core/tasks/create-agent.md +0 -202
- package/.bmad-core/tasks/create-doc.md +0 -74
- package/.bmad-core/tasks/create-expansion-pack.md +0 -425
- package/.bmad-core/tasks/create-next-story.md +0 -206
- package/.bmad-core/tasks/create-team.md +0 -229
- package/.bmad-core/tasks/doc-migration-task.md +0 -143
- package/.bmad-core/tasks/generate-ai-frontend-prompt.md +0 -58
- package/.bmad-core/templates/agent-tmpl.md +0 -58
- package/.bmad-core/templates/architecture-tmpl.md +0 -771
- package/.bmad-core/templates/brownfield-architecture-tmpl.md +0 -542
- package/.bmad-core/templates/brownfield-prd-tmpl.md +0 -240
- package/.bmad-core/templates/competitor-analysis-tmpl.md +0 -289
- package/.bmad-core/templates/expansion-pack-plan-tmpl.md +0 -91
- package/.bmad-core/templates/front-end-architecture-tmpl.md +0 -173
- package/.bmad-core/templates/front-end-spec-tmpl.md +0 -411
- package/.bmad-core/templates/fullstack-architecture-tmpl.md +0 -1016
- package/.bmad-core/templates/market-research-tmpl.md +0 -261
- package/.bmad-core/templates/prd-tmpl.md +0 -200
- package/.bmad-core/templates/project-brief-tmpl.md +0 -228
- package/.bmad-core/templates/simple-project-prd-tmpl.md +0 -461
- package/.bmad-core/templates/story-tmpl.md +0 -61
- package/.bmad-core/templates/web-agent-startup-instructions-template.md +0 -39
- package/.bmad-core/utils/agent-switcher.ide.md +0 -112
- package/.bmad-core/utils/template-format.md +0 -26
- package/.bmad-core/utils/workflow-management.md +0 -224
- package/.bmad-core/web-bundles/agents/analyst.txt +0 -1684
- package/.bmad-core/web-bundles/agents/architect.txt +0 -3584
- package/.bmad-core/web-bundles/agents/bmad-master.txt +0 -9491
- package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +0 -1466
- package/.bmad-core/web-bundles/agents/dev.txt +0 -316
- package/.bmad-core/web-bundles/agents/qa.txt +0 -129
- package/.bmad-core/web-bundles/agents/sm.txt +0 -658
- package/.bmad-core/web-bundles/agents/ux-expert.txt +0 -1099
- package/.bmad-core/web-bundles/teams/team-all.txt +0 -10757
- package/.bmad-core/web-bundles/teams/team-fullstack.txt +0 -10109
- package/.bmad-core/web-bundles/teams/team-no-ui.txt +0 -8950
- package/.bmad-core/workflows/brownfield-fullstack.yml +0 -116
- package/.bmad-core/workflows/brownfield-service.yml +0 -117
- package/.bmad-core/workflows/brownfield-ui.yml +0 -127
- package/.bmad-core/workflows/greenfield-service.yml +0 -143
- package/.bmad-core/workflows/greenfield-ui.yml +0 -172
- package/.claude/commands/analyst.md +0 -63
- package/.claude/commands/architect.md +0 -70
- package/.claude/commands/bmad-master.md +0 -108
- package/.claude/commands/bmad-orchestrator.md +0 -85
- package/.claude/commands/dev.md +0 -74
- package/.claude/commands/pm.md +0 -63
- package/.claude/commands/po.md +0 -64
- package/.claude/commands/qa.md +0 -56
- package/.claude/commands/sm.md +0 -59
- package/.claude/commands/ux-expert.md +0 -70
- package/.cursor/rules/analyst.mdc +0 -77
- package/.cursor/rules/architect.mdc +0 -84
- package/.cursor/rules/bmad-master.mdc +0 -122
- package/.cursor/rules/bmad-orchestrator.mdc +0 -99
- package/.cursor/rules/dev.mdc +0 -88
- package/.cursor/rules/pm.mdc +0 -77
- package/.cursor/rules/po.mdc +0 -78
- package/.cursor/rules/qa.mdc +0 -70
- package/.cursor/rules/sm.mdc +0 -73
- package/.cursor/rules/ux-expert.mdc +0 -84
- package/.github/workflows/release.yml +0 -59
- package/.releaserc.json +0 -18
- package/.roo/.roomodes +0 -95
- package/.roo/README.md +0 -38
- package/.vscode/extensions.json +0 -6
- package/.windsurf/rules/analyst.md +0 -71
- package/.windsurf/rules/architect.md +0 -78
- package/.windsurf/rules/bmad-master.md +0 -116
- package/.windsurf/rules/bmad-orchestrator.md +0 -93
- package/.windsurf/rules/dev.md +0 -82
- package/.windsurf/rules/pm.md +0 -71
- package/.windsurf/rules/po.md +0 -72
- package/.windsurf/rules/qa.md +0 -64
- package/.windsurf/rules/sm.md +0 -67
- package/.windsurf/rules/ux-expert.md +0 -78
- package/docs/bmad-workflow-guide.md +0 -161
- package/docs/claude-code-guide.md +0 -119
- package/docs/cursor-guide.md +0 -127
- package/docs/roo-code-guide.md +0 -140
- package/docs/sample-output/simple-fullstack-greenfield/prd.md +0 -42
- package/docs/windsurf-guide.md +0 -127
- package/expansion-packs/infrastructure-devops/manifest.yml +0 -38
- package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
- package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
- package/tools/installer/config/install.config.yml +0 -139
- package/tools/installer/package-lock.json +0 -906
- package/tools/installer/templates/claude-commands.md +0 -7
- package/tools/installer/templates/cursor-rules.md +0 -22
- package/tools/installer/templates/windsurf-rules.md +0 -22
- package/tools/semantic-release-sync-installer.js +0 -31
- /package/{.bmad-core → bmad-core}/data/technical-preferences.md +0 -0
- /package/{.bmad-core → bmad-core}/tasks/brownfield-create-epic.md +0 -0
- /package/{.bmad-core → bmad-core}/tasks/brownfield-create-story.md +0 -0
package/tools/version-bump.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const { execSync } = require('child_process');
|
|
5
|
-
const path = require('path');
|
|
1
|
+
const fs = require('node:fs');
|
|
2
|
+
const { execSync } = require('node:child_process');
|
|
3
|
+
const path = require('node:path');
|
|
6
4
|
|
|
7
5
|
// Dynamic import for ES module
|
|
8
6
|
let chalk;
|
|
@@ -15,7 +13,7 @@ async function initializeModules() {
|
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
/**
|
|
18
|
-
* Simple version bumping script for
|
|
16
|
+
* Simple version bumping script for BMad-Method
|
|
19
17
|
* Usage: node tools/version-bump.js [patch|minor|major]
|
|
20
18
|
*/
|
|
21
19
|
|
|
@@ -26,54 +24,71 @@ function getCurrentVersion() {
|
|
|
26
24
|
|
|
27
25
|
async function bumpVersion(type = 'patch') {
|
|
28
26
|
await initializeModules();
|
|
29
|
-
|
|
27
|
+
|
|
30
28
|
const validTypes = ['patch', 'minor', 'major'];
|
|
31
29
|
if (!validTypes.includes(type)) {
|
|
32
30
|
console.error(chalk.red(`Invalid version type: ${type}. Use: ${validTypes.join(', ')}`));
|
|
33
31
|
process.exit(1);
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
34
|
+
const currentVersion = getCurrentVersion();
|
|
35
|
+
const versionParts = currentVersion.split('.').map(Number);
|
|
36
|
+
let newVersion;
|
|
37
|
+
|
|
38
|
+
switch (type) {
|
|
39
|
+
case 'major': {
|
|
40
|
+
newVersion = `${versionParts[0] + 1}.0.0`;
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case 'minor': {
|
|
44
|
+
newVersion = `${versionParts[0]}.${versionParts[1] + 1}.0`;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case 'patch': {
|
|
48
|
+
newVersion = `${versionParts[0]}.${versionParts[1]}.${versionParts[2] + 1}`;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
console.log(chalk.blue(`Bumping version: ${currentVersion} → ${newVersion}`));
|
|
54
|
+
|
|
55
|
+
// Update package.json
|
|
56
|
+
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
57
|
+
packageJson.version = newVersion;
|
|
58
|
+
fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2) + '\n');
|
|
59
|
+
|
|
60
|
+
console.log(chalk.green(`✓ Updated package.json to ${newVersion}`));
|
|
61
|
+
|
|
62
|
+
return newVersion;
|
|
48
63
|
}
|
|
49
64
|
|
|
50
65
|
async function main() {
|
|
51
66
|
await initializeModules();
|
|
52
|
-
|
|
67
|
+
|
|
53
68
|
const type = process.argv[2] || 'patch';
|
|
54
69
|
const currentVersion = getCurrentVersion();
|
|
55
|
-
|
|
70
|
+
|
|
56
71
|
console.log(chalk.blue(`Current version: ${currentVersion}`));
|
|
57
|
-
|
|
72
|
+
|
|
58
73
|
// Check if working directory is clean
|
|
59
74
|
try {
|
|
60
75
|
execSync('git diff-index --quiet HEAD --');
|
|
61
|
-
} catch
|
|
76
|
+
} catch {
|
|
62
77
|
console.error(chalk.red('❌ Working directory is not clean. Commit your changes first.'));
|
|
63
78
|
process.exit(1);
|
|
64
79
|
}
|
|
65
|
-
|
|
80
|
+
|
|
66
81
|
const newVersion = await bumpVersion(type);
|
|
67
|
-
|
|
82
|
+
|
|
68
83
|
console.log(chalk.green(`\n🎉 Version bump complete!`));
|
|
69
84
|
console.log(chalk.blue(`📦 ${currentVersion} → ${newVersion}`));
|
|
70
85
|
}
|
|
71
86
|
|
|
72
87
|
if (require.main === module) {
|
|
73
|
-
main().catch(error => {
|
|
88
|
+
main().catch((error) => {
|
|
74
89
|
console.error('Error:', error);
|
|
75
90
|
process.exit(1);
|
|
76
91
|
});
|
|
77
92
|
}
|
|
78
93
|
|
|
79
|
-
module.exports = { bumpVersion, getCurrentVersion };
|
|
94
|
+
module.exports = { bumpVersion, getCurrentVersion };
|
package/tools/yaml-format.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const fs = require('fs');
|
|
4
|
-
const path = require('path');
|
|
1
|
+
const fs = require('node:fs');
|
|
2
|
+
const path = require('node:path');
|
|
5
3
|
const yaml = require('js-yaml');
|
|
6
|
-
const { execSync } = require('child_process');
|
|
4
|
+
const { execSync } = require('node:child_process');
|
|
7
5
|
|
|
8
6
|
// Dynamic import for ES module
|
|
9
7
|
let chalk;
|
|
@@ -16,7 +14,7 @@ async function initializeModules() {
|
|
|
16
14
|
}
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
|
-
* YAML Formatter and Linter for
|
|
17
|
+
* YAML Formatter and Linter for BMad-Method
|
|
20
18
|
* Formats and validates YAML files and YAML embedded in Markdown
|
|
21
19
|
*/
|
|
22
20
|
|
|
@@ -26,43 +24,50 @@ async function formatYamlContent(content, filename) {
|
|
|
26
24
|
// First try to fix common YAML issues
|
|
27
25
|
let fixedContent = content
|
|
28
26
|
// Fix "commands :" -> "commands:"
|
|
29
|
-
.
|
|
27
|
+
.replaceAll(/^(\s*)(\w+)\s+:/gm, '$1$2:')
|
|
30
28
|
// Fix inconsistent list indentation
|
|
31
|
-
.
|
|
32
|
-
|
|
29
|
+
.replaceAll(/^(\s*)-\s{3,}/gm, '$1- ');
|
|
30
|
+
|
|
33
31
|
// Skip auto-fixing for .roomodes files - they have special nested structure
|
|
34
32
|
if (!filename.includes('.roomodes')) {
|
|
35
33
|
fixedContent = fixedContent
|
|
36
34
|
// Fix unquoted list items that contain special characters or multiple parts
|
|
37
|
-
.
|
|
35
|
+
.replaceAll(/^(\s*)-\s+(.*)$/gm, (match, indent, content) => {
|
|
38
36
|
// Skip if already quoted
|
|
39
37
|
if (content.startsWith('"') && content.endsWith('"')) {
|
|
40
38
|
return match;
|
|
41
39
|
}
|
|
42
40
|
// If the content contains special YAML characters or looks complex, quote it
|
|
43
41
|
// BUT skip if it looks like a proper YAML key-value pair (like "key: value")
|
|
44
|
-
if (
|
|
45
|
-
|
|
42
|
+
if (
|
|
43
|
+
(content.includes(':') ||
|
|
44
|
+
content.includes('-') ||
|
|
45
|
+
content.includes('{') ||
|
|
46
|
+
content.includes('}')) &&
|
|
47
|
+
!/^\w+:\s/.test(content)
|
|
48
|
+
) {
|
|
46
49
|
// Remove any existing quotes first, escape internal quotes, then add proper quotes
|
|
47
|
-
const cleanContent = content
|
|
50
|
+
const cleanContent = content
|
|
51
|
+
.replaceAll(/^["']|["']$/g, '')
|
|
52
|
+
.replaceAll('"', String.raw`\"`);
|
|
48
53
|
return `${indent}- "${cleanContent}"`;
|
|
49
54
|
}
|
|
50
55
|
return match;
|
|
51
56
|
});
|
|
52
57
|
}
|
|
53
|
-
|
|
58
|
+
|
|
54
59
|
// Debug: show what we're trying to parse
|
|
55
60
|
if (fixedContent !== content) {
|
|
56
61
|
console.log(chalk.blue(`🔧 Applied YAML fixes to ${filename}`));
|
|
57
62
|
}
|
|
58
|
-
|
|
63
|
+
|
|
59
64
|
// Parse and re-dump YAML to format it
|
|
60
65
|
const parsed = yaml.load(fixedContent);
|
|
61
66
|
const formatted = yaml.dump(parsed, {
|
|
62
67
|
indent: 2,
|
|
63
68
|
lineWidth: -1, // Disable line wrapping
|
|
64
69
|
noRefs: true,
|
|
65
|
-
sortKeys: false // Preserve key order
|
|
70
|
+
sortKeys: false, // Preserve key order
|
|
66
71
|
});
|
|
67
72
|
return formatted;
|
|
68
73
|
} catch (error) {
|
|
@@ -80,7 +85,7 @@ async function processMarkdownFile(filePath) {
|
|
|
80
85
|
|
|
81
86
|
// Fix untyped code blocks by adding 'text' type
|
|
82
87
|
// Match ``` at start of line followed by newline, but only if it's an opening fence
|
|
83
|
-
newContent = newContent.
|
|
88
|
+
newContent = newContent.replaceAll(/^```\n([\s\S]*?)\n```$/gm, '```text\n$1\n```');
|
|
84
89
|
if (newContent !== content) {
|
|
85
90
|
modified = true;
|
|
86
91
|
console.log(chalk.blue(`🔧 Added 'text' type to untyped code blocks in ${filePath}`));
|
|
@@ -90,30 +95,30 @@ async function processMarkdownFile(filePath) {
|
|
|
90
95
|
const yamlBlockRegex = /```ya?ml\n([\s\S]*?)\n```/g;
|
|
91
96
|
let match;
|
|
92
97
|
const replacements = [];
|
|
93
|
-
|
|
98
|
+
|
|
94
99
|
while ((match = yamlBlockRegex.exec(newContent)) !== null) {
|
|
95
100
|
const [fullMatch, yamlContent] = match;
|
|
96
101
|
const formatted = await formatYamlContent(yamlContent, filePath);
|
|
97
102
|
if (formatted !== null) {
|
|
98
103
|
// Remove trailing newline that js-yaml adds
|
|
99
104
|
const trimmedFormatted = formatted.replace(/\n$/, '');
|
|
100
|
-
|
|
105
|
+
|
|
101
106
|
if (trimmedFormatted !== yamlContent) {
|
|
102
107
|
modified = true;
|
|
103
108
|
console.log(chalk.green(`✓ Formatted YAML in ${filePath}`));
|
|
104
109
|
}
|
|
105
|
-
|
|
110
|
+
|
|
106
111
|
replacements.push({
|
|
107
112
|
start: match.index,
|
|
108
113
|
end: match.index + fullMatch.length,
|
|
109
|
-
replacement: `\`\`\`yaml\n${trimmedFormatted}\n
|
|
114
|
+
replacement: `\`\`\`yaml\n${trimmedFormatted}\n\`\`\``,
|
|
110
115
|
});
|
|
111
116
|
}
|
|
112
117
|
}
|
|
113
|
-
|
|
118
|
+
|
|
114
119
|
// Apply replacements in reverse order to maintain indices
|
|
115
|
-
for (let
|
|
116
|
-
const { start, end, replacement } = replacements[
|
|
120
|
+
for (let index = replacements.length - 1; index >= 0; index--) {
|
|
121
|
+
const { start, end, replacement } = replacements[index];
|
|
117
122
|
newContent = newContent.slice(0, start) + replacement + newContent.slice(end);
|
|
118
123
|
}
|
|
119
124
|
|
|
@@ -128,11 +133,11 @@ async function processYamlFile(filePath) {
|
|
|
128
133
|
await initializeModules();
|
|
129
134
|
const content = fs.readFileSync(filePath, 'utf8');
|
|
130
135
|
const formatted = await formatYamlContent(content, filePath);
|
|
131
|
-
|
|
136
|
+
|
|
132
137
|
if (formatted === null) {
|
|
133
138
|
return false; // Syntax error
|
|
134
139
|
}
|
|
135
|
-
|
|
140
|
+
|
|
136
141
|
if (formatted !== content) {
|
|
137
142
|
fs.writeFileSync(filePath, formatted);
|
|
138
143
|
return true;
|
|
@@ -155,10 +160,10 @@ async function lintYamlFile(filePath) {
|
|
|
155
160
|
|
|
156
161
|
async function main() {
|
|
157
162
|
await initializeModules();
|
|
158
|
-
const
|
|
163
|
+
const arguments_ = process.argv.slice(2);
|
|
159
164
|
const glob = require('glob');
|
|
160
|
-
|
|
161
|
-
if (
|
|
165
|
+
|
|
166
|
+
if (arguments_.length === 0) {
|
|
162
167
|
console.error('Usage: node yaml-format.js <file1> [file2] ...');
|
|
163
168
|
process.exit(1);
|
|
164
169
|
}
|
|
@@ -169,38 +174,44 @@ async function main() {
|
|
|
169
174
|
|
|
170
175
|
// Expand glob patterns and collect all files
|
|
171
176
|
const allFiles = [];
|
|
172
|
-
for (const
|
|
173
|
-
if (
|
|
177
|
+
for (const argument of arguments_) {
|
|
178
|
+
if (argument.includes('*')) {
|
|
174
179
|
// It's a glob pattern
|
|
175
|
-
const matches = glob.sync(
|
|
180
|
+
const matches = glob.sync(argument);
|
|
176
181
|
allFiles.push(...matches);
|
|
177
182
|
} else {
|
|
178
183
|
// It's a direct file path
|
|
179
|
-
allFiles.push(
|
|
184
|
+
allFiles.push(argument);
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
|
|
183
188
|
for (const filePath of allFiles) {
|
|
184
189
|
if (!fs.existsSync(filePath)) {
|
|
185
190
|
// Skip silently for glob patterns that don't match anything
|
|
186
|
-
if (!
|
|
191
|
+
if (!arguments_.some((argument) => argument.includes('*') && filePath === argument)) {
|
|
187
192
|
console.error(chalk.red(`❌ File not found: ${filePath}`));
|
|
188
193
|
hasErrors = true;
|
|
189
194
|
}
|
|
190
195
|
continue;
|
|
191
196
|
}
|
|
192
197
|
|
|
193
|
-
const
|
|
198
|
+
const extension = path.extname(filePath).toLowerCase();
|
|
194
199
|
const basename = path.basename(filePath).toLowerCase();
|
|
195
|
-
|
|
200
|
+
|
|
196
201
|
try {
|
|
197
202
|
let changed = false;
|
|
198
|
-
if (
|
|
203
|
+
if (extension === '.md') {
|
|
199
204
|
changed = await processMarkdownFile(filePath);
|
|
200
|
-
} else if (
|
|
205
|
+
} else if (
|
|
206
|
+
extension === '.yaml' ||
|
|
207
|
+
extension === '.yml' ||
|
|
208
|
+
basename.includes('roomodes') ||
|
|
209
|
+
basename.includes('.yaml') ||
|
|
210
|
+
basename.includes('.yml')
|
|
211
|
+
) {
|
|
201
212
|
// Handle YAML files and special cases like .roomodes
|
|
202
213
|
changed = await processYamlFile(filePath);
|
|
203
|
-
|
|
214
|
+
|
|
204
215
|
// Also run linting
|
|
205
216
|
const lintPassed = await lintYamlFile(filePath);
|
|
206
217
|
if (!lintPassed) hasErrors = true;
|
|
@@ -208,7 +219,7 @@ async function main() {
|
|
|
208
219
|
// Skip silently for unsupported files
|
|
209
220
|
continue;
|
|
210
221
|
}
|
|
211
|
-
|
|
222
|
+
|
|
212
223
|
if (changed) {
|
|
213
224
|
hasChanges = true;
|
|
214
225
|
filesProcessed.push(filePath);
|
|
@@ -220,8 +231,10 @@ async function main() {
|
|
|
220
231
|
}
|
|
221
232
|
|
|
222
233
|
if (hasChanges) {
|
|
223
|
-
console.log(
|
|
224
|
-
|
|
234
|
+
console.log(
|
|
235
|
+
chalk.green(`\n✨ YAML formatting completed! Modified ${filesProcessed.length} files:`),
|
|
236
|
+
);
|
|
237
|
+
for (const file of filesProcessed) console.log(chalk.blue(` 📝 ${file}`));
|
|
225
238
|
}
|
|
226
239
|
|
|
227
240
|
if (hasErrors) {
|
|
@@ -231,10 +244,10 @@ async function main() {
|
|
|
231
244
|
}
|
|
232
245
|
|
|
233
246
|
if (require.main === module) {
|
|
234
|
-
main().catch(error => {
|
|
247
|
+
main().catch((error) => {
|
|
235
248
|
console.error('Error:', error);
|
|
236
249
|
process.exit(1);
|
|
237
250
|
});
|
|
238
251
|
}
|
|
239
252
|
|
|
240
|
-
module.exports = { formatYamlContent, processMarkdownFile, processYamlFile };
|
|
253
|
+
module.exports = { formatYamlContent, processMarkdownFile, processYamlFile };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
bundle:
|
|
2
|
-
name: Team All
|
|
3
|
-
icon: 👥
|
|
4
|
-
description: This is a full organization of agents and includes every possible agent. This will produce the larges bundle but give the most options for discussion in a single session
|
|
5
|
-
|
|
6
|
-
agents:
|
|
7
|
-
- bmad-orchestrator
|
|
8
|
-
- "*"
|
|
9
|
-
|
|
10
|
-
workflows:
|
|
11
|
-
- brownfield-fullstack
|
|
12
|
-
- brownfield-service
|
|
13
|
-
- brownfield-ui
|
|
14
|
-
- greenfield-fullstack
|
|
15
|
-
- greenfield-service
|
|
16
|
-
- greenfield-ui
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
bundle:
|
|
2
|
-
name: Team Fullstack
|
|
3
|
-
icon: 🚀
|
|
4
|
-
description: >-
|
|
5
|
-
Comprehensive full-stack development team capable of handling both greenfield
|
|
6
|
-
application development and brownfield enhancement projects. This team combines
|
|
7
|
-
strategic planning, user experience design, and holistic system architecture
|
|
8
|
-
to deliver complete solutions from concept to deployment. Specializes in
|
|
9
|
-
full-stack applications, SaaS platforms, enterprise apps, feature additions,
|
|
10
|
-
refactoring, and system modernization.
|
|
11
|
-
|
|
12
|
-
agents:
|
|
13
|
-
- bmad-orchestrator
|
|
14
|
-
- analyst
|
|
15
|
-
- pm
|
|
16
|
-
- ux-expert
|
|
17
|
-
- architect
|
|
18
|
-
- po
|
|
19
|
-
|
|
20
|
-
workflows:
|
|
21
|
-
- brownfield-fullstack
|
|
22
|
-
- brownfield-service
|
|
23
|
-
- brownfield-ui
|
|
24
|
-
- greenfield-fullstack
|
|
25
|
-
- greenfield-service
|
|
26
|
-
- greenfield-ui
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
bundle:
|
|
2
|
-
name: Team No UI
|
|
3
|
-
icon: 🔧
|
|
4
|
-
description: This is a team that is responsible for planning the project without any UI/UX design. This is for projects that do not require UI/UX design.
|
|
5
|
-
|
|
6
|
-
agents:
|
|
7
|
-
- bmad-orchestrator
|
|
8
|
-
- analyst
|
|
9
|
-
- pm
|
|
10
|
-
- architect
|
|
11
|
-
- po
|
|
12
|
-
|
|
13
|
-
workflows:
|
|
14
|
-
- greenfield-service
|
|
15
|
-
- brownfield-service
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# analyst
|
|
2
|
-
|
|
3
|
-
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
|
4
|
-
|
|
5
|
-
```yaml
|
|
6
|
-
activation-instructions:
|
|
7
|
-
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
|
8
|
-
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
|
9
|
-
- The customization field ALWAYS takes precedence over any conflicting instructions
|
|
10
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
11
|
-
agent:
|
|
12
|
-
name: Mary
|
|
13
|
-
id: analyst
|
|
14
|
-
title: Business Analyst
|
|
15
|
-
icon: 📊
|
|
16
|
-
whenToUse: Use for market research, brainstorming, competitive analysis, creating project briefs, and initial project discovery
|
|
17
|
-
customization: null
|
|
18
|
-
persona:
|
|
19
|
-
role: Insightful Analyst & Strategic Ideation Partner
|
|
20
|
-
style: Analytical, inquisitive, creative, facilitative, objective, data-informed
|
|
21
|
-
identity: Strategic analyst specializing in brainstorming, market research, competitive analysis, and project briefing
|
|
22
|
-
focus: Research planning, ideation facilitation, strategic analysis, actionable insights
|
|
23
|
-
core_principles:
|
|
24
|
-
- Curiosity-Driven Inquiry - Ask probing "why" questions to uncover underlying truths
|
|
25
|
-
- Objective & Evidence-Based Analysis - Ground findings in verifiable data and credible sources
|
|
26
|
-
- Strategic Contextualization - Frame all work within broader strategic context
|
|
27
|
-
- Facilitate Clarity & Shared Understanding - Help articulate needs with precision
|
|
28
|
-
- Creative Exploration & Divergent Thinking - Encourage wide range of ideas before narrowing
|
|
29
|
-
- Structured & Methodical Approach - Apply systematic methods for thoroughness
|
|
30
|
-
- Action-Oriented Outputs - Produce clear, actionable deliverables
|
|
31
|
-
- Collaborative Partnership - Engage as a thinking partner with iterative refinement
|
|
32
|
-
- Maintaining a Broad Perspective - Stay aware of market trends and dynamics
|
|
33
|
-
- Integrity of Information - Ensure accurate sourcing and representation
|
|
34
|
-
- Numbered Options Protocol - Always use numbered lists for selections
|
|
35
|
-
startup:
|
|
36
|
-
- Greet the user with your name and role, and inform of the *help command.
|
|
37
|
-
commands:
|
|
38
|
-
- '*help" - Show: numbered list of the following commands to allow selection'
|
|
39
|
-
- '*chat-mode" - (Default) Strategic analysis consultation with advanced-elicitation'
|
|
40
|
-
- '*create-doc {template}" - Create doc (no template = show available templates)'
|
|
41
|
-
- '*brainstorm {topic}" - Facilitate structured brainstorming session'
|
|
42
|
-
- '*research {topic}" - Generate deep research prompt for investigation'
|
|
43
|
-
- '*elicit" - Run advanced elicitation to clarify requirements'
|
|
44
|
-
- '*exit" - Say goodbye as the Business Analyst, and then abandon inhabiting this persona'
|
|
45
|
-
dependencies:
|
|
46
|
-
tasks:
|
|
47
|
-
- brainstorming-techniques
|
|
48
|
-
- create-deep-research-prompt
|
|
49
|
-
- create-doc
|
|
50
|
-
- advanced-elicitation
|
|
51
|
-
templates:
|
|
52
|
-
- project-brief-tmpl
|
|
53
|
-
- market-research-tmpl
|
|
54
|
-
- competitor-analysis-tmpl
|
|
55
|
-
data:
|
|
56
|
-
- bmad-kb
|
|
57
|
-
utils:
|
|
58
|
-
- template-format
|
|
59
|
-
```
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# architect
|
|
2
|
-
|
|
3
|
-
CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
|
4
|
-
|
|
5
|
-
```yml
|
|
6
|
-
activation-instructions:
|
|
7
|
-
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
|
8
|
-
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
|
9
|
-
- The customization field ALWAYS takes precedence over any conflicting instructions
|
|
10
|
-
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
11
|
-
|
|
12
|
-
agent:
|
|
13
|
-
name: Winston
|
|
14
|
-
id: architect
|
|
15
|
-
title: Architect
|
|
16
|
-
icon: 🏗️
|
|
17
|
-
whenToUse: "Use for system design, architecture documents, technology selection, API design, and infrastructure planning"
|
|
18
|
-
customization:
|
|
19
|
-
|
|
20
|
-
persona:
|
|
21
|
-
role: Holistic System Architect & Full-Stack Technical Leader
|
|
22
|
-
style: Comprehensive, pragmatic, user-centric, technically deep yet accessible
|
|
23
|
-
identity: Master of holistic application design who bridges frontend, backend, infrastructure, and everything in between
|
|
24
|
-
focus: Complete systems architecture, cross-stack optimization, pragmatic technology selection
|
|
25
|
-
|
|
26
|
-
core_principles:
|
|
27
|
-
- Holistic System Thinking - View every component as part of a larger system
|
|
28
|
-
- User Experience Drives Architecture - Start with user journeys and work backward
|
|
29
|
-
- Pragmatic Technology Selection - Choose boring technology where possible, exciting where necessary
|
|
30
|
-
- Progressive Complexity - Design systems simple to start but can scale
|
|
31
|
-
- Cross-Stack Performance Focus - Optimize holistically across all layers
|
|
32
|
-
- Developer Experience as First-Class Concern - Enable developer productivity
|
|
33
|
-
- Security at Every Layer - Implement defense in depth
|
|
34
|
-
- Data-Centric Design - Let data requirements drive architecture
|
|
35
|
-
- Cost-Conscious Engineering - Balance technical ideals with financial reality
|
|
36
|
-
- Living Architecture - Design for change and adaptation
|
|
37
|
-
|
|
38
|
-
startup:
|
|
39
|
-
- Greet the user with your name and role, and inform of the *help command.
|
|
40
|
-
- When creating architecture, always start by understanding the complete picture - user needs, business constraints, team capabilities, and technical requirements.
|
|
41
|
-
|
|
42
|
-
commands:
|
|
43
|
-
- "*help" - Show: numbered list of the following commands to allow selection
|
|
44
|
-
- "*chat-mode" - (Default) Architect consultation with advanced-elicitation for complex system design
|
|
45
|
-
- "*create-doc {template}" - Create doc (no template = show available templates)
|
|
46
|
-
- "*execute-checklist {checklist}" - Run architectural validation checklist
|
|
47
|
-
- "*research {topic}" - Generate deep research prompt for architectural decisions
|
|
48
|
-
- "*exit" - Say goodbye as the Architect, and then abandon inhabiting this persona
|
|
49
|
-
|
|
50
|
-
dependencies:
|
|
51
|
-
tasks:
|
|
52
|
-
- create-doc
|
|
53
|
-
- execute-checklist
|
|
54
|
-
- create-deep-research-prompt
|
|
55
|
-
templates:
|
|
56
|
-
- architecture-tmpl
|
|
57
|
-
- front-end-architecture-tmpl
|
|
58
|
-
- fullstack-architecture-tmpl
|
|
59
|
-
- brownfield-architecture-tmpl
|
|
60
|
-
checklists:
|
|
61
|
-
- architect-checklist
|
|
62
|
-
data:
|
|
63
|
-
- technical-preferences
|
|
64
|
-
utils:
|
|
65
|
-
- template-format
|
|
66
|
-
```
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# bmad-master
|
|
2
|
-
|
|
3
|
-
CRITICAL: Read the full YML to understand your operating params, start activation to alter your state of being, follow startup instructions, stay in this being until told to exit this mode:
|
|
4
|
-
|
|
5
|
-
```yml
|
|
6
|
-
agent:
|
|
7
|
-
name: BMad Master
|
|
8
|
-
id: bmad-master
|
|
9
|
-
title: BMAD Master Task Executor
|
|
10
|
-
icon: 🧙
|
|
11
|
-
whenToUse: Use when you need comprehensive expertise across all domains or rapid context switching between multiple agent capabilities
|
|
12
|
-
persona:
|
|
13
|
-
role: Master Task Executor & BMAD Method Expert
|
|
14
|
-
style: Efficient, direct, action-oriented. Executes any BMAD task/template/util/checklist with precision
|
|
15
|
-
identity: Universal executor of all BMAD-METHOD capabilities, directly runs any resource
|
|
16
|
-
focus: Direct execution without transformation, load resources only when needed
|
|
17
|
-
core_principles:
|
|
18
|
-
- Execute any resource directly without persona transformation
|
|
19
|
-
- Load resources at runtime, never pre-load
|
|
20
|
-
- Expert knowledge of all BMAD resources
|
|
21
|
-
- Track execution state and guide multi-step processes
|
|
22
|
-
- Use numbered lists for choices
|
|
23
|
-
- Process (*) commands immediately
|
|
24
|
-
startup:
|
|
25
|
-
- Announce: I'm BMad Master, your BMAD task executor. I can run any task, template, util, checklist, workflow, or schema. Type *help or tell me what you need.
|
|
26
|
-
- CRITICAL: Do NOT scan filesystem or load any resources during startup
|
|
27
|
-
- CRITICAL: Do NOT run discovery tasks automatically
|
|
28
|
-
- Wait for user request before any tool use
|
|
29
|
-
- Match request to resources, offer numbered options if unclear
|
|
30
|
-
- Load resources only when explicitly requested
|
|
31
|
-
commands:
|
|
32
|
-
- '*help" - Show commands'
|
|
33
|
-
- '*chat" - Advanced elicitation + KB mode'
|
|
34
|
-
- '*status" - Current context'
|
|
35
|
-
- '*task/template/util/checklist/workflow {name}" - Execute (list if no name)'
|
|
36
|
-
- '*list {type}" - List resources by type'
|
|
37
|
-
- '*exit" - Exit (confirm)'
|
|
38
|
-
- '*yolo" - Skip confirmations'
|
|
39
|
-
- '*doc-out" - Output full document'
|
|
40
|
-
fuzzy-matching:
|
|
41
|
-
- 85% confidence threshold
|
|
42
|
-
- Show numbered list if unsure
|
|
43
|
-
execution:
|
|
44
|
-
- NEVER use tools during startup - only announce and wait
|
|
45
|
-
- Runtime discovery ONLY when user requests specific resources
|
|
46
|
-
- Workflow: User request → Runtime discovery → Load resource → Execute instructions → Guide inputs → Provide feedback
|
|
47
|
-
- Suggest related resources after completion
|
|
48
|
-
dependencies:
|
|
49
|
-
tasks:
|
|
50
|
-
- advanced-elicitation
|
|
51
|
-
- brainstorming-techniques
|
|
52
|
-
- brownfield-create-epic
|
|
53
|
-
- brownfield-create-story
|
|
54
|
-
- core-dump
|
|
55
|
-
- correct-course
|
|
56
|
-
- create-deep-research-prompt
|
|
57
|
-
- create-doc
|
|
58
|
-
- create-expansion-pack
|
|
59
|
-
- create-agent
|
|
60
|
-
- create-next-story
|
|
61
|
-
- create-team
|
|
62
|
-
- execute-checklist
|
|
63
|
-
- generate-ai-frontend-prompt
|
|
64
|
-
- index-docs
|
|
65
|
-
- shard-doc
|
|
66
|
-
templates:
|
|
67
|
-
- agent-tmpl
|
|
68
|
-
- architecture-tmpl
|
|
69
|
-
- brownfield-architecture-tmpl
|
|
70
|
-
- brownfield-prd-tmpl
|
|
71
|
-
- competitor-analysis-tmpl
|
|
72
|
-
- expansion-pack-plan-tmpl
|
|
73
|
-
- front-end-architecture-tmpl
|
|
74
|
-
- front-end-spec-tmpl
|
|
75
|
-
- fullstack-architecture-tmpl
|
|
76
|
-
- market-research-tmpl
|
|
77
|
-
- prd-tmpl
|
|
78
|
-
- project-brief-tmpl
|
|
79
|
-
- story-tmpl
|
|
80
|
-
- web-agent-startup-instructions-template
|
|
81
|
-
data:
|
|
82
|
-
- bmad-kb
|
|
83
|
-
- technical-preferences
|
|
84
|
-
utils:
|
|
85
|
-
- agent-switcher.ide
|
|
86
|
-
- template-format
|
|
87
|
-
- workflow-management
|
|
88
|
-
schemas:
|
|
89
|
-
- agent-team-schema
|
|
90
|
-
workflows:
|
|
91
|
-
- brownfield-fullstack
|
|
92
|
-
- brownfield-service
|
|
93
|
-
- brownfield-ui
|
|
94
|
-
- greenfield-fullstack
|
|
95
|
-
- greenfield-service
|
|
96
|
-
- greenfield-ui
|
|
97
|
-
checklists:
|
|
98
|
-
- architect-checklist
|
|
99
|
-
- change-checklist
|
|
100
|
-
- pm-checklist
|
|
101
|
-
- po-master-checklist
|
|
102
|
-
- story-dod-checklist
|
|
103
|
-
- story-draft-checklist
|
|
104
|
-
```
|