bmad-method 6.0.0-alpha.13 → 6.0.0-alpha.14

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 (335) hide show
  1. package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
  2. package/.github/scripts/discord-helpers.sh +15 -0
  3. package/.github/workflows/discord.yaml +278 -8
  4. package/.github/workflows/quality.yaml +19 -0
  5. package/.markdownlint-cli2.yaml +42 -0
  6. package/.prettierignore +3 -0
  7. package/CHANGELOG.md +95 -0
  8. package/CODE_OF_CONDUCT.md +128 -0
  9. package/bmad-method-6.0.0-alpha.14.tgz +0 -0
  10. package/docs/agent-customization-guide.md +2 -2
  11. package/docs/custom-agent-installation.md +56 -102
  12. package/docs/document-sharding-guide.md +1 -1
  13. package/eslint.config.mjs +14 -0
  14. package/example-custom-content/README.md +4 -0
  15. package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/instructions.md +4 -4
  16. package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/memories.md +1 -1
  17. package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith.agent.yaml +17 -16
  18. package/example-custom-content/custom.yaml +3 -0
  19. package/example-custom-content/workflows/quiz-master/steps/step-01-init.md +168 -0
  20. package/example-custom-content/workflows/quiz-master/steps/step-02-q1.md +155 -0
  21. package/example-custom-content/workflows/quiz-master/steps/step-03-q2.md +89 -0
  22. package/example-custom-content/workflows/quiz-master/steps/step-04-q3.md +36 -0
  23. package/example-custom-content/workflows/quiz-master/steps/step-05-q4.md +36 -0
  24. package/example-custom-content/workflows/quiz-master/steps/step-06-q5.md +36 -0
  25. package/example-custom-content/workflows/quiz-master/steps/step-07-q6.md +36 -0
  26. package/example-custom-content/workflows/quiz-master/steps/step-08-q7.md +36 -0
  27. package/example-custom-content/workflows/quiz-master/steps/step-09-q8.md +36 -0
  28. package/example-custom-content/workflows/quiz-master/steps/step-10-q9.md +36 -0
  29. package/example-custom-content/workflows/quiz-master/steps/step-11-q10.md +36 -0
  30. package/example-custom-content/workflows/quiz-master/steps/step-12-results.md +150 -0
  31. package/example-custom-content/workflows/quiz-master/templates/csv-headers.template +1 -0
  32. package/example-custom-content/workflows/quiz-master/workflow-plan-quiz-master.md +269 -0
  33. package/example-custom-content/workflows/quiz-master/workflow.md +54 -0
  34. package/example-custom-content/workflows/wassup/workflow.md +26 -0
  35. package/example-custom-module/mwm/README.md +4 -0
  36. package/example-custom-module/mwm/_module-installer/install-config.yaml +27 -0
  37. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/cognitive-distortions.md +47 -0
  38. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/thought-records.md +17 -0
  39. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach.agent.yaml +150 -0
  40. package/example-custom-module/mwm/agents/crisis-navigator.agent.yaml +137 -0
  41. package/example-custom-module/mwm/agents/meditation-guide.agent.yaml +137 -0
  42. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
  43. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
  44. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
  45. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
  46. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion.agent.yaml +124 -0
  47. package/example-custom-module/mwm/workflows/cbt-thought-record/README.md +31 -0
  48. package/example-custom-module/mwm/workflows/cbt-thought-record/workflow.md +45 -0
  49. package/example-custom-module/mwm/workflows/crisis-support/README.md +31 -0
  50. package/example-custom-module/mwm/workflows/crisis-support/workflow.md +45 -0
  51. package/example-custom-module/mwm/workflows/daily-checkin/README.md +32 -0
  52. package/example-custom-module/mwm/workflows/daily-checkin/workflow.md +45 -0
  53. package/example-custom-module/mwm/workflows/guided-meditation/README.md +31 -0
  54. package/example-custom-module/mwm/workflows/guided-meditation/workflow.md +45 -0
  55. package/example-custom-module/mwm/workflows/wellness-journal/README.md +31 -0
  56. package/example-custom-module/mwm/workflows/wellness-journal/workflow.md +45 -0
  57. package/package.json +9 -4
  58. package/src/core/_module-installer/install-config.yaml +5 -1
  59. package/src/core/resources/excalidraw/library-loader.md +2 -2
  60. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +1 -1
  61. package/src/core/workflows/brainstorming/workflow.md +1 -1
  62. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -1
  63. package/src/core/workflows/party-mode/workflow.md +2 -3
  64. package/src/modules/bmb/README.md +1 -1
  65. package/src/modules/bmb/_module-installer/install-config.yaml +4 -9
  66. package/src/modules/bmb/_module-installer/installer.js +76 -0
  67. package/src/modules/bmb/agents/bmad-builder.agent.yaml +32 -9
  68. package/src/modules/bmb/docs/agents/agent-menu-patterns.md +5 -5
  69. package/src/modules/bmb/docs/agents/expert-agent-architecture.md +20 -20
  70. package/src/modules/bmb/docs/agents/module-agent-architecture.md +45 -45
  71. package/src/modules/bmb/docs/agents/simple-agent-architecture.md +7 -3
  72. package/src/modules/bmb/docs/workflows/architecture.md +1 -1
  73. package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
  74. package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +223 -0
  75. package/src/modules/bmb/{workflows/create-workflow → docs/workflows}/templates/step-file.md +4 -4
  76. package/src/modules/bmb/docs/workflows/{step-template.md → templates/step-template.md} +40 -33
  77. package/src/modules/bmb/docs/workflows/templates/workflow-template.md +104 -0
  78. package/src/modules/bmb/{workflows/create-workflow → docs/workflows}/templates/workflow.md +1 -1
  79. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +4 -4
  80. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +8 -8
  81. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +6 -6
  82. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
  83. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +2 -3
  84. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +10 -40
  85. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +1 -1
  86. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +1 -0
  87. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +2 -2
  88. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +2 -2
  89. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +2 -2
  90. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
  91. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +16 -4
  92. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +4 -4
  93. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +7 -7
  94. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +1 -1
  95. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +3 -3
  96. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +3 -3
  97. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +3 -3
  98. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +3 -3
  99. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +6 -6
  100. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +2 -2
  101. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +3 -3
  102. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +3 -3
  103. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +2 -2
  104. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +3 -3
  105. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +2 -2
  106. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +2 -2
  107. package/src/modules/bmb/workflows/create-agent/workflow.md +11 -11
  108. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +155 -0
  109. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +169 -0
  110. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +217 -0
  111. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +267 -0
  112. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +228 -0
  113. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +233 -0
  114. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +296 -0
  115. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +228 -0
  116. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +186 -0
  117. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +308 -0
  118. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +336 -0
  119. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +335 -0
  120. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +317 -0
  121. package/src/modules/bmb/workflows/create-module/templates/install-config.template.yaml +53 -0
  122. package/src/modules/bmb/workflows/create-module/templates/installer.template.js +47 -0
  123. package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
  124. package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
  125. package/src/modules/bmb/workflows/create-module/validation.md +126 -0
  126. package/src/modules/bmb/workflows/create-module/workflow.md +55 -0
  127. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +45 -56
  128. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +9 -31
  129. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +250 -0
  130. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +216 -0
  131. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +289 -0
  132. package/src/modules/bmb/workflows/create-workflow/steps/{step-09-design.md → step-06-design.md} +76 -44
  133. package/src/modules/bmb/workflows/create-workflow/steps/{step-11-build.md → step-07-build.md} +70 -24
  134. package/src/modules/bmb/workflows/create-workflow/steps/{step-12-review.md → step-08-review.md} +30 -16
  135. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +187 -0
  136. package/src/modules/bmb/workflows/create-workflow/workflow.md +2 -2
  137. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +2 -2
  138. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +14 -14
  139. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +4 -4
  140. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +2 -2
  141. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +4 -4
  142. package/src/modules/bmb/workflows/edit-agent/workflow.md +1 -1
  143. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +2 -6
  144. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +2 -2
  145. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +1 -1
  146. package/src/modules/bmb/workflows/edit-workflow/workflow.md +1 -1
  147. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +2 -2
  148. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +5 -5
  149. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +7 -7
  150. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +3 -3
  151. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +3 -3
  152. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +3 -3
  153. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +3 -3
  154. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +2 -2
  155. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +1 -1
  156. package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +0 -1
  157. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +8 -8
  158. package/src/modules/bmm/_module-installer/install-config.yaml +1 -1
  159. package/src/modules/bmm/agents/analyst.agent.yaml +11 -8
  160. package/src/modules/bmm/agents/architect.agent.yaml +1 -5
  161. package/src/modules/bmm/agents/pm.agent.yaml +5 -5
  162. package/src/modules/bmm/docs/README.md +23 -1
  163. package/src/modules/bmm/docs/agents-guide.md +16 -35
  164. package/src/modules/bmm/docs/brownfield-guide.md +17 -30
  165. package/src/modules/bmm/docs/enterprise-agentic-development.md +2 -2
  166. package/src/modules/bmm/docs/faq.md +6 -39
  167. package/src/modules/bmm/docs/glossary.md +11 -24
  168. package/src/modules/bmm/docs/images/README.md +37 -0
  169. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +62 -202
  170. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +3 -1
  171. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  172. package/src/modules/bmm/docs/quick-start.md +9 -25
  173. package/src/modules/bmm/docs/test-architecture.md +6 -6
  174. package/src/modules/bmm/docs/troubleshooting.md +680 -0
  175. package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
  176. package/src/modules/bmm/docs/workflows-implementation.md +143 -3
  177. package/src/modules/bmm/docs/workflows-solutioning.md +2 -2
  178. package/src/modules/bmm/tasks/daily-standup.xml +85 -0
  179. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +1 -1
  180. package/src/modules/bmm/testarch/knowledge/overview.md +1 -1
  181. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +2 -2
  182. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +2 -2
  183. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +2 -2
  184. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +2 -2
  185. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +1 -1
  186. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +8 -8
  187. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +18 -18
  188. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +18 -18
  189. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +18 -18
  190. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +17 -17
  191. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +35 -36
  192. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +5 -6
  193. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +20 -19
  194. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +21 -20
  195. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +20 -19
  196. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +21 -20
  197. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +16 -15
  198. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +36 -37
  199. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +0 -1
  200. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +8 -8
  201. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +19 -18
  202. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +20 -19
  203. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +21 -20
  204. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +19 -18
  205. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +38 -39
  206. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +14 -8
  207. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +6 -0
  208. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +7 -0
  209. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +138 -56
  210. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +93 -51
  211. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +223 -78
  212. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +20 -2
  213. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +18 -0
  214. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +21 -0
  215. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +21 -0
  216. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +21 -0
  217. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +18 -0
  218. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +18 -0
  219. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +18 -0
  220. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +13 -0
  221. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +2 -2
  222. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +14 -14
  223. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +7 -7
  224. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +2 -1
  225. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +258 -0
  226. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +232 -0
  227. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +271 -0
  228. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +144 -0
  229. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  230. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  231. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-01-document-discovery.md +189 -0
  232. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-02-prd-analysis.md +177 -0
  233. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-03-epic-coverage-validation.md +178 -0
  234. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-04-ux-alignment.md +138 -0
  235. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-05-epic-quality-review.md +251 -0
  236. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-06-final-assessment.md +132 -0
  237. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/templates/readiness-report-template.md +4 -0
  238. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.md +54 -0
  239. package/src/modules/{bmgd/workflows/4-production → bmm/workflows/4-implementation}/code-review/checklist.md +2 -1
  240. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +51 -3
  241. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +1 -1
  242. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +32 -2
  243. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
  244. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +19 -21
  245. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +10 -10
  246. package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +174 -0
  247. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  248. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +104 -7
  249. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +4 -0
  250. package/src/modules/bmm/workflows/document-project/instructions.md +1 -1
  251. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +2 -2
  252. package/src/modules/bmm/workflows/generate-project-context/workflow.md +1 -1
  253. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +1 -1
  254. package/src/modules/bmm/workflows/testarch/ci/checklist.md +1 -1
  255. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +36 -3
  256. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +25 -4
  257. package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
  258. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  259. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +1 -6
  260. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +1 -6
  261. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +1 -6
  262. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +1 -7
  263. package/tools/cli/README.md +3 -3
  264. package/tools/cli/commands/build.js +9 -184
  265. package/tools/cli/commands/install.js +1 -6
  266. package/tools/cli/installers/lib/core/config-collector.js +70 -10
  267. package/tools/cli/installers/lib/core/installer.js +153 -388
  268. package/tools/cli/installers/lib/core/manifest-generator.js +91 -30
  269. package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +79 -0
  270. package/tools/cli/installers/lib/custom/handler.js +266 -0
  271. package/tools/cli/installers/lib/ide/_base-ide.js +10 -0
  272. package/tools/cli/installers/lib/ide/auggie.js +19 -7
  273. package/tools/cli/installers/lib/ide/crush.js +19 -6
  274. package/tools/cli/installers/lib/ide/cursor.js +29 -13
  275. package/tools/cli/installers/lib/ide/gemini.js +49 -1
  276. package/tools/cli/installers/lib/ide/iflow.js +20 -1
  277. package/tools/cli/installers/lib/ide/kiro-cli.js +327 -0
  278. package/tools/cli/installers/lib/ide/opencode.js +3 -3
  279. package/tools/cli/installers/lib/ide/roo.js +120 -184
  280. package/tools/cli/installers/lib/ide/rovo-dev.js +1 -1
  281. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +8 -2
  282. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +34 -19
  283. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +18 -14
  284. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  285. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  286. package/tools/cli/installers/lib/modules/manager.js +486 -53
  287. package/tools/cli/lib/agent/compiler.js +54 -5
  288. package/tools/cli/lib/agent/installer.js +127 -27
  289. package/tools/cli/lib/config.js +2 -1
  290. package/tools/cli/lib/ui.js +65 -4
  291. package/tools/cli/lib/yaml-xml-builder.js +0 -15
  292. package/tools/schema/agent.js +149 -89
  293. package/tools/validate-svg-changes.sh +356 -0
  294. package/custom/src/agents/commit-poet/installation-guide.md +0 -36
  295. package/custom/src/agents/toolsmith/installation-guide.md +0 -36
  296. package/src/modules/bmb/docs/workflows/workflow-template.md +0 -152
  297. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-overview.md +0 -127
  298. package/src/modules/bmb/workflows/create-workflow/steps/step-04-core-tools.md +0 -145
  299. package/src/modules/bmb/workflows/create-workflow/steps/step-05-memory-requirements.md +0 -136
  300. package/src/modules/bmb/workflows/create-workflow/steps/step-06-external-tools.md +0 -154
  301. package/src/modules/bmb/workflows/create-workflow/steps/step-07-installation-guidance.md +0 -159
  302. package/src/modules/bmb/workflows/create-workflow/steps/step-08-tools-summary.md +0 -167
  303. package/src/modules/bmb/workflows/create-workflow/steps/step-10-plan-review.md +0 -215
  304. package/src/modules/bmb/workflows/create-workflow/templates/build-summary.md +0 -36
  305. package/src/modules/bmb/workflows/create-workflow/templates/completion-section.md +0 -39
  306. package/src/modules/bmb/workflows/create-workflow/templates/content-template.md +0 -21
  307. package/src/modules/bmb/workflows/create-workflow/templates/design-section.md +0 -53
  308. package/src/modules/bmb/workflows/create-workflow/templates/project-info.md +0 -18
  309. package/src/modules/bmb/workflows/create-workflow/templates/requirements-section.md +0 -47
  310. package/src/modules/bmb/workflows/create-workflow/templates/review-section.md +0 -56
  311. package/src/modules/bmb/workflows/create-workflow/templates/workflow-plan.md +0 -54
  312. package/src/modules/bmb/workflows-legacy/create-module/README.md +0 -229
  313. package/src/modules/bmb/workflows-legacy/create-module/brainstorm-context.md +0 -137
  314. package/src/modules/bmb/workflows-legacy/create-module/checklist.md +0 -235
  315. package/src/modules/bmb/workflows-legacy/create-module/installer-templates/install-config.yaml +0 -92
  316. package/src/modules/bmb/workflows-legacy/create-module/installer-templates/installer.js +0 -231
  317. package/src/modules/bmb/workflows-legacy/create-module/instructions.md +0 -577
  318. package/src/modules/bmb/workflows-legacy/create-module/module-structure.md +0 -400
  319. package/src/modules/bmb/workflows-legacy/create-module/workflow.yaml +0 -52
  320. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +0 -80
  321. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +0 -387
  322. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +0 -53
  323. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +0 -169
  324. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +0 -332
  325. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/template.md +0 -146
  326. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -64
  327. package/tools/cli/commands/agent-install.js +0 -409
  328. package/tools/cli/commands/cleanup.js +0 -141
  329. /package/{custom/src → example-custom-content}/agents/commit-poet/commit-poet.agent.yaml +0 -0
  330. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +0 -0
  331. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +0 -0
  332. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +0 -0
  333. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +0 -0
  334. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +0 -0
  335. /package/{custom/src → example-custom-content}/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +0 -0
@@ -8,7 +8,7 @@ assignees: ''
8
8
 
9
9
  # Idea: [Replace with a clear, actionable title]
10
10
 
11
- ### PASS Framework
11
+ ## PASS Framework
12
12
 
13
13
  **P**roblem:
14
14
 
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ # Discord notification helper functions
3
+
4
+ # Escape markdown special chars and @mentions for safe Discord display
5
+ # Bracket expression: ] must be first, then other chars. In POSIX bracket expr, \ is literal.
6
+ esc() { sed -e 's/[][\*_()~`>]/\\&/g' -e 's/@/@ /g'; }
7
+
8
+ # Truncate to $1 chars (or 80 if wall-of-text with <3 spaces)
9
+ trunc() {
10
+ local max=$1
11
+ local txt=$(tr '\n\r' ' ' | cut -c1-"$max")
12
+ local spaces=$(printf '%s' "$txt" | tr -cd ' ' | wc -c)
13
+ [ "$spaces" -lt 3 ] && [ ${#txt} -gt 80 ] && txt=$(printf '%s' "$txt" | cut -c1-80)
14
+ printf '%s' "$txt"
15
+ }
@@ -1,16 +1,286 @@
1
1
  name: Discord Notification
2
2
 
3
- "on": [pull_request, release, create, delete, issue_comment, pull_request_review, pull_request_review_comment]
3
+ on:
4
+ pull_request:
5
+ types: [opened, closed, reopened, ready_for_review]
6
+ release:
7
+ types: [published]
8
+ create:
9
+ delete:
10
+ issue_comment:
11
+ types: [created]
12
+ pull_request_review:
13
+ types: [submitted]
14
+ pull_request_review_comment:
15
+ types: [created]
16
+ issues:
17
+ types: [opened, closed, reopened]
18
+
19
+ env:
20
+ MAX_TITLE: 100
21
+ MAX_BODY: 250
4
22
 
5
23
  jobs:
6
- notify:
24
+ pull_request:
25
+ if: github.event_name == 'pull_request'
7
26
  runs-on: ubuntu-latest
8
27
  steps:
28
+ - uses: actions/checkout@v4
29
+ with:
30
+ ref: ${{ github.event.repository.default_branch }}
31
+ sparse-checkout: .github/scripts
32
+ sparse-checkout-cone-mode: false
9
33
  - name: Notify Discord
10
- uses: sarisia/actions-status-discord@v1
11
- if: always()
34
+ env:
35
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
36
+ ACTION: ${{ github.event.action }}
37
+ MERGED: ${{ github.event.pull_request.merged }}
38
+ PR_NUM: ${{ github.event.pull_request.number }}
39
+ PR_URL: ${{ github.event.pull_request.html_url }}
40
+ PR_TITLE: ${{ github.event.pull_request.title }}
41
+ PR_USER: ${{ github.event.pull_request.user.login }}
42
+ PR_BODY: ${{ github.event.pull_request.body }}
43
+ run: |
44
+ set -o pipefail
45
+ source .github/scripts/discord-helpers.sh
46
+ [ -z "$WEBHOOK" ] && exit 0
47
+
48
+ if [ "$ACTION" = "opened" ]; then ICON="🔀"; LABEL="New PR"
49
+ elif [ "$ACTION" = "closed" ] && [ "$MERGED" = "true" ]; then ICON="🎉"; LABEL="Merged"
50
+ elif [ "$ACTION" = "closed" ]; then ICON="❌"; LABEL="Closed"
51
+ elif [ "$ACTION" = "reopened" ]; then ICON="🔄"; LABEL="Reopened"
52
+ else ICON="📋"; LABEL="Ready"; fi
53
+
54
+ TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
55
+ [ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
56
+ BODY=$(printf '%s' "$PR_BODY" | trunc $MAX_BODY | esc)
57
+ [ -n "$PR_BODY" ] && [ ${#PR_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
58
+ [ -n "$BODY" ] && BODY=" · $BODY"
59
+ USER=$(printf '%s' "$PR_USER" | esc)
60
+
61
+ MSG="$ICON **[$LABEL #$PR_NUM: $TITLE](<$PR_URL>)**"$'\n'"by @$USER$BODY"
62
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
63
+
64
+ issues:
65
+ if: github.event_name == 'issues'
66
+ runs-on: ubuntu-latest
67
+ steps:
68
+ - uses: actions/checkout@v4
12
69
  with:
13
- webhook: ${{ secrets.DISCORD_WEBHOOK }}
14
- status: ${{ job.status }}
15
- title: "Triggered by ${{ github.event_name }}"
16
- color: 0x5865F2
70
+ ref: ${{ github.event.repository.default_branch }}
71
+ sparse-checkout: .github/scripts
72
+ sparse-checkout-cone-mode: false
73
+ - name: Notify Discord
74
+ env:
75
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
76
+ ACTION: ${{ github.event.action }}
77
+ ISSUE_NUM: ${{ github.event.issue.number }}
78
+ ISSUE_URL: ${{ github.event.issue.html_url }}
79
+ ISSUE_TITLE: ${{ github.event.issue.title }}
80
+ ISSUE_USER: ${{ github.event.issue.user.login }}
81
+ ISSUE_BODY: ${{ github.event.issue.body }}
82
+ ACTOR: ${{ github.actor }}
83
+ run: |
84
+ set -o pipefail
85
+ source .github/scripts/discord-helpers.sh
86
+ [ -z "$WEBHOOK" ] && exit 0
87
+
88
+ if [ "$ACTION" = "opened" ]; then ICON="🐛"; LABEL="New Issue"; USER="$ISSUE_USER"
89
+ elif [ "$ACTION" = "closed" ]; then ICON="✅"; LABEL="Closed"; USER="$ACTOR"
90
+ else ICON="🔄"; LABEL="Reopened"; USER="$ACTOR"; fi
91
+
92
+ TITLE=$(printf '%s' "$ISSUE_TITLE" | trunc $MAX_TITLE | esc)
93
+ [ ${#ISSUE_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
94
+ BODY=$(printf '%s' "$ISSUE_BODY" | trunc $MAX_BODY | esc)
95
+ [ -n "$ISSUE_BODY" ] && [ ${#ISSUE_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
96
+ [ -n "$BODY" ] && BODY=" · $BODY"
97
+ USER=$(printf '%s' "$USER" | esc)
98
+
99
+ MSG="$ICON **[$LABEL #$ISSUE_NUM: $TITLE](<$ISSUE_URL>)**"$'\n'"by @$USER$BODY"
100
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
101
+
102
+ issue_comment:
103
+ if: github.event_name == 'issue_comment'
104
+ runs-on: ubuntu-latest
105
+ steps:
106
+ - uses: actions/checkout@v4
107
+ with:
108
+ ref: ${{ github.event.repository.default_branch }}
109
+ sparse-checkout: .github/scripts
110
+ sparse-checkout-cone-mode: false
111
+ - name: Notify Discord
112
+ env:
113
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
114
+ IS_PR: ${{ github.event.issue.pull_request && 'true' || 'false' }}
115
+ ISSUE_NUM: ${{ github.event.issue.number }}
116
+ ISSUE_TITLE: ${{ github.event.issue.title }}
117
+ COMMENT_URL: ${{ github.event.comment.html_url }}
118
+ COMMENT_USER: ${{ github.event.comment.user.login }}
119
+ COMMENT_BODY: ${{ github.event.comment.body }}
120
+ run: |
121
+ set -o pipefail
122
+ source .github/scripts/discord-helpers.sh
123
+ [ -z "$WEBHOOK" ] && exit 0
124
+
125
+ [ "$IS_PR" = "true" ] && TYPE="PR" || TYPE="Issue"
126
+
127
+ TITLE=$(printf '%s' "$ISSUE_TITLE" | trunc $MAX_TITLE | esc)
128
+ [ ${#ISSUE_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
129
+ BODY=$(printf '%s' "$COMMENT_BODY" | trunc $MAX_BODY | esc)
130
+ [ ${#COMMENT_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
131
+ USER=$(printf '%s' "$COMMENT_USER" | esc)
132
+
133
+ MSG="💬 **[Comment on $TYPE #$ISSUE_NUM: $TITLE](<$COMMENT_URL>)**"$'\n'"@$USER: $BODY"
134
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
135
+
136
+ pull_request_review:
137
+ if: github.event_name == 'pull_request_review'
138
+ runs-on: ubuntu-latest
139
+ steps:
140
+ - uses: actions/checkout@v4
141
+ with:
142
+ ref: ${{ github.event.repository.default_branch }}
143
+ sparse-checkout: .github/scripts
144
+ sparse-checkout-cone-mode: false
145
+ - name: Notify Discord
146
+ env:
147
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
148
+ STATE: ${{ github.event.review.state }}
149
+ PR_NUM: ${{ github.event.pull_request.number }}
150
+ PR_TITLE: ${{ github.event.pull_request.title }}
151
+ REVIEW_URL: ${{ github.event.review.html_url }}
152
+ REVIEW_USER: ${{ github.event.review.user.login }}
153
+ REVIEW_BODY: ${{ github.event.review.body }}
154
+ run: |
155
+ set -o pipefail
156
+ source .github/scripts/discord-helpers.sh
157
+ [ -z "$WEBHOOK" ] && exit 0
158
+
159
+ if [ "$STATE" = "approved" ]; then ICON="✅"; LABEL="Approved"
160
+ elif [ "$STATE" = "changes_requested" ]; then ICON="🔧"; LABEL="Changes Requested"
161
+ else ICON="👀"; LABEL="Reviewed"; fi
162
+
163
+ TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
164
+ [ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
165
+ BODY=$(printf '%s' "$REVIEW_BODY" | trunc $MAX_BODY | esc)
166
+ [ -n "$REVIEW_BODY" ] && [ ${#REVIEW_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
167
+ [ -n "$BODY" ] && BODY=": $BODY"
168
+ USER=$(printf '%s' "$REVIEW_USER" | esc)
169
+
170
+ MSG="$ICON **[$LABEL PR #$PR_NUM: $TITLE](<$REVIEW_URL>)**"$'\n'"@$USER$BODY"
171
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
172
+
173
+ pull_request_review_comment:
174
+ if: github.event_name == 'pull_request_review_comment'
175
+ runs-on: ubuntu-latest
176
+ steps:
177
+ - uses: actions/checkout@v4
178
+ with:
179
+ ref: ${{ github.event.repository.default_branch }}
180
+ sparse-checkout: .github/scripts
181
+ sparse-checkout-cone-mode: false
182
+ - name: Notify Discord
183
+ env:
184
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
185
+ PR_NUM: ${{ github.event.pull_request.number }}
186
+ PR_TITLE: ${{ github.event.pull_request.title }}
187
+ COMMENT_URL: ${{ github.event.comment.html_url }}
188
+ COMMENT_USER: ${{ github.event.comment.user.login }}
189
+ COMMENT_BODY: ${{ github.event.comment.body }}
190
+ run: |
191
+ set -o pipefail
192
+ source .github/scripts/discord-helpers.sh
193
+ [ -z "$WEBHOOK" ] && exit 0
194
+
195
+ TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
196
+ [ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
197
+ BODY=$(printf '%s' "$COMMENT_BODY" | trunc $MAX_BODY | esc)
198
+ [ ${#COMMENT_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
199
+ USER=$(printf '%s' "$COMMENT_USER" | esc)
200
+
201
+ MSG="💭 **[Review Comment PR #$PR_NUM: $TITLE](<$COMMENT_URL>)**"$'\n'"@$USER: $BODY"
202
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
203
+
204
+ release:
205
+ if: github.event_name == 'release'
206
+ runs-on: ubuntu-latest
207
+ steps:
208
+ - uses: actions/checkout@v4
209
+ with:
210
+ ref: ${{ github.event.repository.default_branch }}
211
+ sparse-checkout: .github/scripts
212
+ sparse-checkout-cone-mode: false
213
+ - name: Notify Discord
214
+ env:
215
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
216
+ TAG: ${{ github.event.release.tag_name }}
217
+ NAME: ${{ github.event.release.name }}
218
+ URL: ${{ github.event.release.html_url }}
219
+ RELEASE_BODY: ${{ github.event.release.body }}
220
+ run: |
221
+ set -o pipefail
222
+ source .github/scripts/discord-helpers.sh
223
+ [ -z "$WEBHOOK" ] && exit 0
224
+
225
+ REL_NAME=$(printf '%s' "$NAME" | trunc $MAX_TITLE | esc)
226
+ [ ${#NAME} -gt $MAX_TITLE ] && REL_NAME="${REL_NAME}..."
227
+ BODY=$(printf '%s' "$RELEASE_BODY" | trunc $MAX_BODY | esc)
228
+ [ -n "$RELEASE_BODY" ] && [ ${#RELEASE_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
229
+ [ -n "$BODY" ] && BODY=" · $BODY"
230
+ TAG_ESC=$(printf '%s' "$TAG" | esc)
231
+
232
+ MSG="🚀 **[Release $TAG_ESC: $REL_NAME](<$URL>)**"$'\n'"$BODY"
233
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
234
+
235
+ create:
236
+ if: github.event_name == 'create'
237
+ runs-on: ubuntu-latest
238
+ steps:
239
+ - uses: actions/checkout@v4
240
+ with:
241
+ ref: ${{ github.event.repository.default_branch }}
242
+ sparse-checkout: .github/scripts
243
+ sparse-checkout-cone-mode: false
244
+ - name: Notify Discord
245
+ env:
246
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
247
+ REF_TYPE: ${{ github.event.ref_type }}
248
+ REF: ${{ github.event.ref }}
249
+ ACTOR: ${{ github.actor }}
250
+ REPO_URL: ${{ github.event.repository.html_url }}
251
+ run: |
252
+ set -o pipefail
253
+ source .github/scripts/discord-helpers.sh
254
+ [ -z "$WEBHOOK" ] && exit 0
255
+
256
+ [ "$REF_TYPE" = "branch" ] && ICON="🌿" || ICON="🏷️"
257
+ REF_TRUNC=$(printf '%s' "$REF" | trunc $MAX_TITLE)
258
+ [ ${#REF} -gt $MAX_TITLE ] && REF_TRUNC="${REF_TRUNC}..."
259
+ REF_ESC=$(printf '%s' "$REF_TRUNC" | esc)
260
+ REF_URL=$(jq -rn --arg ref "$REF" '$ref | @uri')
261
+ ACTOR_ESC=$(printf '%s' "$ACTOR" | esc)
262
+ MSG="$ICON **${REF_TYPE^} created: [$REF_ESC](<$REPO_URL/tree/$REF_URL>)** by @$ACTOR_ESC"
263
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
264
+
265
+ delete:
266
+ if: github.event_name == 'delete'
267
+ runs-on: ubuntu-latest
268
+ steps:
269
+ - name: Notify Discord
270
+ env:
271
+ WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
272
+ REF_TYPE: ${{ github.event.ref_type }}
273
+ REF: ${{ github.event.ref }}
274
+ ACTOR: ${{ github.actor }}
275
+ run: |
276
+ set -o pipefail
277
+ [ -z "$WEBHOOK" ] && exit 0
278
+ esc() { sed -e 's/[][\*_()~`>]/\\&/g' -e 's/@/@ /g'; }
279
+ trunc() { tr '\n\r' ' ' | cut -c1-"$1"; }
280
+
281
+ REF_TRUNC=$(printf '%s' "$REF" | trunc 100)
282
+ [ ${#REF} -gt 100 ] && REF_TRUNC="${REF_TRUNC}..."
283
+ REF_ESC=$(printf '%s' "$REF_TRUNC" | esc)
284
+ ACTOR_ESC=$(printf '%s' "$ACTOR" | esc)
285
+ MSG="🗑️ **${REF_TYPE^} deleted: $REF_ESC** by @$ACTOR_ESC"
286
+ jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
@@ -3,6 +3,7 @@ name: Quality & Validation
3
3
  # Runs comprehensive quality checks on all PRs:
4
4
  # - Prettier (formatting)
5
5
  # - ESLint (linting)
6
+ # - markdownlint (markdown quality)
6
7
  # - Schema validation (YAML structure)
7
8
  # - Agent schema tests (fixture-based validation)
8
9
  # - Installation component tests (compilation)
@@ -50,6 +51,24 @@ jobs:
50
51
  - name: ESLint
51
52
  run: npm run lint
52
53
 
54
+ markdownlint:
55
+ runs-on: ubuntu-latest
56
+ steps:
57
+ - name: Checkout
58
+ uses: actions/checkout@v4
59
+
60
+ - name: Setup Node
61
+ uses: actions/setup-node@v4
62
+ with:
63
+ node-version-file: ".nvmrc"
64
+ cache: "npm"
65
+
66
+ - name: Install dependencies
67
+ run: npm ci
68
+
69
+ - name: markdownlint
70
+ run: npm run lint:md
71
+
53
72
  validate:
54
73
  runs-on: ubuntu-latest
55
74
  steps:
@@ -0,0 +1,42 @@
1
+ # markdownlint-cli2 configuration
2
+ # https://github.com/DavidAnson/markdownlint-cli2
3
+
4
+ ignores:
5
+ - node_modules/**
6
+ - test/fixtures/**
7
+ - CODE_OF_CONDUCT.md
8
+ - .bmad/**
9
+ - .bmad*/**
10
+ - .agent/**
11
+ - .claude/**
12
+ - .roo/**
13
+ - .codex/**
14
+ - .agentvibes/**
15
+ - .kiro/**
16
+ - sample-project/**
17
+ - test-project-install/**
18
+ - z*/**
19
+
20
+ # Rule configuration
21
+ config:
22
+ # Disable all rules by default
23
+ default: false
24
+
25
+ # Heading levels should increment by one (h1 -> h2 -> h3, not h1 -> h3)
26
+ MD001: true
27
+
28
+ # Duplicate sibling headings (same heading text at same level under same parent)
29
+ MD024:
30
+ siblings_only: true
31
+
32
+ # Trailing commas in headings (likely typos)
33
+ MD026:
34
+ punctuation: ","
35
+
36
+ # Bare URLs - may not render as links in all parsers
37
+ # Should use <url> or [text](url) format
38
+ MD034: true
39
+
40
+ # Spaces inside emphasis markers - breaks rendering
41
+ # e.g., "* text *" won't render as emphasis
42
+ MD037: true
package/.prettierignore CHANGED
@@ -1,6 +1,9 @@
1
1
  # Test fixtures with intentionally broken/malformed files
2
2
  test/fixtures/**
3
3
 
4
+ # Contributor Covenant (external standard)
5
+ CODE_OF_CONDUCT.md
6
+
4
7
  # BMAD runtime folders (user-specific, not in repo)
5
8
  .bmad/
6
9
  .bmad*/
package/CHANGELOG.md CHANGED
@@ -1,5 +1,100 @@
1
1
  # Changelog
2
2
 
3
+ ## [6.0.0-alpha.14]
4
+
5
+ **Release: December 7, 2025**
6
+
7
+ ### 🔧 Installation & Configuration Revolution
8
+
9
+ **Custom Module Installation Overhaul:**
10
+
11
+ - **Simple custom.yaml Installation**: Custom agents and workflows can now be installed with a single YAML file
12
+ - **IDE Configuration Preservation**: Upgrades will no longer delete custom modules, agents, and workflows from IDE configuration
13
+ - **Removed Legacy agent-install Command**: Streamlined installation process (BREAKING CHANGE)
14
+ - **Sidecar File Retention**: Custom sidecar files are preserved during updates
15
+ - **Flexible Agent Sidecar Locations**: Fully configurable via config options instead of hardcoded paths
16
+
17
+ **Module Discovery System Transformation:**
18
+
19
+ - **Recursive Agent Discovery**: Deep scanning for agents across entire project structure
20
+ - **Enhanced Manifest Generation**: Comprehensive scanning of all installed modules
21
+ - **Nested Agent Support**: Fixed nested agents appearing in CLI commands
22
+ - **Module Reinstall Fix**: Prevented modules from showing as obsolete during reinstall
23
+
24
+ ### 🏗️ Advanced Builder Features
25
+
26
+ **Workflow Builder Evolution:**
27
+
28
+ - **Continuable Workflows**: Create workflows with sophisticated branching and continuation logic
29
+ - **Template LOD Options**: Level of Detail output options for flexible workflow generation
30
+ - **Step-Based Architecture**: Complete conversion to granular step-file system
31
+ - **Enhanced Creation Process**: Improved workflow creation with better template handling
32
+
33
+ **Module Builder Revolution:**
34
+
35
+ - **11-Step Module Creation**: Comprehensive step-by-step module generation process
36
+ - **Production-Ready Templates**: Complete templates for agents, installers, and workflow plans
37
+ - **Built-in Validation System**: Ensures module quality and BMad Core compliance
38
+ - **Professional Documentation**: Auto-generated module documentation and structure
39
+
40
+ ### 🚀 BMad Method (BMM) Enhancements
41
+
42
+ **Workflow Improvements:**
43
+
44
+ - **Brownfield PRD Support**: Enhanced PRD workflow for existing project integration
45
+ - **Sprint Status Command**: New workflow for tracking development progress
46
+ - **Step-Based Format**: Improved continue functionality across all workflows
47
+ - **Quick-Spec-Flow Documentation**: Rapid development specification flows
48
+
49
+ **Documentation Revolution:**
50
+
51
+ - **Comprehensive Troubleshooting Guide**: 680-line detailed troubleshooting documentation
52
+ - **Quality Check Integration**: Added markdownlint-cli2 for markdown quality assurance
53
+ - **Enhanced Test Architecture**: Improved CI/CD templates and testing workflows
54
+
55
+ ### 🌟 New Features & Integrations
56
+
57
+ **Kiro-Cli Installer:**
58
+
59
+ - **Intelligent Routing**: Smart routing to quick-dev workflow
60
+ - **BMad Core Compliance**: Full compliance with BMad standards
61
+
62
+ **Discord Notifications:**
63
+
64
+ - **Compact Format**: Streamlined plain-text notifications
65
+ - **Bug Fixes**: Resolved notification delivery issues
66
+
67
+ **Example Mental Wellness Module (MWM):**
68
+
69
+ - **Complete Module Example**: Demonstrates advanced module patterns
70
+ - **Multiple Agents**: CBT Coach, Crisis Navigator, Meditation Guide, Wellness Companion
71
+ - **Workflow Showcase**: Crisis support, daily check-in, meditation, journaling workflows
72
+
73
+ ### 🐛 Bug Fixes & Optimizations
74
+
75
+ - Fixed version reading from package.json instead of hardcoded fallback
76
+ - Removed hardcoded years from WebSearch queries
77
+ - Removed broken build caching mechanism
78
+ - Fixed hardcoded 'bmad' prefix from files-manifest.csv paths
79
+ - Enhanced TTS injection summary with tracking and documentation
80
+ - Fixed CI nvmrc configuration issues
81
+
82
+ ### 📊 Statistics
83
+
84
+ - **335 files changed** with 17,161 additions and 8,204 deletions
85
+ - **46 commits** since alpha.13
86
+
87
+ ### ⚠️ Breaking Changes
88
+
89
+ 1. **Removed agent-install Command**: Migrate to new custom.yaml installation system
90
+ 2. **Agent Sidecar Configuration**: Now requires explicit config instead of hardcoded paths
91
+
92
+ ### 📦 New Dependencies
93
+
94
+ - `markdownlint-cli2: ^0.19.1` - Professional markdown linting
95
+
96
+ ---
97
+
3
98
  ## [6.0.0-alpha.13]
4
99
 
5
100
  **Release: November 30, 2025**
@@ -0,0 +1,128 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ * Demonstrating empathy and kindness toward other people
21
+ * Being respectful of differing opinions, viewpoints, and experiences
22
+ * Giving and gracefully accepting constructive feedback
23
+ * Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ * Focusing on what is best not just for us as individuals, but for the
26
+ overall community
27
+
28
+ Examples of unacceptable behavior include:
29
+
30
+ * The use of sexualized language or imagery, and sexual attention or
31
+ advances of any kind
32
+ * Trolling, insulting or derogatory comments, and personal or political attacks
33
+ * Public or private harassment
34
+ * Publishing others' private information, such as a physical or email
35
+ address, without their explicit permission
36
+ * Other conduct which could reasonably be considered inappropriate in a
37
+ professional setting
38
+
39
+ ## Enforcement Responsibilities
40
+
41
+ Community leaders are responsible for clarifying and enforcing our standards of
42
+ acceptable behavior and will take appropriate and fair corrective action in
43
+ response to any behavior that they deem inappropriate, threatening, offensive,
44
+ or harmful.
45
+
46
+ Community leaders have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
49
+ decisions when appropriate.
50
+
51
+ ## Scope
52
+
53
+ This Code of Conduct applies within all community spaces, and also applies when
54
+ an individual is officially representing the community in public spaces.
55
+ Examples of representing our community include using an official e-mail address,
56
+ posting via an official social media account, or acting as an appointed
57
+ representative at an online or offline event.
58
+
59
+ ## Enforcement
60
+
61
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
+ reported to the community leaders responsible for enforcement at
63
+ the official BMAD Discord server (https://discord.com/invite/gk8jAdXWmj) - DM a moderator or flag a post.
64
+ All complaints will be reviewed and investigated promptly and fairly.
65
+
66
+ All community leaders are obligated to respect the privacy and security of the
67
+ reporter of any incident.
68
+
69
+ ## Enforcement Guidelines
70
+
71
+ Community leaders will follow these Community Impact Guidelines in determining
72
+ the consequences for any action they deem in violation of this Code of Conduct:
73
+
74
+ ### 1. Correction
75
+
76
+ **Community Impact**: Use of inappropriate language or other behavior deemed
77
+ unprofessional or unwelcome in the community.
78
+
79
+ **Consequence**: A private, written warning from community leaders, providing
80
+ clarity around the nature of the violation and an explanation of why the
81
+ behavior was inappropriate. A public apology may be requested.
82
+
83
+ ### 2. Warning
84
+
85
+ **Community Impact**: A violation through a single incident or series
86
+ of actions.
87
+
88
+ **Consequence**: A warning with consequences for continued behavior. No
89
+ interaction with the people involved, including unsolicited interaction with
90
+ those enforcing the Code of Conduct, for a specified period of time. This
91
+ includes avoiding interactions in community spaces as well as external channels
92
+ like social media. Violating these terms may lead to a temporary or
93
+ permanent ban.
94
+
95
+ ### 3. Temporary Ban
96
+
97
+ **Community Impact**: A serious violation of community standards, including
98
+ sustained inappropriate behavior.
99
+
100
+ **Consequence**: A temporary ban from any sort of interaction or public
101
+ communication with the community for a specified period of time. No public or
102
+ private interaction with the people involved, including unsolicited interaction
103
+ with those enforcing the Code of Conduct, is allowed during this period.
104
+ Violating these terms may lead to a permanent ban.
105
+
106
+ ### 4. Permanent Ban
107
+
108
+ **Community Impact**: Demonstrating a pattern of violation of community
109
+ standards, including sustained inappropriate behavior, harassment of an
110
+ individual, or aggression toward or disparagement of classes of individuals.
111
+
112
+ **Consequence**: A permanent ban from any sort of public interaction within
113
+ the community.
114
+
115
+ ## Attribution
116
+
117
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
+ version 2.0, available at
119
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120
+
121
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
122
+ enforcement ladder](https://github.com/mozilla/diversity).
123
+
124
+ [homepage]: https://www.contributor-covenant.org
125
+
126
+ For answers to common questions about this code of conduct, see the FAQ at
127
+ https://www.contributor-covenant.org/faq. Translations are available at
128
+ https://www.contributor-covenant.org/translations.
Binary file
@@ -138,10 +138,10 @@ critical_actions:
138
138
  # {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml
139
139
  menu:
140
140
  - trigger: deploy-staging
141
- workflow: '{project-root}/.bmad-custom/deploy-staging.yaml'
141
+ workflow: '{project-root}/{bmad_folder}/deploy-staging.yaml'
142
142
  description: Deploy to staging environment
143
143
  - trigger: deploy-prod
144
- workflow: '{project-root}/.bmad-custom/deploy-prod.yaml'
144
+ workflow: '{project-root}/{bmad_folder}/deploy-prod.yaml'
145
145
  description: Deploy to production (with approval)
146
146
  ```
147
147