bmad-plus 0.7.4 → 0.8.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/CHANGELOG.md +450 -407
- package/LICENSE +21 -0
- package/README.md +555 -446
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -452
- package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -116
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -260
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +62 -57
- package/readme-international/README.de.md +576 -426
- package/readme-international/README.es.md +578 -518
- package/readme-international/README.fr.md +576 -516
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/pack-animated/animated-website-agent.md +325 -325
- package/src/bmad-plus/agents/pack-animated/templates/animated-website-workflow.md +55 -55
- package/src/bmad-plus/agents/pack-backup/backup-agent.md +71 -71
- package/src/bmad-plus/agents/pack-backup/templates/backup-workflow.md +51 -51
- package/src/bmad-plus/agents/pack-seo/SKILL.md +171 -171
- package/src/bmad-plus/agents/pack-seo/checklist.md +140 -140
- package/src/bmad-plus/agents/pack-seo/pagespeed-playbook.md +320 -320
- package/src/bmad-plus/agents/pack-seo/ref/audit-schema.json +187 -187
- package/src/bmad-plus/agents/pack-seo/ref/cwv-thresholds.md +87 -87
- package/src/bmad-plus/agents/pack-seo/ref/eeat-criteria.md +123 -123
- package/src/bmad-plus/agents/pack-seo/ref/geo-signals.md +167 -167
- package/src/bmad-plus/agents/pack-seo/ref/hreflang-rules.md +153 -153
- package/src/bmad-plus/agents/pack-seo/ref/quality-gates.md +133 -133
- package/src/bmad-plus/agents/pack-seo/ref/schema-catalog.md +91 -91
- package/src/bmad-plus/agents/pack-seo/ref/schema-templates.json +356 -356
- package/src/bmad-plus/agents/pack-seo/seo-chief.md +294 -294
- package/src/bmad-plus/agents/pack-seo/seo-judge.md +241 -241
- package/src/bmad-plus/agents/pack-seo/seo-scout.md +171 -171
- package/src/bmad-plus/agents/pack-seo/templates/seo-audit-workflow.md +241 -241
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/module.yaml +283 -280
- package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -0
- package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -0
- package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -0
- package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -0
- package/src/bmad-plus/packs/pack-seo/checklist.md +140 -0
- package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -0
- package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -0
- package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -0
- package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -0
- package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -0
- package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -0
- package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -0
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -0
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -0
- package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -0
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +262 -262
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +179 -179
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +201 -201
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +97 -97
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +221 -221
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +150 -150
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +167 -167
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +83 -83
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +250 -250
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +218 -218
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +127 -127
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +272 -272
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +202 -202
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +367 -367
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +510 -510
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +247 -247
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +173 -173
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +266 -266
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +164 -164
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/cli/commands/autoconfig.js +498 -489
- package/tools/cli/commands/doctor.js +222 -175
- package/tools/cli/commands/install.js +739 -739
- package/tools/cli/commands/memory.js +194 -194
- package/tools/cli/commands/scan.js +360 -350
- package/tools/cli/commands/uninstall.js +96 -96
- package/tools/cli/commands/update.js +174 -174
- package/tools/cli/i18n.js +763 -763
|
@@ -1,328 +1,328 @@
|
|
|
1
|
-
# BMAD+ Workflow Markup Language (BWML) — Specification v1.0
|
|
2
|
-
|
|
3
|
-
> **Pack:** Dev Studio
|
|
4
|
-
> **Purpose:** Define the BMAD+ proprietary workflow DSL that surpasses BMAD-METHOD v6 XML format
|
|
5
|
-
> **Created by:** Laurent Rochetta — https://github.com/lrochetta/BMAD-PLUS
|
|
6
|
-
> **License:** MIT
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
BWML (BMAD+ Workflow Markup Language) is an XML-based DSL optimized for LLM execution. It extends the concepts from BMAD-METHOD v6 with advanced orchestration primitives: multi-agent delegation, parallel execution, validation gates, memory persistence, anti-regression guards, and structured artifact emission.
|
|
13
|
-
|
|
14
|
-
LLMs parse XML natively and reliably. BWML leverages this with semantically meaningful tags that guide deterministic execution while preserving LLM reasoning flexibility.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Core Elements (inherited from BMAD v6, enhanced)
|
|
19
|
-
|
|
20
|
-
### `<workflow>` — Root container
|
|
21
|
-
```xml
|
|
22
|
-
<workflow id="dev-story" version="1.0" agent="oholiab">
|
|
23
|
-
<!-- All steps live here -->
|
|
24
|
-
</workflow>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### `<phase>` — Named execution phase (NEW)
|
|
28
|
-
Groups steps into logical phases with optional gating.
|
|
29
|
-
```xml
|
|
30
|
-
<phase name="analysis" gate="required">
|
|
31
|
-
<step>...</step>
|
|
32
|
-
<step>...</step>
|
|
33
|
-
</phase>
|
|
34
|
-
```
|
|
35
|
-
- `gate="required"` — Must complete before next phase
|
|
36
|
-
- `gate="optional"` — Can be skipped
|
|
37
|
-
|
|
38
|
-
### `<step>` — Numbered execution step
|
|
39
|
-
```xml
|
|
40
|
-
<step n="1" goal="Load project context" tag="init">
|
|
41
|
-
<action>...</action>
|
|
42
|
-
</step>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### `<action>` — Single action to execute
|
|
46
|
-
```xml
|
|
47
|
-
<action>Read the complete story file</action>
|
|
48
|
-
<action if="no stories found">HALT: inform user</action>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### `<check>` — Conditional branch
|
|
52
|
-
```xml
|
|
53
|
-
<check if="sprint_status file exists">
|
|
54
|
-
<action>Load sprint data</action>
|
|
55
|
-
</check>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### `<critical>` — Must-follow rule (violation = HALT)
|
|
59
|
-
```xml
|
|
60
|
-
<critical>Execute ALL steps in exact order; do NOT skip steps</critical>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### `<output>` — Formatted user-facing output
|
|
64
|
-
```xml
|
|
65
|
-
<output>✅ **Context Loaded** — Story and project context ready</output>
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### `<ask>` — Prompt user for input
|
|
69
|
-
```xml
|
|
70
|
-
<ask>Which story would you like to develop?</ask>
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### `<goto>` — Jump to step or anchor
|
|
74
|
-
```xml
|
|
75
|
-
<goto step="9">Completion sequence</goto>
|
|
76
|
-
<goto anchor="task_check" />
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### `<anchor>` — Jump target
|
|
80
|
-
```xml
|
|
81
|
-
<anchor id="task_check" />
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## BMAD+ Extensions (NEW — our competitive advantage)
|
|
87
|
-
|
|
88
|
-
### `<agent>` — Invoke another BMAD+ agent inline
|
|
89
|
-
Enables cross-agent orchestration without leaving the workflow.
|
|
90
|
-
```xml
|
|
91
|
-
<agent name="bezalel" task="Review this architecture decision">
|
|
92
|
-
<context>Current PRD and technical constraints</context>
|
|
93
|
-
<expect>Architecture recommendation with trade-offs</expect>
|
|
94
|
-
</agent>
|
|
95
|
-
```
|
|
96
|
-
- `name` — BMAD+ agent to invoke (
|
|
97
|
-
- `task` — What to ask the agent
|
|
98
|
-
- `<context>` — What context to pass
|
|
99
|
-
- `<expect>` — Expected output format
|
|
100
|
-
|
|
101
|
-
### `<parallel>` — Execute multiple actions concurrently
|
|
102
|
-
```xml
|
|
103
|
-
<parallel>
|
|
104
|
-
<action>Run unit tests</action>
|
|
105
|
-
<action>Run linting checks</action>
|
|
106
|
-
<action>Validate acceptance criteria</action>
|
|
107
|
-
</parallel>
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### `<loop>` — Iterative execution with break conditions
|
|
111
|
-
```xml
|
|
112
|
-
<loop over="incomplete_tasks" as="task">
|
|
113
|
-
<action>Implement {{task}}</action>
|
|
114
|
-
<action>Run tests for {{task}}</action>
|
|
115
|
-
<validate>All tests pass for {{task}}</validate>
|
|
116
|
-
<action>Mark {{task}} complete</action>
|
|
117
|
-
<break if="HALT condition triggered" />
|
|
118
|
-
</loop>
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### `<validate>` — Built-in validation gate with pass/fail
|
|
122
|
-
```xml
|
|
123
|
-
<validate id="dod-check" severity="blocking">
|
|
124
|
-
<criterion>All tasks marked [x]</criterion>
|
|
125
|
-
<criterion>All acceptance criteria satisfied</criterion>
|
|
126
|
-
<criterion>Full test suite passes with 0 failures</criterion>
|
|
127
|
-
<criterion>No regressions detected</criterion>
|
|
128
|
-
<on-fail>HALT — Do NOT proceed until all criteria pass</on-fail>
|
|
129
|
-
<on-pass>Continue to next step</on-pass>
|
|
130
|
-
</validate>
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### `<guard>` — Anti-regression protection
|
|
134
|
-
Prevents common AI mistakes explicitly.
|
|
135
|
-
```xml
|
|
136
|
-
<guard type="anti-regression">
|
|
137
|
-
Never delete existing code without explicit user approval
|
|
138
|
-
</guard>
|
|
139
|
-
<guard type="scope">
|
|
140
|
-
Only modify files listed in the story spec
|
|
141
|
-
</guard>
|
|
142
|
-
<guard type="quality">
|
|
143
|
-
Never mark a task complete without running tests
|
|
144
|
-
</guard>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### `<emit>` — Produce structured artifacts
|
|
148
|
-
```xml
|
|
149
|
-
<emit type="story-status" format="yaml">
|
|
150
|
-
story_key: {{story_key}}
|
|
151
|
-
status: review
|
|
152
|
-
completed_tasks: {{completed_count}}
|
|
153
|
-
date: {{date}}
|
|
154
|
-
</emit>
|
|
155
|
-
```
|
|
156
|
-
- `type` — Artifact type (story-status, report, checklist, etc.)
|
|
157
|
-
- `format` — Output format (yaml, markdown, json)
|
|
158
|
-
|
|
159
|
-
### `<context>` — Load external context
|
|
160
|
-
```xml
|
|
161
|
-
<context source="file" path="**/project-context.md" />
|
|
162
|
-
<context source="file" path="architecture.md" optional="true" />
|
|
163
|
-
<context source="memory" key="last-sprint-decisions" />
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### `<memory>` — Persist/recall across sessions
|
|
167
|
-
```xml
|
|
168
|
-
<memory action="store" key="sprint-velocity" value="{{calculated_velocity}}" />
|
|
169
|
-
<memory action="recall" key="last-review-findings" />
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### `<escalate>` — Escalation to human or higher agent
|
|
173
|
-
```xml
|
|
174
|
-
<escalate to="user" severity="high">
|
|
175
|
-
Architecture decision required: monolith vs microservices.
|
|
176
|
-
Trade-offs documented in {{arch_doc_path}}.
|
|
177
|
-
</escalate>
|
|
178
|
-
<escalate to="bezalel" severity="medium">
|
|
179
|
-
Implementation diverges from architecture — review needed.
|
|
180
|
-
</escalate>
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### `<retry>` — Auto-retry with limits
|
|
184
|
-
```xml
|
|
185
|
-
<retry max="3" backoff="progressive">
|
|
186
|
-
<action>Run failing test suite</action>
|
|
187
|
-
<action>Fix identified issues</action>
|
|
188
|
-
<on-exhaust>HALT — 3 consecutive failures, request human guidance</on-exhaust>
|
|
189
|
-
</retry>
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### `<fallback>` — Graceful degradation
|
|
193
|
-
```xml
|
|
194
|
-
<fallback>
|
|
195
|
-
<try>
|
|
196
|
-
<agent name="miriam" task="Analyze market data" />
|
|
197
|
-
</try>
|
|
198
|
-
<catch>
|
|
199
|
-
<action>Perform analysis directly using available context</action>
|
|
200
|
-
</catch>
|
|
201
|
-
</fallback>
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### `<metric>` — Track quantitative progress
|
|
205
|
-
```xml
|
|
206
|
-
<metric name="test-coverage" target="80%" current="{{coverage}}" />
|
|
207
|
-
<metric name="tasks-completed" value="{{done}}/{{total}}" />
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Composition Example
|
|
213
|
-
|
|
214
|
-
```xml
|
|
215
|
-
<workflow id="dev-story" version="1.0" agent="oholiab">
|
|
216
|
-
<critical>Execute ALL steps in exact order; do NOT skip</critical>
|
|
217
|
-
<critical>Never stop for "milestones" or "session boundaries"</critical>
|
|
218
|
-
|
|
219
|
-
<guard type="anti-regression">
|
|
220
|
-
Never delete existing functionality without explicit approval
|
|
221
|
-
</guard>
|
|
222
|
-
<guard type="scope">
|
|
223
|
-
Only modify files specified in the story tasks
|
|
224
|
-
</guard>
|
|
225
|
-
|
|
226
|
-
<phase name="initialization" gate="required">
|
|
227
|
-
<step n="1" goal="Find and load story">
|
|
228
|
-
<context source="file" path="sprint-status.yaml" optional="true" />
|
|
229
|
-
<check if="story_path provided">
|
|
230
|
-
<action>Load story file directly</action>
|
|
231
|
-
<goto anchor="implementation" />
|
|
232
|
-
</check>
|
|
233
|
-
<check if="sprint status exists">
|
|
234
|
-
<action>Find first ready-for-dev story</action>
|
|
235
|
-
</check>
|
|
236
|
-
<escalate to="user" if="no ready stories found">
|
|
237
|
-
No stories available. Options: create-story, validate existing, or specify path.
|
|
238
|
-
</escalate>
|
|
239
|
-
</step>
|
|
240
|
-
</phase>
|
|
241
|
-
|
|
242
|
-
<phase name="implementation" gate="required">
|
|
243
|
-
<anchor id="implementation" />
|
|
244
|
-
<loop over="incomplete_tasks" as="task">
|
|
245
|
-
<step goal="Implement {{task}} following TDD">
|
|
246
|
-
<!-- RED -->
|
|
247
|
-
<action>Write FAILING tests first</action>
|
|
248
|
-
<validate severity="info">Tests fail as expected</validate>
|
|
249
|
-
|
|
250
|
-
<!-- GREEN -->
|
|
251
|
-
<action>Implement MINIMAL code to pass tests</action>
|
|
252
|
-
<validate severity="blocking">All tests pass</validate>
|
|
253
|
-
|
|
254
|
-
<!-- REFACTOR -->
|
|
255
|
-
<action>Improve code structure, keep tests green</action>
|
|
256
|
-
<validate severity="blocking">No regressions after refactor</validate>
|
|
257
|
-
|
|
258
|
-
<action>Mark {{task}} [x] in story file</action>
|
|
259
|
-
<metric name="tasks-completed" value="{{done}}/{{total}}" />
|
|
260
|
-
</step>
|
|
261
|
-
|
|
262
|
-
<retry max="3">
|
|
263
|
-
<action>Fix any failing tests</action>
|
|
264
|
-
<on-exhaust>
|
|
265
|
-
<escalate to="user">3 consecutive failures on {{task}}</escalate>
|
|
266
|
-
</on-exhaust>
|
|
267
|
-
</retry>
|
|
268
|
-
</loop>
|
|
269
|
-
</phase>
|
|
270
|
-
|
|
271
|
-
<phase name="completion" gate="required">
|
|
272
|
-
<step goal="Story completion and review">
|
|
273
|
-
<validate id="definition-of-done" severity="blocking">
|
|
274
|
-
<criterion>All tasks marked [x]</criterion>
|
|
275
|
-
<criterion>All acceptance criteria satisfied</criterion>
|
|
276
|
-
<criterion>Full test suite passes</criterion>
|
|
277
|
-
<criterion>File list complete</criterion>
|
|
278
|
-
<criterion>Dev notes documented</criterion>
|
|
279
|
-
<on-fail>HALT — Complete remaining items</on-fail>
|
|
280
|
-
</validate>
|
|
281
|
-
|
|
282
|
-
<emit type="story-update" format="yaml">
|
|
283
|
-
status: review
|
|
284
|
-
completed: {{date}}
|
|
285
|
-
</emit>
|
|
286
|
-
|
|
287
|
-
<output>✅ Story {{story_key}} complete and ready for review</output>
|
|
288
|
-
|
|
289
|
-
<escalate to="user" severity="info">
|
|
290
|
-
Recommended: run code-review with a DIFFERENT LLM
|
|
291
|
-
</escalate>
|
|
292
|
-
</step>
|
|
293
|
-
</phase>
|
|
294
|
-
</workflow>
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## BWML vs BMAD v6 Comparison
|
|
300
|
-
|
|
301
|
-
| Feature | BMAD v6 | BWML (BMAD+) |
|
|
302
|
-
|---------|---------|--------------|
|
|
303
|
-
| Steps & Actions | ✅ | ✅ |
|
|
304
|
-
| Conditional checks | ✅ | ✅ |
|
|
305
|
-
| Goto/Anchors | ✅ | ✅ |
|
|
306
|
-
| Critical rules | ✅ | ✅ |
|
|
307
|
-
| User prompts | ✅ | ✅ |
|
|
308
|
-
| **Phases with gates** | ❌ | ✅ |
|
|
309
|
-
| **Multi-agent delegation** | ❌ | ✅ `<agent>` |
|
|
310
|
-
| **Parallel execution** | ❌ | ✅ `<parallel>` |
|
|
311
|
-
| **Loops with break** | ❌ | ✅ `<loop>` |
|
|
312
|
-
| **Validation gates** | ❌ | ✅ `<validate>` |
|
|
313
|
-
| **Anti-regression guards** | ❌ | ✅ `<guard>` |
|
|
314
|
-
| **Artifact emission** | ❌ | ✅ `<emit>` |
|
|
315
|
-
| **Context loading** | ❌ | ✅ `<context>` |
|
|
316
|
-
| **Memory persistence** | ❌ | ✅ `<memory>` |
|
|
317
|
-
| **Escalation** | ❌ | ✅ `<escalate>` |
|
|
318
|
-
| **Auto-retry** | ❌ | ✅ `<retry>` |
|
|
319
|
-
| **Graceful fallback** | ❌ | ✅ `<fallback>` |
|
|
320
|
-
| **Progress metrics** | ❌ | ✅ `<metric>` |
|
|
321
|
-
| Python dependency | ✅ Required | ❌ None |
|
|
322
|
-
| TOML config | ✅ Required | ❌ Self-contained |
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
## Attribution
|
|
327
|
-
|
|
328
|
-
BWML is inspired by the workflow DSL in [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) v6.6.0 by BMad Code, LLC (MIT License). Extended with BMAD+ proprietary orchestration primitives by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS).
|
|
1
|
+
# BMAD+ Workflow Markup Language (BWML) — Specification v1.0
|
|
2
|
+
|
|
3
|
+
> **Pack:** Dev Studio
|
|
4
|
+
> **Purpose:** Define the BMAD+ proprietary workflow DSL that surpasses BMAD-METHOD v6 XML format
|
|
5
|
+
> **Created by:** Laurent Rochetta — https://github.com/lrochetta/BMAD-PLUS
|
|
6
|
+
> **License:** MIT
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
BWML (BMAD+ Workflow Markup Language) is an XML-based DSL optimized for LLM execution. It extends the concepts from BMAD-METHOD v6 with advanced orchestration primitives: multi-agent delegation, parallel execution, validation gates, memory persistence, anti-regression guards, and structured artifact emission.
|
|
13
|
+
|
|
14
|
+
LLMs parse XML natively and reliably. BWML leverages this with semantically meaningful tags that guide deterministic execution while preserving LLM reasoning flexibility.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Core Elements (inherited from BMAD v6, enhanced)
|
|
19
|
+
|
|
20
|
+
### `<workflow>` — Root container
|
|
21
|
+
```xml
|
|
22
|
+
<workflow id="dev-story" version="1.0" agent="oholiab">
|
|
23
|
+
<!-- All steps live here -->
|
|
24
|
+
</workflow>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### `<phase>` — Named execution phase (NEW)
|
|
28
|
+
Groups steps into logical phases with optional gating.
|
|
29
|
+
```xml
|
|
30
|
+
<phase name="analysis" gate="required">
|
|
31
|
+
<step>...</step>
|
|
32
|
+
<step>...</step>
|
|
33
|
+
</phase>
|
|
34
|
+
```
|
|
35
|
+
- `gate="required"` — Must complete before next phase
|
|
36
|
+
- `gate="optional"` — Can be skipped
|
|
37
|
+
|
|
38
|
+
### `<step>` — Numbered execution step
|
|
39
|
+
```xml
|
|
40
|
+
<step n="1" goal="Load project context" tag="init">
|
|
41
|
+
<action>...</action>
|
|
42
|
+
</step>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### `<action>` — Single action to execute
|
|
46
|
+
```xml
|
|
47
|
+
<action>Read the complete story file</action>
|
|
48
|
+
<action if="no stories found">HALT: inform user</action>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `<check>` — Conditional branch
|
|
52
|
+
```xml
|
|
53
|
+
<check if="sprint_status file exists">
|
|
54
|
+
<action>Load sprint data</action>
|
|
55
|
+
</check>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### `<critical>` — Must-follow rule (violation = HALT)
|
|
59
|
+
```xml
|
|
60
|
+
<critical>Execute ALL steps in exact order; do NOT skip steps</critical>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### `<output>` — Formatted user-facing output
|
|
64
|
+
```xml
|
|
65
|
+
<output>✅ **Context Loaded** — Story and project context ready</output>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `<ask>` — Prompt user for input
|
|
69
|
+
```xml
|
|
70
|
+
<ask>Which story would you like to develop?</ask>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### `<goto>` — Jump to step or anchor
|
|
74
|
+
```xml
|
|
75
|
+
<goto step="9">Completion sequence</goto>
|
|
76
|
+
<goto anchor="task_check" />
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### `<anchor>` — Jump target
|
|
80
|
+
```xml
|
|
81
|
+
<anchor id="task_check" />
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## BMAD+ Extensions (NEW — our competitive advantage)
|
|
87
|
+
|
|
88
|
+
### `<agent>` — Invoke another BMAD+ agent inline
|
|
89
|
+
Enables cross-agent orchestration without leaving the workflow.
|
|
90
|
+
```xml
|
|
91
|
+
<agent name="bezalel" task="Review this architecture decision">
|
|
92
|
+
<context>Current PRD and technical constraints</context>
|
|
93
|
+
<expect>Architecture recommendation with trade-offs</expect>
|
|
94
|
+
</agent>
|
|
95
|
+
```
|
|
96
|
+
- `name` — BMAD+ agent to invoke (specialist personas or pack agents)
|
|
97
|
+
- `task` — What to ask the agent
|
|
98
|
+
- `<context>` — What context to pass
|
|
99
|
+
- `<expect>` — Expected output format
|
|
100
|
+
|
|
101
|
+
### `<parallel>` — Execute multiple actions concurrently
|
|
102
|
+
```xml
|
|
103
|
+
<parallel>
|
|
104
|
+
<action>Run unit tests</action>
|
|
105
|
+
<action>Run linting checks</action>
|
|
106
|
+
<action>Validate acceptance criteria</action>
|
|
107
|
+
</parallel>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### `<loop>` — Iterative execution with break conditions
|
|
111
|
+
```xml
|
|
112
|
+
<loop over="incomplete_tasks" as="task">
|
|
113
|
+
<action>Implement {{task}}</action>
|
|
114
|
+
<action>Run tests for {{task}}</action>
|
|
115
|
+
<validate>All tests pass for {{task}}</validate>
|
|
116
|
+
<action>Mark {{task}} complete</action>
|
|
117
|
+
<break if="HALT condition triggered" />
|
|
118
|
+
</loop>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### `<validate>` — Built-in validation gate with pass/fail
|
|
122
|
+
```xml
|
|
123
|
+
<validate id="dod-check" severity="blocking">
|
|
124
|
+
<criterion>All tasks marked [x]</criterion>
|
|
125
|
+
<criterion>All acceptance criteria satisfied</criterion>
|
|
126
|
+
<criterion>Full test suite passes with 0 failures</criterion>
|
|
127
|
+
<criterion>No regressions detected</criterion>
|
|
128
|
+
<on-fail>HALT — Do NOT proceed until all criteria pass</on-fail>
|
|
129
|
+
<on-pass>Continue to next step</on-pass>
|
|
130
|
+
</validate>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### `<guard>` — Anti-regression protection
|
|
134
|
+
Prevents common AI mistakes explicitly.
|
|
135
|
+
```xml
|
|
136
|
+
<guard type="anti-regression">
|
|
137
|
+
Never delete existing code without explicit user approval
|
|
138
|
+
</guard>
|
|
139
|
+
<guard type="scope">
|
|
140
|
+
Only modify files listed in the story spec
|
|
141
|
+
</guard>
|
|
142
|
+
<guard type="quality">
|
|
143
|
+
Never mark a task complete without running tests
|
|
144
|
+
</guard>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### `<emit>` — Produce structured artifacts
|
|
148
|
+
```xml
|
|
149
|
+
<emit type="story-status" format="yaml">
|
|
150
|
+
story_key: {{story_key}}
|
|
151
|
+
status: review
|
|
152
|
+
completed_tasks: {{completed_count}}
|
|
153
|
+
date: {{date}}
|
|
154
|
+
</emit>
|
|
155
|
+
```
|
|
156
|
+
- `type` — Artifact type (story-status, report, checklist, etc.)
|
|
157
|
+
- `format` — Output format (yaml, markdown, json)
|
|
158
|
+
|
|
159
|
+
### `<context>` — Load external context
|
|
160
|
+
```xml
|
|
161
|
+
<context source="file" path="**/project-context.md" />
|
|
162
|
+
<context source="file" path="architecture.md" optional="true" />
|
|
163
|
+
<context source="memory" key="last-sprint-decisions" />
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### `<memory>` — Persist/recall across sessions
|
|
167
|
+
```xml
|
|
168
|
+
<memory action="store" key="sprint-velocity" value="{{calculated_velocity}}" />
|
|
169
|
+
<memory action="recall" key="last-review-findings" />
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### `<escalate>` — Escalation to human or higher agent
|
|
173
|
+
```xml
|
|
174
|
+
<escalate to="user" severity="high">
|
|
175
|
+
Architecture decision required: monolith vs microservices.
|
|
176
|
+
Trade-offs documented in {{arch_doc_path}}.
|
|
177
|
+
</escalate>
|
|
178
|
+
<escalate to="bezalel" severity="medium">
|
|
179
|
+
Implementation diverges from architecture — review needed.
|
|
180
|
+
</escalate>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### `<retry>` — Auto-retry with limits
|
|
184
|
+
```xml
|
|
185
|
+
<retry max="3" backoff="progressive">
|
|
186
|
+
<action>Run failing test suite</action>
|
|
187
|
+
<action>Fix identified issues</action>
|
|
188
|
+
<on-exhaust>HALT — 3 consecutive failures, request human guidance</on-exhaust>
|
|
189
|
+
</retry>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### `<fallback>` — Graceful degradation
|
|
193
|
+
```xml
|
|
194
|
+
<fallback>
|
|
195
|
+
<try>
|
|
196
|
+
<agent name="miriam" task="Analyze market data" />
|
|
197
|
+
</try>
|
|
198
|
+
<catch>
|
|
199
|
+
<action>Perform analysis directly using available context</action>
|
|
200
|
+
</catch>
|
|
201
|
+
</fallback>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### `<metric>` — Track quantitative progress
|
|
205
|
+
```xml
|
|
206
|
+
<metric name="test-coverage" target="80%" current="{{coverage}}" />
|
|
207
|
+
<metric name="tasks-completed" value="{{done}}/{{total}}" />
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Composition Example
|
|
213
|
+
|
|
214
|
+
```xml
|
|
215
|
+
<workflow id="dev-story" version="1.0" agent="oholiab">
|
|
216
|
+
<critical>Execute ALL steps in exact order; do NOT skip</critical>
|
|
217
|
+
<critical>Never stop for "milestones" or "session boundaries"</critical>
|
|
218
|
+
|
|
219
|
+
<guard type="anti-regression">
|
|
220
|
+
Never delete existing functionality without explicit approval
|
|
221
|
+
</guard>
|
|
222
|
+
<guard type="scope">
|
|
223
|
+
Only modify files specified in the story tasks
|
|
224
|
+
</guard>
|
|
225
|
+
|
|
226
|
+
<phase name="initialization" gate="required">
|
|
227
|
+
<step n="1" goal="Find and load story">
|
|
228
|
+
<context source="file" path="sprint-status.yaml" optional="true" />
|
|
229
|
+
<check if="story_path provided">
|
|
230
|
+
<action>Load story file directly</action>
|
|
231
|
+
<goto anchor="implementation" />
|
|
232
|
+
</check>
|
|
233
|
+
<check if="sprint status exists">
|
|
234
|
+
<action>Find first ready-for-dev story</action>
|
|
235
|
+
</check>
|
|
236
|
+
<escalate to="user" if="no ready stories found">
|
|
237
|
+
No stories available. Options: create-story, validate existing, or specify path.
|
|
238
|
+
</escalate>
|
|
239
|
+
</step>
|
|
240
|
+
</phase>
|
|
241
|
+
|
|
242
|
+
<phase name="implementation" gate="required">
|
|
243
|
+
<anchor id="implementation" />
|
|
244
|
+
<loop over="incomplete_tasks" as="task">
|
|
245
|
+
<step goal="Implement {{task}} following TDD">
|
|
246
|
+
<!-- RED -->
|
|
247
|
+
<action>Write FAILING tests first</action>
|
|
248
|
+
<validate severity="info">Tests fail as expected</validate>
|
|
249
|
+
|
|
250
|
+
<!-- GREEN -->
|
|
251
|
+
<action>Implement MINIMAL code to pass tests</action>
|
|
252
|
+
<validate severity="blocking">All tests pass</validate>
|
|
253
|
+
|
|
254
|
+
<!-- REFACTOR -->
|
|
255
|
+
<action>Improve code structure, keep tests green</action>
|
|
256
|
+
<validate severity="blocking">No regressions after refactor</validate>
|
|
257
|
+
|
|
258
|
+
<action>Mark {{task}} [x] in story file</action>
|
|
259
|
+
<metric name="tasks-completed" value="{{done}}/{{total}}" />
|
|
260
|
+
</step>
|
|
261
|
+
|
|
262
|
+
<retry max="3">
|
|
263
|
+
<action>Fix any failing tests</action>
|
|
264
|
+
<on-exhaust>
|
|
265
|
+
<escalate to="user">3 consecutive failures on {{task}}</escalate>
|
|
266
|
+
</on-exhaust>
|
|
267
|
+
</retry>
|
|
268
|
+
</loop>
|
|
269
|
+
</phase>
|
|
270
|
+
|
|
271
|
+
<phase name="completion" gate="required">
|
|
272
|
+
<step goal="Story completion and review">
|
|
273
|
+
<validate id="definition-of-done" severity="blocking">
|
|
274
|
+
<criterion>All tasks marked [x]</criterion>
|
|
275
|
+
<criterion>All acceptance criteria satisfied</criterion>
|
|
276
|
+
<criterion>Full test suite passes</criterion>
|
|
277
|
+
<criterion>File list complete</criterion>
|
|
278
|
+
<criterion>Dev notes documented</criterion>
|
|
279
|
+
<on-fail>HALT — Complete remaining items</on-fail>
|
|
280
|
+
</validate>
|
|
281
|
+
|
|
282
|
+
<emit type="story-update" format="yaml">
|
|
283
|
+
status: review
|
|
284
|
+
completed: {{date}}
|
|
285
|
+
</emit>
|
|
286
|
+
|
|
287
|
+
<output>✅ Story {{story_key}} complete and ready for review</output>
|
|
288
|
+
|
|
289
|
+
<escalate to="user" severity="info">
|
|
290
|
+
Recommended: run code-review with a DIFFERENT LLM
|
|
291
|
+
</escalate>
|
|
292
|
+
</step>
|
|
293
|
+
</phase>
|
|
294
|
+
</workflow>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## BWML vs BMAD v6 Comparison
|
|
300
|
+
|
|
301
|
+
| Feature | BMAD v6 | BWML (BMAD+) |
|
|
302
|
+
|---------|---------|--------------|
|
|
303
|
+
| Steps & Actions | ✅ | ✅ |
|
|
304
|
+
| Conditional checks | ✅ | ✅ |
|
|
305
|
+
| Goto/Anchors | ✅ | ✅ |
|
|
306
|
+
| Critical rules | ✅ | ✅ |
|
|
307
|
+
| User prompts | ✅ | ✅ |
|
|
308
|
+
| **Phases with gates** | ❌ | ✅ |
|
|
309
|
+
| **Multi-agent delegation** | ❌ | ✅ `<agent>` |
|
|
310
|
+
| **Parallel execution** | ❌ | ✅ `<parallel>` |
|
|
311
|
+
| **Loops with break** | ❌ | ✅ `<loop>` |
|
|
312
|
+
| **Validation gates** | ❌ | ✅ `<validate>` |
|
|
313
|
+
| **Anti-regression guards** | ❌ | ✅ `<guard>` |
|
|
314
|
+
| **Artifact emission** | ❌ | ✅ `<emit>` |
|
|
315
|
+
| **Context loading** | ❌ | ✅ `<context>` |
|
|
316
|
+
| **Memory persistence** | ❌ | ✅ `<memory>` |
|
|
317
|
+
| **Escalation** | ❌ | ✅ `<escalate>` |
|
|
318
|
+
| **Auto-retry** | ❌ | ✅ `<retry>` |
|
|
319
|
+
| **Graceful fallback** | ❌ | ✅ `<fallback>` |
|
|
320
|
+
| **Progress metrics** | ❌ | ✅ `<metric>` |
|
|
321
|
+
| Python dependency | ✅ Required | ❌ None |
|
|
322
|
+
| TOML config | ✅ Required | ❌ Self-contained |
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Attribution
|
|
327
|
+
|
|
328
|
+
BWML is inspired by the workflow DSL in [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) v6.6.0 by BMad Code, LLC (MIT License). Extended with BMAD+ proprietary orchestration primitives by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS).
|