bmad-odoo 1.0.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.
Files changed (282) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +317 -0
  4. package/_config/agent-manifest.csv +10 -0
  5. package/_config/manifest.yaml +10 -0
  6. package/_config/workflow-manifest.csv +10 -0
  7. package/bmm/agents/analyst.md +93 -0
  8. package/bmm/agents/architect.md +72 -0
  9. package/bmm/agents/dev.md +85 -0
  10. package/bmm/agents/pm.md +61 -0
  11. package/bmm/agents/quick-flow-solo-dev.md +58 -0
  12. package/bmm/agents/sm.md +56 -0
  13. package/bmm/agents/tea.md +57 -0
  14. package/bmm/agents/tech-writer.md +56 -0
  15. package/bmm/agents/ux-designer.md +56 -0
  16. package/bmm/config.yaml +27 -0
  17. package/bmm/data/odoo-knowledge-base.md +90 -0
  18. package/bmm/teams/default-team.md +17 -0
  19. package/bmm/testarch/odoo-test-design/steps/step-01-init.md +44 -0
  20. package/bmm/testarch/odoo-test-design/steps/step-02-test-cases.md +82 -0
  21. package/bmm/testarch/odoo-test-design/steps/step-03-complete.md +69 -0
  22. package/bmm/testarch/odoo-test-design/workflow.md +30 -0
  23. package/bmm/testarch/odoo-testing-guide.md +30 -0
  24. package/bmm/workflows/1-analysis/analyze-process/process-analysis.template.md +80 -0
  25. package/bmm/workflows/1-analysis/analyze-process/steps/step-01-init.md +44 -0
  26. package/bmm/workflows/1-analysis/analyze-process/steps/step-02-current-state.md +55 -0
  27. package/bmm/workflows/1-analysis/analyze-process/steps/step-03-pain-points.md +67 -0
  28. package/bmm/workflows/1-analysis/analyze-process/steps/step-04-odoo-mapping.md +67 -0
  29. package/bmm/workflows/1-analysis/analyze-process/steps/step-05-recommendations.md +99 -0
  30. package/bmm/workflows/1-analysis/analyze-process/steps/step-06-complete.md +62 -0
  31. package/bmm/workflows/1-analysis/analyze-process/workflow.md +60 -0
  32. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-01-init.md +45 -0
  33. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-02-users-stakeholders.md +46 -0
  34. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-03-odoo-modules.md +59 -0
  35. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-04-scope-timeline.md +64 -0
  36. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-05-complete.md +32 -0
  37. package/bmm/workflows/1-analysis/create-odoo-product-brief/workflow.md +35 -0
  38. package/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  39. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
  40. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
  41. package/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
  42. package/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
  43. package/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
  44. package/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
  45. package/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
  46. package/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  47. package/bmm/workflows/1-analysis/gap-analysis/steps/step-01-init.md +45 -0
  48. package/bmm/workflows/1-analysis/gap-analysis/steps/step-02-odoo-capabilities.md +36 -0
  49. package/bmm/workflows/1-analysis/gap-analysis/steps/step-03-gap-matrix.md +51 -0
  50. package/bmm/workflows/1-analysis/gap-analysis/workflow.md +45 -0
  51. package/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  52. package/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  53. package/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  54. package/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  55. package/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  56. package/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  57. package/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  58. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  59. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  60. package/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  61. package/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  62. package/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  63. package/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  64. package/bmm/workflows/1-analysis/research/research.template.md +29 -0
  65. package/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  66. package/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  67. package/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  68. package/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  69. package/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  70. package/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  71. package/bmm/workflows/1-analysis/research/workflow.md +173 -0
  72. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-01-init.md +48 -0
  73. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-02-technical-design.md +82 -0
  74. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-03-generate.md +86 -0
  75. package/bmm/workflows/2-plan-workflows/create-odoo-addon/workflow.md +39 -0
  76. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-01-init.md +55 -0
  77. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-02-stories.md +53 -0
  78. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-03-complete.md +39 -0
  79. package/bmm/workflows/2-plan-workflows/create-odoo-epic/workflow.md +35 -0
  80. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-01-init.md +46 -0
  81. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-02-functional-requirements.md +56 -0
  82. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-03-technical-requirements.md +45 -0
  83. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-04-complete.md +40 -0
  84. package/bmm/workflows/2-plan-workflows/create-odoo-prd/workflow.md +29 -0
  85. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-01-init.md +52 -0
  86. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-02-form-design.md +78 -0
  87. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-03-tree-design.md +84 -0
  88. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-04-complete.md +55 -0
  89. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/workflow.md +30 -0
  90. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  91. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  92. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  93. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  94. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  95. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  96. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  97. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  98. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  99. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  100. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  101. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  102. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  103. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  104. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  105. package/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  106. package/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  107. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-01-init.md +49 -0
  108. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-02-risk-assessment.md +51 -0
  109. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-03-roadmap.md +58 -0
  110. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/workflow.md +29 -0
  111. package/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  112. package/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
  113. package/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  114. package/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
  115. package/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
  116. package/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
  117. package/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
  118. package/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
  119. package/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
  120. package/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
  121. package/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
  122. package/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
  123. package/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
  124. package/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
  125. package/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
  126. package/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
  127. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  128. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  129. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  130. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  131. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  132. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  133. package/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  134. package/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  135. package/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  136. package/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  137. package/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  138. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  139. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  140. package/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  141. package/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  142. package/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  143. package/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  144. package/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  145. package/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  146. package/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  147. package/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  148. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  149. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  150. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  151. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  152. package/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  153. package/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  154. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-01-init.md +44 -0
  155. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-02-inheritance-strategy.md +75 -0
  156. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-03-implementation.md +64 -0
  157. package/bmm/workflows/3-solutioning/enhance-existing-system/workflow.md +30 -0
  158. package/bmm/workflows/3-solutioning/quick-addon/workflow.md +23 -0
  159. package/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  160. package/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
  161. package/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  162. package/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  163. package/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  164. package/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  165. package/bmm/workflows/4-implementation/create-next-story/steps/step-01-init.md +53 -0
  166. package/bmm/workflows/4-implementation/create-next-story/steps/step-02-acceptance-criteria.md +63 -0
  167. package/bmm/workflows/4-implementation/create-next-story/steps/step-03-tasks.md +68 -0
  168. package/bmm/workflows/4-implementation/create-next-story/steps/step-04-complete.md +70 -0
  169. package/bmm/workflows/4-implementation/create-next-story/workflow.md +30 -0
  170. package/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  171. package/bmm/workflows/4-implementation/dev-story/instructions.xml +409 -0
  172. package/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  173. package/bmm/workflows/4-implementation/rapid-brownfield/steps/step-01-quick-story.md +79 -0
  174. package/bmm/workflows/4-implementation/rapid-brownfield/workflow.md +29 -0
  175. package/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  176. package/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  177. package/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  178. package/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  179. package/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  180. package/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  181. package/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  182. package/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  183. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
  184. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
  185. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
  186. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
  187. package/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
  188. package/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
  189. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  190. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  191. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  192. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  193. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  194. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  195. package/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  196. package/bmm/workflows/document-odoo/steps/step-01-init.md +43 -0
  197. package/bmm/workflows/document-odoo/steps/step-02-readme.md +98 -0
  198. package/bmm/workflows/document-odoo/steps/step-03-user-guide.md +76 -0
  199. package/bmm/workflows/document-odoo/steps/step-04-complete.md +58 -0
  200. package/bmm/workflows/document-odoo/workflow.md +30 -0
  201. package/bmm/workflows/document-project/checklist.md +245 -0
  202. package/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  203. package/bmm/workflows/document-project/instructions.md +221 -0
  204. package/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  205. package/bmm/workflows/document-project/templates/index-template.md +169 -0
  206. package/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  207. package/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  208. package/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  209. package/bmm/workflows/document-project/workflow.yaml +28 -0
  210. package/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  211. package/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  212. package/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  213. package/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  214. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  215. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  216. package/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  217. package/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  218. package/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  219. package/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  220. package/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  221. package/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  222. package/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  223. package/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  224. package/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  225. package/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  226. package/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  227. package/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  228. package/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  229. package/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  230. package/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  231. package/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  232. package/bmm/workflows/generate-project-context/workflow.md +49 -0
  233. package/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  234. package/bmm/workflows/testarch/atdd/checklist.md +374 -0
  235. package/bmm/workflows/testarch/atdd/instructions.md +806 -0
  236. package/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  237. package/bmm/workflows/testarch/automate/checklist.md +582 -0
  238. package/bmm/workflows/testarch/automate/instructions.md +1324 -0
  239. package/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  240. package/bmm/workflows/testarch/ci/checklist.md +248 -0
  241. package/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  242. package/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  243. package/bmm/workflows/testarch/ci/instructions.md +536 -0
  244. package/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  245. package/bmm/workflows/testarch/framework/checklist.md +321 -0
  246. package/bmm/workflows/testarch/framework/instructions.md +481 -0
  247. package/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  248. package/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  249. package/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  250. package/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  251. package/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  252. package/bmm/workflows/testarch/test-design/checklist.md +235 -0
  253. package/bmm/workflows/testarch/test-design/instructions.md +788 -0
  254. package/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  255. package/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  256. package/bmm/workflows/testarch/test-review/checklist.md +472 -0
  257. package/bmm/workflows/testarch/test-review/instructions.md +628 -0
  258. package/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  259. package/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  260. package/bmm/workflows/testarch/trace/checklist.md +655 -0
  261. package/bmm/workflows/testarch/trace/instructions.md +1047 -0
  262. package/bmm/workflows/testarch/trace/trace-template.md +675 -0
  263. package/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  264. package/bmm/workflows/workflow-status/init/instructions.md +346 -0
  265. package/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
  266. package/bmm/workflows/workflow-status/instructions.md +395 -0
  267. package/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  268. package/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  269. package/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  270. package/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  271. package/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  272. package/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  273. package/bmm/workflows/workflow-status/workflow.yaml +30 -0
  274. package/core/agents/bmad-odoo-master.md +61 -0
  275. package/core/config.yaml +7 -0
  276. package/core/resources/README.md +5 -0
  277. package/core/tasks/README.md +7 -0
  278. package/core/workflows/README.md +8 -0
  279. package/index.js +84 -0
  280. package/package.json +48 -0
  281. package/scripts/postinstall.js +447 -0
  282. package/scripts/setup-cli.js +17 -0
@@ -0,0 +1,31 @@
1
+ # Full Project Scan Workflow Configuration
2
+ name: "document-project-full-scan"
3
+ description: "Complete project documentation workflow (initial scan or full rescan)"
4
+ author: "BMad"
5
+
6
+ # This is a sub-workflow called by document-project/workflow.yaml
7
+ parent_workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml"
8
+
9
+ # Critical variables inherited from parent
10
+ config_source: "{project-root}/_bmad/bmb/config.yaml"
11
+ output_folder: "{config_source}:output_folder"
12
+ user_name: "{config_source}:user_name"
13
+ date: system-generated
14
+
15
+ # Data files
16
+ documentation_requirements_csv: "{project-root}/_bmad/bmm/workflows/document-project/documentation-requirements.csv"
17
+
18
+ # Module path and component files
19
+ installed_path: "{project-root}/_bmad/bmm/workflows/document-project/workflows"
20
+ template: false # Action workflow
21
+ instructions: "{installed_path}/full-scan-instructions.md"
22
+ validation: "{project-root}/_bmad/bmm/workflows/document-project/checklist.md"
23
+
24
+ # Runtime inputs (passed from parent workflow)
25
+ workflow_mode: "" # "initial_scan" or "full_rescan"
26
+ scan_level: "" # "quick", "deep", or "exhaustive"
27
+ resume_mode: false
28
+ project_root_path: ""
29
+
30
+ # Configuration
31
+ autonomous: false # Requires user input at key decision points
@@ -0,0 +1,90 @@
1
+ {
2
+ "type": "excalidrawlib",
3
+ "version": 2,
4
+ "library": [
5
+ {
6
+ "id": "start-end-circle",
7
+ "status": "published",
8
+ "elements": [
9
+ {
10
+ "type": "ellipse",
11
+ "width": 120,
12
+ "height": 60,
13
+ "strokeColor": "#1976d2",
14
+ "backgroundColor": "#e3f2fd",
15
+ "fillStyle": "solid",
16
+ "strokeWidth": 2,
17
+ "roughness": 0
18
+ }
19
+ ]
20
+ },
21
+ {
22
+ "id": "process-rectangle",
23
+ "status": "published",
24
+ "elements": [
25
+ {
26
+ "type": "rectangle",
27
+ "width": 160,
28
+ "height": 80,
29
+ "strokeColor": "#1976d2",
30
+ "backgroundColor": "#e3f2fd",
31
+ "fillStyle": "solid",
32
+ "strokeWidth": 2,
33
+ "roughness": 0,
34
+ "roundness": {
35
+ "type": 3,
36
+ "value": 8
37
+ }
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "id": "decision-diamond",
43
+ "status": "published",
44
+ "elements": [
45
+ {
46
+ "type": "diamond",
47
+ "width": 140,
48
+ "height": 100,
49
+ "strokeColor": "#f57c00",
50
+ "backgroundColor": "#fff3e0",
51
+ "fillStyle": "solid",
52
+ "strokeWidth": 2,
53
+ "roughness": 0
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "id": "data-store",
59
+ "status": "published",
60
+ "elements": [
61
+ {
62
+ "type": "rectangle",
63
+ "width": 140,
64
+ "height": 80,
65
+ "strokeColor": "#388e3c",
66
+ "backgroundColor": "#e8f5e9",
67
+ "fillStyle": "solid",
68
+ "strokeWidth": 2,
69
+ "roughness": 0
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "id": "external-entity",
75
+ "status": "published",
76
+ "elements": [
77
+ {
78
+ "type": "rectangle",
79
+ "width": 120,
80
+ "height": 80,
81
+ "strokeColor": "#7b1fa2",
82
+ "backgroundColor": "#f3e5f5",
83
+ "fillStyle": "solid",
84
+ "strokeWidth": 3,
85
+ "roughness": 0
86
+ }
87
+ ]
88
+ }
89
+ ]
90
+ }
@@ -0,0 +1,127 @@
1
+ flowchart:
2
+ viewport:
3
+ x: 0
4
+ y: 0
5
+ zoom: 1
6
+ grid:
7
+ size: 20
8
+ spacing:
9
+ vertical: 100
10
+ horizontal: 180
11
+ elements:
12
+ start:
13
+ type: ellipse
14
+ width: 120
15
+ height: 60
16
+ label: "Start"
17
+ process:
18
+ type: rectangle
19
+ width: 160
20
+ height: 80
21
+ roundness: 8
22
+ decision:
23
+ type: diamond
24
+ width: 140
25
+ height: 100
26
+ end:
27
+ type: ellipse
28
+ width: 120
29
+ height: 60
30
+ label: "End"
31
+
32
+ diagram:
33
+ viewport:
34
+ x: 0
35
+ y: 0
36
+ zoom: 1
37
+ grid:
38
+ size: 20
39
+ spacing:
40
+ vertical: 120
41
+ horizontal: 200
42
+ elements:
43
+ component:
44
+ type: rectangle
45
+ width: 180
46
+ height: 100
47
+ roundness: 8
48
+ database:
49
+ type: rectangle
50
+ width: 140
51
+ height: 80
52
+ service:
53
+ type: rectangle
54
+ width: 160
55
+ height: 90
56
+ roundness: 12
57
+ external:
58
+ type: rectangle
59
+ width: 140
60
+ height: 80
61
+
62
+ wireframe:
63
+ viewport:
64
+ x: 0
65
+ y: 0
66
+ zoom: 0.8
67
+ grid:
68
+ size: 20
69
+ spacing:
70
+ vertical: 40
71
+ horizontal: 40
72
+ elements:
73
+ container:
74
+ type: rectangle
75
+ width: 800
76
+ height: 600
77
+ strokeStyle: solid
78
+ strokeWidth: 2
79
+ header:
80
+ type: rectangle
81
+ width: 800
82
+ height: 80
83
+ button:
84
+ type: rectangle
85
+ width: 120
86
+ height: 40
87
+ roundness: 4
88
+ input:
89
+ type: rectangle
90
+ width: 300
91
+ height: 40
92
+ roundness: 4
93
+ text:
94
+ type: text
95
+ fontSize: 16
96
+
97
+ dataflow:
98
+ viewport:
99
+ x: 0
100
+ y: 0
101
+ zoom: 1
102
+ grid:
103
+ size: 20
104
+ spacing:
105
+ vertical: 120
106
+ horizontal: 200
107
+ elements:
108
+ process:
109
+ type: ellipse
110
+ width: 140
111
+ height: 80
112
+ label: "Process"
113
+ datastore:
114
+ type: rectangle
115
+ width: 140
116
+ height: 80
117
+ label: "Data Store"
118
+ external:
119
+ type: rectangle
120
+ width: 120
121
+ height: 80
122
+ strokeWidth: 3
123
+ label: "External Entity"
124
+ dataflow:
125
+ type: arrow
126
+ strokeWidth: 2
127
+ label: "Data Flow"
@@ -0,0 +1,39 @@
1
+ # Create Data Flow Diagram - Validation Checklist
2
+
3
+ ## DFD Notation
4
+
5
+ - [ ] Processes shown as circles/ellipses
6
+ - [ ] Data stores shown as parallel lines or rectangles
7
+ - [ ] External entities shown as rectangles
8
+ - [ ] Data flows shown as labeled arrows
9
+ - [ ] Follows standard DFD notation
10
+
11
+ ## Structure
12
+
13
+ - [ ] All processes numbered correctly
14
+ - [ ] All data flows labeled with data names
15
+ - [ ] All data stores named appropriately
16
+ - [ ] External entities clearly identified
17
+
18
+ ## Completeness
19
+
20
+ - [ ] All inputs and outputs accounted for
21
+ - [ ] No orphaned processes (unconnected)
22
+ - [ ] Data conservation maintained
23
+ - [ ] Level appropriate (context/level 0/level 1)
24
+
25
+ ## Layout
26
+
27
+ - [ ] Logical flow direction (left to right, top to bottom)
28
+ - [ ] No crossing data flows where avoidable
29
+ - [ ] Balanced layout
30
+ - [ ] Grid alignment maintained
31
+
32
+ ## Technical Quality
33
+
34
+ - [ ] All elements properly grouped
35
+ - [ ] Arrows have proper bindings
36
+ - [ ] Text readable and properly sized
37
+ - [ ] No elements with `isDeleted: true`
38
+ - [ ] JSON is valid
39
+ - [ ] File saved to correct location
@@ -0,0 +1,130 @@
1
+ # Create Data Flow Diagram - Workflow Instructions
2
+
3
+ ```xml
4
+ <critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
5
+ <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
6
+ <critical>This workflow creates data flow diagrams (DFD) in Excalidraw format.</critical>
7
+
8
+ <workflow>
9
+
10
+ <step n="0" goal="Contextual Analysis">
11
+ <action>Review user's request and extract: DFD level, processes, data stores, external entities</action>
12
+ <check if="ALL requirements clear"><action>Skip to Step 4</action></check>
13
+ </step>
14
+
15
+ <step n="1" goal="Identify DFD Level" elicit="true">
16
+ <action>Ask: "What level of DFD do you need?"</action>
17
+ <action>Present options:
18
+ 1. Context Diagram (Level 0) - Single process showing system boundaries
19
+ 2. Level 1 DFD - Major processes and data flows
20
+ 3. Level 2 DFD - Detailed sub-processes
21
+ 4. Custom - Specify your requirements
22
+ </action>
23
+ <action>WAIT for selection</action>
24
+ </step>
25
+
26
+ <step n="2" goal="Gather Requirements" elicit="true">
27
+ <action>Ask: "Describe the processes, data stores, and external entities in your system"</action>
28
+ <action>WAIT for user description</action>
29
+ <action>Summarize what will be included and confirm with user</action>
30
+ </step>
31
+
32
+ <step n="3" goal="Theme Setup" elicit="true">
33
+ <action>Check for existing theme.json, ask to use if exists</action>
34
+ <check if="no existing theme">
35
+ <action>Ask: "Choose a DFD color scheme:"</action>
36
+ <action>Present numbered options:
37
+ 1. Standard DFD
38
+ - Process: #e3f2fd (light blue)
39
+ - Data Store: #e8f5e9 (light green)
40
+ - External Entity: #f3e5f5 (light purple)
41
+ - Border: #1976d2 (blue)
42
+
43
+ 2. Colorful DFD
44
+ - Process: #fff9c4 (light yellow)
45
+ - Data Store: #c5e1a5 (light lime)
46
+ - External Entity: #ffccbc (light coral)
47
+ - Border: #f57c00 (orange)
48
+
49
+ 3. Minimal DFD
50
+ - Process: #f5f5f5 (light gray)
51
+ - Data Store: #eeeeee (gray)
52
+ - External Entity: #e0e0e0 (medium gray)
53
+ - Border: #616161 (dark gray)
54
+
55
+ 4. Custom - Define your own colors
56
+ </action>
57
+ <action>WAIT for selection</action>
58
+ <action>Create theme.json based on selection</action>
59
+ </check>
60
+ </step>
61
+
62
+ <step n="4" goal="Plan DFD Structure">
63
+ <action>List all processes with numbers (1.0, 2.0, etc.)</action>
64
+ <action>List all data stores (D1, D2, etc.)</action>
65
+ <action>List all external entities</action>
66
+ <action>Map all data flows with labels</action>
67
+ <action>Show planned structure, confirm with user</action>
68
+ </step>
69
+
70
+ <step n="5" goal="Load Resources">
71
+ <action>Load {{templates}} and extract `dataflow` section</action>
72
+ <action>Load {{library}}</action>
73
+ <action>Load theme.json</action>
74
+ <action>Load {{helpers}}</action>
75
+ </step>
76
+
77
+ <step n="6" goal="Build DFD Elements">
78
+ <critical>Follow standard DFD notation from {{helpers}}</critical>
79
+
80
+ <substep>Build Order:
81
+ 1. External entities (rectangles, bold border)
82
+ 2. Processes (circles/ellipses with numbers)
83
+ 3. Data stores (parallel lines or rectangles)
84
+ 4. Data flows (labeled arrows)
85
+ </substep>
86
+
87
+ <substep>DFD Rules:
88
+ - Processes: Numbered (1.0, 2.0), verb phrases
89
+ - Data stores: Named (D1, D2), noun phrases
90
+ - External entities: Named, noun phrases
91
+ - Data flows: Labeled with data names, arrows show direction
92
+ - No direct flow between external entities
93
+ - No direct flow between data stores
94
+ </substep>
95
+
96
+ <substep>Layout:
97
+ - External entities at edges
98
+ - Processes in center
99
+ - Data stores between processes
100
+ - Minimize crossing flows
101
+ - Left-to-right or top-to-bottom flow
102
+ </substep>
103
+ </step>
104
+
105
+ <step n="7" goal="Optimize and Save">
106
+ <action>Verify DFD rules compliance</action>
107
+ <action>Strip unused elements and elements with isDeleted: true</action>
108
+ <action>Save to {{default_output_file}}</action>
109
+ </step>
110
+
111
+ <step n="8" goal="Validate JSON Syntax">
112
+ <critical>NEVER delete the file if validation fails - always fix syntax errors</critical>
113
+ <action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('✓ Valid JSON')"</action>
114
+ <check if="validation fails (exit code 1)">
115
+ <action>Read the error message carefully - it shows the syntax error and position</action>
116
+ <action>Open the file and navigate to the error location</action>
117
+ <action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>
118
+ <action>Save the file</action>
119
+ <action>Re-run validation with the same command</action>
120
+ <action>Repeat until validation passes</action>
121
+ </check>
122
+ <action>Once validation passes, confirm with user</action>
123
+ </step>
124
+
125
+ <step n="9" goal="Validate Content">
126
+ <invoke-task>Validate against {{validation}}</invoke-task>
127
+ </step>
128
+
129
+ </workflow>
130
+ ```
@@ -0,0 +1,26 @@
1
+ name: create-excalidraw-dataflow
2
+ description: "Create data flow diagrams (DFD) in Excalidraw format"
3
+ author: "BMad"
4
+
5
+ # Config values
6
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
7
+ output_folder: "{config_source}:output_folder"
8
+
9
+ # Workflow components
10
+ installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow"
11
+ shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
12
+ instructions: "{installed_path}/instructions.md"
13
+ validation: "{installed_path}/checklist.md"
14
+
15
+ # Core Excalidraw resources (universal knowledge)
16
+ helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
17
+ json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
18
+
19
+ # Domain-specific resources (technical diagrams)
20
+ templates: "{shared_path}/excalidraw-templates.yaml"
21
+ library: "{shared_path}/excalidraw-library.json"
22
+
23
+ # Output file (respects user's configured output_folder)
24
+ default_output_file: "{output_folder}/excalidraw-diagrams/dataflow-{timestamp}.excalidraw"
25
+
26
+ standalone: true
@@ -0,0 +1,43 @@
1
+ # Create Diagram - Validation Checklist
2
+
3
+ ## Element Structure
4
+
5
+ - [ ] All components with labels have matching `groupIds`
6
+ - [ ] All text elements have `containerId` pointing to parent component
7
+ - [ ] Text width calculated properly (no cutoff)
8
+ - [ ] Text alignment appropriate for diagram type
9
+
10
+ ## Layout and Alignment
11
+
12
+ - [ ] All elements snapped to 20px grid
13
+ - [ ] Component spacing consistent (40px/60px)
14
+ - [ ] Hierarchical alignment maintained
15
+ - [ ] No overlapping elements
16
+
17
+ ## Connections
18
+
19
+ - [ ] All arrows have `startBinding` and `endBinding`
20
+ - [ ] `boundElements` array updated on connected components
21
+ - [ ] Arrow routing avoids overlaps
22
+ - [ ] Relationship types clearly indicated
23
+
24
+ ## Notation and Standards
25
+
26
+ - [ ] Follows specified notation standard (UML/ERD/etc)
27
+ - [ ] Symbols used correctly
28
+ - [ ] Cardinality/multiplicity shown where needed
29
+ - [ ] Labels and annotations clear
30
+
31
+ ## Theme and Styling
32
+
33
+ - [ ] Theme colors applied consistently
34
+ - [ ] Component types visually distinguishable
35
+ - [ ] Text is readable
36
+ - [ ] Professional appearance
37
+
38
+ ## Output Quality
39
+
40
+ - [ ] Element count under 80
41
+ - [ ] No elements with `isDeleted: true`
42
+ - [ ] JSON is valid
43
+ - [ ] File saved to correct location
@@ -0,0 +1,141 @@
1
+ # Create Diagram - Workflow Instructions
2
+
3
+ ```xml
4
+ <critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
5
+ <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
6
+ <critical>This workflow creates system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format.</critical>
7
+
8
+ <workflow>
9
+
10
+ <step n="0" goal="Contextual Analysis">
11
+ <action>Review user's request and extract: diagram type, components/entities, relationships, notation preferences</action>
12
+ <check if="ALL requirements clear"><action>Skip to Step 5</action></check>
13
+ <check if="SOME requirements clear"><action>Only ask about missing info in Steps 1-2</action></check>
14
+ </step>
15
+
16
+ <step n="1" goal="Identify Diagram Type" elicit="true">
17
+ <action>Ask: "What type of technical diagram do you need?"</action>
18
+ <action>Present options:
19
+ 1. System Architecture
20
+ 2. Entity-Relationship Diagram (ERD)
21
+ 3. UML Class Diagram
22
+ 4. UML Sequence Diagram
23
+ 5. UML Use Case Diagram
24
+ 6. Network Diagram
25
+ 7. Other
26
+ </action>
27
+ <action>WAIT for selection</action>
28
+ </step>
29
+
30
+ <step n="2" goal="Gather Requirements" elicit="true">
31
+ <action>Ask: "Describe the components/entities and their relationships"</action>
32
+ <action>Ask: "What notation standard? (Standard/Simplified/Strict UML-ERD)"</action>
33
+ <action>WAIT for user input</action>
34
+ <action>Summarize what will be included and confirm with user</action>
35
+ </step>
36
+
37
+ <step n="3" goal="Check for Existing Theme" elicit="true">
38
+ <action>Check if theme.json exists at output location</action>
39
+ <check if="exists"><action>Ask to use it, load if yes, else proceed to Step 4</action></check>
40
+ <check if="not exists"><action>Proceed to Step 4</action></check>
41
+ </step>
42
+
43
+ <step n="4" goal="Create Theme" elicit="true">
44
+ <action>Ask: "Choose a color scheme for your diagram:"</action>
45
+ <action>Present numbered options:
46
+ 1. Professional
47
+ - Component: #e3f2fd (light blue)
48
+ - Database: #e8f5e9 (light green)
49
+ - Service: #fff3e0 (light orange)
50
+ - Border: #1976d2 (blue)
51
+
52
+ 2. Colorful
53
+ - Component: #e1bee7 (light purple)
54
+ - Database: #c5e1a5 (light lime)
55
+ - Service: #ffccbc (light coral)
56
+ - Border: #7b1fa2 (purple)
57
+
58
+ 3. Minimal
59
+ - Component: #f5f5f5 (light gray)
60
+ - Database: #eeeeee (gray)
61
+ - Service: #e0e0e0 (medium gray)
62
+ - Border: #616161 (dark gray)
63
+
64
+ 4. Custom - Define your own colors
65
+ </action>
66
+ <action>WAIT for selection</action>
67
+ <action>Create theme.json based on selection</action>
68
+ <action>Show preview and confirm</action>
69
+ </step>
70
+
71
+ <step n="5" goal="Plan Diagram Structure">
72
+ <action>List all components/entities</action>
73
+ <action>Map all relationships</action>
74
+ <action>Show planned layout</action>
75
+ <action>Ask: "Structure looks correct? (yes/no)"</action>
76
+ <check if="no"><action>Adjust and repeat</action></check>
77
+ </step>
78
+
79
+ <step n="6" goal="Load Resources">
80
+ <action>Load {{templates}} and extract `diagram` section</action>
81
+ <action>Load {{library}}</action>
82
+ <action>Load theme.json and merge with template</action>
83
+ <action>Load {{helpers}} for guidelines</action>
84
+ </step>
85
+
86
+ <step n="7" goal="Build Diagram Elements">
87
+ <critical>Follow {{helpers}} for proper element creation</critical>
88
+
89
+ <substep>For Each Component:
90
+ - Generate unique IDs (component-id, text-id, group-id)
91
+ - Create shape with groupIds
92
+ - Calculate text width
93
+ - Create text with containerId and matching groupIds
94
+ - Add boundElements
95
+ </substep>
96
+
97
+ <substep>For Each Connection:
98
+ - Determine arrow type (straight/elbow)
99
+ - Create with startBinding and endBinding
100
+ - Update boundElements on both components
101
+ </substep>
102
+
103
+ <substep>Build Order by Type:
104
+ - Architecture: Services → Databases → Connections → Labels
105
+ - ERD: Entities → Attributes → Relationships → Cardinality
106
+ - UML Class: Classes → Attributes → Methods → Relationships
107
+ - UML Sequence: Actors → Lifelines → Messages → Returns
108
+ - UML Use Case: Actors → Use Cases → Relationships
109
+ </substep>
110
+
111
+ <substep>Alignment:
112
+ - Snap to 20px grid
113
+ - Space: 40px between components, 60px between sections
114
+ </substep>
115
+ </step>
116
+
117
+ <step n="8" goal="Optimize and Save">
118
+ <action>Strip unused elements and elements with isDeleted: true</action>
119
+ <action>Save to {{default_output_file}}</action>
120
+ </step>
121
+
122
+ <step n="9" goal="Validate JSON Syntax">
123
+ <critical>NEVER delete the file if validation fails - always fix syntax errors</critical>
124
+ <action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('✓ Valid JSON')"</action>
125
+ <check if="validation fails (exit code 1)">
126
+ <action>Read the error message carefully - it shows the syntax error and position</action>
127
+ <action>Open the file and navigate to the error location</action>
128
+ <action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>
129
+ <action>Save the file</action>
130
+ <action>Re-run validation with the same command</action>
131
+ <action>Repeat until validation passes</action>
132
+ </check>
133
+ <action>Once validation passes, confirm: "Diagram created at {{default_output_file}}. Open to view?"</action>
134
+ </step>
135
+
136
+ <step n="10" goal="Validate Content">
137
+ <invoke-task>Validate against {{validation}} using {_bmad}/core/tasks/validate-workflow.xml</invoke-task>
138
+ </step>
139
+
140
+ </workflow>
141
+ ```
@@ -0,0 +1,26 @@
1
+ name: create-excalidraw-diagram
2
+ description: "Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format"
3
+ author: "BMad"
4
+
5
+ # Config values
6
+ config_source: "{project-root}/_bmad/bmm/config.yaml"
7
+ output_folder: "{config_source}:output_folder"
8
+
9
+ # Workflow components
10
+ installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram"
11
+ shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared"
12
+ instructions: "{installed_path}/instructions.md"
13
+ validation: "{installed_path}/checklist.md"
14
+
15
+ # Core Excalidraw resources (universal knowledge)
16
+ helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md"
17
+ json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md"
18
+
19
+ # Domain-specific resources (technical diagrams)
20
+ templates: "{shared_path}/excalidraw-templates.yaml"
21
+ library: "{shared_path}/excalidraw-library.json"
22
+
23
+ # Output file (respects user's configured output_folder)
24
+ default_output_file: "{output_folder}/excalidraw-diagrams/diagram-{timestamp}.excalidraw"
25
+
26
+ standalone: true