bmad-method 6.0.0-alpha.21 → 6.0.0-alpha.23

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 (812) hide show
  1. package/.coderabbit.yaml +2 -2
  2. package/.github/workflows/docs.yaml +3 -12
  3. package/.vscode/settings.json +1 -0
  4. package/CHANGELOG.md +309 -0
  5. package/CNAME +1 -0
  6. package/CONTRIBUTING.md +9 -7
  7. package/README.md +41 -207
  8. package/docs/404.md +9 -0
  9. package/{src/modules/bmm/docs/images/README.md → docs/_README_WORKFLOW_DIAGRAMS.md} +4 -1
  10. package/docs/_STYLE_GUIDE.md +347 -0
  11. package/docs/_archive/getting-started-bmadv4.md +247 -0
  12. package/{website/src/pages → docs}/downloads.md +17 -26
  13. package/{src/modules/bmm/docs/quick-flow-solo-dev.md → docs/explanation/agents/barry-quick-flow.md} +18 -15
  14. package/docs/explanation/agents/index.md +28 -0
  15. package/docs/explanation/architecture/four-phases.md +126 -0
  16. package/docs/explanation/architecture/preventing-agent-conflicts.md +138 -0
  17. package/docs/explanation/architecture/why-solutioning-matters.md +91 -0
  18. package/docs/{custom-content.md → explanation/bmad-builder/custom-content-types.md} +19 -21
  19. package/docs/explanation/bmad-builder/index.md +66 -0
  20. package/docs/explanation/bmm/index.md +135 -0
  21. package/docs/explanation/core/index.md +18 -0
  22. package/docs/explanation/core-concepts/agent-roles.md +204 -0
  23. package/docs/explanation/core-concepts/index.md +40 -0
  24. package/docs/explanation/core-concepts/what-are-agents.md +96 -0
  25. package/docs/explanation/core-concepts/what-are-modules.md +79 -0
  26. package/docs/explanation/core-concepts/what-are-workflows.md +217 -0
  27. package/{src/modules/cis/docs → docs/explanation/creative-intelligence}/index.md +26 -54
  28. package/docs/explanation/faq/brownfield-faq.md +73 -0
  29. package/docs/explanation/faq/getting-started-faq.md +62 -0
  30. package/docs/explanation/faq/implementation-faq.md +52 -0
  31. package/docs/explanation/faq/index.md +16 -0
  32. package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
  33. package/docs/explanation/faq/planning-faq.md +41 -0
  34. package/docs/explanation/faq/tools-faq.md +253 -0
  35. package/docs/explanation/faq/workflows-faq.md +61 -0
  36. package/docs/explanation/features/advanced-elicitation.md +108 -0
  37. package/docs/explanation/features/brainstorming-techniques.md +103 -0
  38. package/{src/modules/bmm/docs → docs/explanation/features}/party-mode.md +11 -123
  39. package/docs/explanation/features/quick-flow.md +169 -0
  40. package/{src/modules/bmm/docs/test-architecture.md → docs/explanation/features/tea-overview.md} +160 -118
  41. package/docs/explanation/features/web-bundles.md +35 -0
  42. package/{src/modules/bmgd/docs/agents-guide.md → docs/explanation/game-dev/agents.md} +8 -5
  43. package/docs/explanation/game-dev/bmgd-vs-bmm.md +150 -0
  44. package/{src/modules/bmgd/docs/game-types-guide.md → docs/explanation/game-dev/game-types.md} +7 -4
  45. package/docs/explanation/game-dev/index.md +85 -0
  46. package/docs/explanation/philosophy/facilitation-over-generation.md +121 -0
  47. package/docs/explanation/philosophy/testing-as-engineering.md +119 -0
  48. package/docs/how-to/brownfield/add-feature-to-existing.md +91 -0
  49. package/docs/how-to/brownfield/document-existing-project.md +84 -0
  50. package/docs/how-to/brownfield/index.md +102 -0
  51. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +94 -0
  52. package/docs/{agent-customization-guide.md → how-to/customization/customize-agents.md} +10 -10
  53. package/docs/how-to/customization/customize-workflows.md +33 -0
  54. package/docs/how-to/customization/index.md +27 -0
  55. package/docs/how-to/customization/shard-large-documents.md +125 -0
  56. package/docs/how-to/customization/vendor-workflows.md +45 -0
  57. package/docs/how-to/get-answers-about-bmad.md +98 -0
  58. package/docs/how-to/installation/index.md +15 -0
  59. package/docs/how-to/installation/install-bmad.md +138 -0
  60. package/docs/{custom-content-installation.md → how-to/installation/install-custom-modules.md} +17 -14
  61. package/docs/how-to/installation/upgrade-to-v6.md +147 -0
  62. package/{src/modules/bmgd/docs/troubleshooting.md → docs/how-to/troubleshooting/bmgd-troubleshooting.md} +7 -5
  63. package/{src/modules/bmgd/docs/quick-flow-guide.md → docs/how-to/workflows/bmgd-quick-flow.md} +8 -5
  64. package/docs/how-to/workflows/conduct-research.md +130 -0
  65. package/docs/how-to/workflows/create-architecture.md +147 -0
  66. package/docs/how-to/workflows/create-epics-and-stories.md +136 -0
  67. package/docs/how-to/workflows/create-prd.md +130 -0
  68. package/docs/how-to/workflows/create-product-brief.md +117 -0
  69. package/docs/how-to/workflows/create-story.md +119 -0
  70. package/docs/how-to/workflows/create-ux-design.md +117 -0
  71. package/docs/how-to/workflows/implement-story.md +127 -0
  72. package/docs/how-to/workflows/quick-spec.md +159 -0
  73. package/docs/how-to/workflows/run-brainstorming-session.md +94 -0
  74. package/docs/how-to/workflows/run-code-review.md +141 -0
  75. package/docs/how-to/workflows/run-implementation-readiness.md +162 -0
  76. package/docs/how-to/workflows/run-sprint-planning.md +111 -0
  77. package/docs/how-to/workflows/run-test-design.md +128 -0
  78. package/docs/how-to/workflows/setup-party-mode.md +117 -0
  79. package/docs/how-to/workflows/setup-test-framework.md +113 -0
  80. package/docs/index.md +33 -113
  81. package/{src/modules/bmm/docs/agents-guide.md → docs/reference/agents/index.md} +36 -39
  82. package/docs/reference/configuration/core-tasks.md +67 -0
  83. package/docs/reference/configuration/global-config.md +14 -0
  84. package/{src/modules/bmm/docs/glossary.md → docs/reference/glossary/index.md} +90 -24
  85. package/{src/modules/bmgd/docs/workflows-guide.md → docs/reference/workflows/bmgd-workflows.md} +11 -8
  86. package/docs/reference/workflows/core-workflows.md +33 -0
  87. package/docs/reference/workflows/document-project.md +74 -0
  88. package/docs/reference/workflows/index.md +16 -0
  89. package/docs/tutorials/advanced/create-custom-agent.md +171 -0
  90. package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
  91. package/docs/tutorials/getting-started/quick-start-bmgd.md +260 -0
  92. package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
  93. package/eslint.config.mjs +2 -2
  94. package/package.json +10 -10
  95. package/samples/sample-custom-modules/README.md +1 -1
  96. package/samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +1 -0
  97. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +0 -5
  98. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +1 -1
  99. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +1 -1
  100. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +3 -3
  101. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md +3 -3
  102. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md +3 -3
  103. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md +3 -3
  104. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md +3 -3
  105. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md +3 -3
  106. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md +3 -3
  107. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md +3 -3
  108. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md +3 -3
  109. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md +3 -3
  110. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md +3 -3
  111. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md +2 -2
  112. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +1 -1
  113. package/samples/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml +1 -0
  114. package/src/core/agents/bmad-master.agent.yaml +1 -0
  115. package/src/core/{tools → tasks}/shard-doc.xml +2 -2
  116. package/src/core/tasks/workflow.xml +1 -1
  117. package/src/core/{tasks/advanced-elicitation.xml → workflows/advanced-elicitation/workflow.xml} +3 -2
  118. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +1 -0
  119. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +1 -0
  120. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +1 -0
  121. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +1 -0
  122. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +1 -0
  123. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +1 -0
  124. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +69 -9
  125. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +1 -0
  126. package/src/core/workflows/brainstorming/workflow.md +8 -1
  127. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +1 -0
  128. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +1 -0
  129. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +1 -0
  130. package/src/core/workflows/party-mode/workflow.md +1 -1
  131. package/src/modules/bmb/agents/agent-builder.agent.yaml +7 -2
  132. package/src/modules/bmb/agents/module-builder.agent.yaml +5 -8
  133. package/src/modules/bmb/agents/workflow-builder.agent.yaml +16 -7
  134. package/src/modules/bmb/workflows/agent/data/agent-compilation.md +273 -0
  135. package/src/modules/bmb/workflows/agent/data/agent-menu-patterns.md +233 -0
  136. package/src/modules/bmb/workflows/agent/data/agent-metadata.md +208 -0
  137. package/src/modules/bmb/workflows/{create-agent → agent}/data/brainstorm-context.md +3 -10
  138. package/src/modules/bmb/workflows/{create-agent → agent}/data/communication-presets.csv +1 -1
  139. package/src/modules/bmb/workflows/agent/data/critical-actions.md +120 -0
  140. package/src/modules/bmb/workflows/agent/data/expert-agent-architecture.md +236 -0
  141. package/src/modules/bmb/workflows/agent/data/expert-agent-validation.md +174 -0
  142. package/src/modules/bmb/workflows/agent/data/module-agent-validation.md +126 -0
  143. package/src/modules/bmb/workflows/agent/data/persona-properties.md +266 -0
  144. package/src/modules/bmb/workflows/agent/data/principles-crafting.md +292 -0
  145. package/src/modules/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +17 -0
  146. package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/expert-examples/journal-keeper/journal-keeper.agent.yaml +26 -25
  147. package/src/modules/bmb/workflows/agent/data/reference/module-examples/architect.agent.yaml +32 -0
  148. package/src/modules/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -0
  149. package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/module-examples/security-engineer.agent.yaml +1 -0
  150. package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/module-examples/trend-analyst.agent.yaml +1 -0
  151. package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/simple-examples/commit-poet.agent.yaml +15 -14
  152. package/src/modules/bmb/workflows/agent/data/simple-agent-architecture.md +204 -0
  153. package/src/modules/bmb/workflows/agent/data/simple-agent-validation.md +133 -0
  154. package/src/modules/bmb/workflows/agent/data/understanding-agent-types.md +222 -0
  155. package/src/modules/bmb/workflows/{create-agent/steps → agent/steps-c}/step-01-brainstorm.md +9 -26
  156. package/src/modules/bmb/workflows/agent/steps-c/step-02-discovery.md +170 -0
  157. package/src/modules/bmb/workflows/agent/steps-c/step-03-type-metadata.md +296 -0
  158. package/src/modules/bmb/workflows/agent/steps-c/step-04-persona.md +212 -0
  159. package/src/modules/bmb/workflows/agent/steps-c/step-05-commands-menu.md +178 -0
  160. package/src/modules/bmb/workflows/agent/steps-c/step-06-activation.md +279 -0
  161. package/src/modules/bmb/workflows/agent/steps-c/step-07a-build-simple.md +187 -0
  162. package/src/modules/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -0
  163. package/src/modules/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -0
  164. package/src/modules/bmb/workflows/agent/steps-c/step-08-celebrate.md +249 -0
  165. package/src/modules/bmb/workflows/agent/steps-e/e-01-load-existing.md +221 -0
  166. package/src/modules/bmb/workflows/agent/steps-e/e-02-discover-edits.md +193 -0
  167. package/src/modules/bmb/workflows/agent/steps-e/e-03-placeholder.md +1 -0
  168. package/src/modules/bmb/workflows/agent/steps-e/e-04-type-metadata.md +124 -0
  169. package/src/modules/bmb/workflows/agent/steps-e/e-05-persona.md +134 -0
  170. package/src/modules/bmb/workflows/agent/steps-e/e-06-commands-menu.md +122 -0
  171. package/src/modules/bmb/workflows/agent/steps-e/e-07-activation.md +125 -0
  172. package/src/modules/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +137 -0
  173. package/src/modules/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +119 -0
  174. package/src/modules/bmb/workflows/agent/steps-e/e-08c-edit-module.md +123 -0
  175. package/src/modules/bmb/workflows/agent/steps-e/e-09-celebrate.md +155 -0
  176. package/src/modules/bmb/workflows/agent/steps-v/v-01-load-review.md +136 -0
  177. package/src/modules/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +116 -0
  178. package/src/modules/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +124 -0
  179. package/src/modules/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +145 -0
  180. package/src/modules/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +136 -0
  181. package/src/modules/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +136 -0
  182. package/src/modules/bmb/workflows/agent/steps-v/v-03-summary.md +104 -0
  183. package/src/modules/bmb/workflows/agent/templates/agent-plan.template.md +5 -0
  184. package/src/modules/bmb/workflows/agent/templates/expert-agent-template/expert-agent-sidecar/instructions.md.template +20 -0
  185. package/src/modules/bmb/workflows/agent/templates/expert-agent-template/expert-agent-sidecar/memories.md.template +18 -0
  186. package/src/modules/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +77 -0
  187. package/src/modules/bmb/workflows/agent/templates/simple-agent.template.md +72 -0
  188. package/src/modules/bmb/workflows/agent/workflow.md +123 -0
  189. package/src/modules/bmb/workflows/module/data/agent-architecture.md +179 -0
  190. package/src/modules/bmb/workflows/module/data/agent-spec-template.md +79 -0
  191. package/src/modules/bmb/workflows/module/data/module-installer-standards.md +348 -0
  192. package/src/modules/bmb/workflows/module/data/module-standards.md +280 -0
  193. package/src/modules/bmb/workflows/module/data/module-yaml-conventions.md +392 -0
  194. package/src/modules/bmb/workflows/module/steps-b/step-01-welcome.md +147 -0
  195. package/src/modules/bmb/workflows/module/steps-b/step-02-spark.md +140 -0
  196. package/src/modules/bmb/workflows/module/steps-b/step-03-module-type.md +148 -0
  197. package/src/modules/bmb/workflows/module/steps-b/step-04-vision.md +82 -0
  198. package/src/modules/bmb/workflows/module/steps-b/step-05-identity.md +96 -0
  199. package/src/modules/bmb/workflows/module/steps-b/step-06-users.md +85 -0
  200. package/src/modules/bmb/workflows/module/steps-b/step-07-value.md +75 -0
  201. package/src/modules/bmb/workflows/module/steps-b/step-08-agents.md +96 -0
  202. package/src/modules/bmb/workflows/module/steps-b/step-09-workflows.md +82 -0
  203. package/src/modules/bmb/workflows/module/steps-b/step-10-tools.md +90 -0
  204. package/src/modules/bmb/workflows/module/steps-b/step-11-scenarios.md +83 -0
  205. package/src/modules/bmb/workflows/module/steps-b/step-12-creative.md +94 -0
  206. package/src/modules/bmb/workflows/module/steps-b/step-13-review.md +104 -0
  207. package/src/modules/bmb/workflows/module/steps-b/step-14-finalize.md +117 -0
  208. package/src/modules/bmb/workflows/module/steps-c/step-01-load-brief.md +178 -0
  209. package/src/modules/bmb/workflows/module/steps-c/step-01b-continue.md +83 -0
  210. package/src/modules/bmb/workflows/module/steps-c/step-02-structure.md +109 -0
  211. package/src/modules/bmb/workflows/module/steps-c/step-03-config.md +118 -0
  212. package/src/modules/bmb/workflows/module/steps-c/step-04-installer.md +160 -0
  213. package/src/modules/bmb/workflows/module/steps-c/step-05-agents.md +167 -0
  214. package/src/modules/bmb/workflows/module/steps-c/step-06-workflows.md +183 -0
  215. package/src/modules/bmb/workflows/module/steps-c/step-07-docs.md +402 -0
  216. package/src/modules/bmb/workflows/module/steps-c/step-08-complete.md +123 -0
  217. package/src/modules/bmb/workflows/module/steps-e/step-01-load-target.md +81 -0
  218. package/src/modules/bmb/workflows/module/steps-e/step-02-select-edit.md +77 -0
  219. package/src/modules/bmb/workflows/module/steps-e/step-03-apply-edit.md +77 -0
  220. package/src/modules/bmb/workflows/module/steps-e/step-04-review.md +80 -0
  221. package/src/modules/bmb/workflows/module/steps-e/step-05-confirm.md +75 -0
  222. package/src/modules/bmb/workflows/module/steps-v/step-01-load-target.md +96 -0
  223. package/src/modules/bmb/workflows/module/steps-v/step-02-file-structure.md +94 -0
  224. package/src/modules/bmb/workflows/module/steps-v/step-03-module-yaml.md +99 -0
  225. package/src/modules/bmb/workflows/module/steps-v/step-04-agent-specs.md +152 -0
  226. package/src/modules/bmb/workflows/module/steps-v/step-05-workflow-specs.md +152 -0
  227. package/src/modules/bmb/workflows/module/steps-v/step-06-documentation.md +143 -0
  228. package/src/modules/bmb/workflows/module/steps-v/step-07-installation.md +113 -0
  229. package/src/modules/bmb/workflows/module/steps-v/step-08-report.md +197 -0
  230. package/src/modules/bmb/workflows/module/templates/brief-template.md +154 -0
  231. package/src/modules/bmb/workflows/module/templates/workflow-spec-template.md +96 -0
  232. package/src/modules/bmb/workflows/module/workflow.md +100 -0
  233. package/src/modules/bmb/workflows/workflow/data/architecture.md +152 -0
  234. package/src/modules/bmb/{docs/workflows → workflows/workflow/data}/common-workflow-tools.csv +1 -1
  235. package/src/modules/bmb/workflows/workflow/data/csv-data-file-standards.md +81 -0
  236. package/src/modules/bmb/workflows/workflow/data/frontmatter-standards.md +225 -0
  237. package/src/modules/bmb/workflows/workflow/data/input-discovery-standards.md +269 -0
  238. package/src/modules/bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md +50 -0
  239. package/src/modules/bmb/workflows/workflow/data/menu-handling-standards.md +167 -0
  240. package/src/modules/bmb/workflows/workflow/data/output-format-standards.md +188 -0
  241. package/src/modules/bmb/workflows/workflow/data/step-file-rules.md +235 -0
  242. package/src/modules/bmb/workflows/workflow/data/step-type-patterns.md +311 -0
  243. package/src/modules/bmb/workflows/workflow/data/subprocess-optimization-patterns.md +386 -0
  244. package/src/modules/bmb/workflows/workflow/data/trimodal-workflow-structure.md +209 -0
  245. package/src/modules/bmb/workflows/workflow/data/workflow-chaining-standards.md +271 -0
  246. package/src/modules/bmb/workflows/workflow/data/workflow-examples.md +276 -0
  247. package/src/modules/bmb/workflows/workflow/data/workflow-type-criteria.md +172 -0
  248. package/src/modules/bmb/workflows/workflow/steps-c/step-00-conversion.md +262 -0
  249. package/src/modules/bmb/workflows/workflow/steps-c/step-01-discovery.md +194 -0
  250. package/src/modules/bmb/workflows/workflow/steps-c/step-01b-continuation.md +3 -0
  251. package/src/modules/bmb/workflows/workflow/steps-c/step-02-classification.md +269 -0
  252. package/src/modules/bmb/workflows/workflow/steps-c/step-03-requirements.md +282 -0
  253. package/src/modules/bmb/workflows/workflow/steps-c/step-04-tools.md +281 -0
  254. package/src/modules/bmb/workflows/workflow/steps-c/step-05-plan-review.md +242 -0
  255. package/src/modules/bmb/workflows/{create-workflow/steps → workflow/steps-c}/step-06-design.md +96 -38
  256. package/src/modules/bmb/workflows/workflow/steps-c/step-07-foundation.md +238 -0
  257. package/src/modules/bmb/workflows/workflow/steps-c/step-08-build-step-01.md +377 -0
  258. package/src/modules/bmb/workflows/workflow/steps-c/step-09-build-next-step.md +350 -0
  259. package/src/modules/bmb/workflows/workflow/steps-c/step-10-confirmation.md +320 -0
  260. package/src/modules/bmb/workflows/workflow/steps-c/step-11-completion.md +191 -0
  261. package/src/modules/bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md +237 -0
  262. package/src/modules/bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md +248 -0
  263. package/src/modules/bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md +252 -0
  264. package/src/modules/bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md +275 -0
  265. package/src/modules/bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md +154 -0
  266. package/src/modules/bmb/workflows/workflow/steps-e/step-e-06-validate-after.md +190 -0
  267. package/src/modules/bmb/workflows/workflow/steps-e/step-e-07-complete.md +206 -0
  268. package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md +109 -0
  269. package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate.md +221 -0
  270. package/src/modules/bmb/workflows/workflow/steps-v/step-01b-structure.md +152 -0
  271. package/src/modules/bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md +199 -0
  272. package/src/modules/bmb/workflows/workflow/steps-v/step-02b-path-violations.md +265 -0
  273. package/src/modules/bmb/workflows/workflow/steps-v/step-03-menu-validation.md +164 -0
  274. package/src/modules/bmb/workflows/workflow/steps-v/step-04-step-type-validation.md +211 -0
  275. package/src/modules/bmb/workflows/workflow/steps-v/step-05-output-format-validation.md +200 -0
  276. package/src/modules/bmb/workflows/workflow/steps-v/step-06-validation-design-check.md +195 -0
  277. package/src/modules/bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md +209 -0
  278. package/src/modules/bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md +199 -0
  279. package/src/modules/bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md +179 -0
  280. package/src/modules/bmb/workflows/workflow/steps-v/step-09-cohesive-review.md +186 -0
  281. package/src/modules/bmb/workflows/workflow/steps-v/step-10-report-complete.md +154 -0
  282. package/src/modules/bmb/workflows/workflow/steps-v/step-11-plan-validation.md +237 -0
  283. package/src/modules/bmb/workflows/workflow/templates/minimal-output-template.md +11 -0
  284. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-01-init-continuable-template.md +3 -3
  285. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-1b-template.md +1 -1
  286. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-template.md +15 -15
  287. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/workflow-template.md +2 -4
  288. package/src/modules/bmb/workflows/workflow/workflow.md +109 -0
  289. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -0
  290. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -0
  291. package/src/modules/bmgd/agents/game-dev.agent.yaml +2 -1
  292. package/src/modules/bmgd/agents/game-qa.agent.yaml +2 -1
  293. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +2 -1
  294. package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +3 -2
  295. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
  296. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +5 -3
  297. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +4 -3
  298. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +52 -46
  299. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +2 -1
  300. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +5 -1
  301. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3 -3
  302. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +4 -3
  303. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +2 -1
  304. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +4 -3
  305. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +4 -3
  306. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +4 -3
  307. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +4 -3
  308. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +4 -3
  309. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +4 -3
  310. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +2 -1
  311. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +1 -0
  312. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +4 -3
  313. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +2 -1
  314. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +4 -3
  315. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +4 -3
  316. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +4 -3
  317. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +4 -3
  318. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +4 -3
  319. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +4 -3
  320. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +4 -3
  321. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +4 -3
  322. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +4 -3
  323. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +4 -3
  324. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +4 -3
  325. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +4 -3
  326. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +2 -1
  327. package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
  328. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +4 -3
  329. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +12 -11
  330. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +4 -3
  331. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +4 -3
  332. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +4 -3
  333. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +4 -3
  334. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +4 -3
  335. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +4 -3
  336. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +4 -3
  337. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +4 -3
  338. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +4 -3
  339. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +2 -1
  340. package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +2 -1
  341. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +4 -3
  342. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +10 -9
  343. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +4 -3
  344. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +4 -3
  345. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +4 -3
  346. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +4 -3
  347. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +6 -5
  348. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +4 -3
  349. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +6 -5
  350. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +2 -1
  351. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +2 -1
  352. package/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-01-discover.md +1 -0
  353. package/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-02-generate.md +2 -1
  354. package/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-03-complete.md +1 -0
  355. package/src/modules/bmgd/workflows/3-technical/generate-project-context/workflow.md +1 -0
  356. package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +1 -0
  357. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +1 -1
  358. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +1 -1
  359. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +2 -2
  360. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +1 -1
  361. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +1 -1
  362. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +1 -1
  363. package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +2 -2
  364. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +1 -1
  365. package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +1 -1
  366. package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/workflow.yaml +3 -3
  367. package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +2 -2
  368. package/src/modules/bmm/agents/analyst.agent.yaml +3 -2
  369. package/src/modules/bmm/agents/architect.agent.yaml +3 -1
  370. package/src/modules/bmm/agents/dev.agent.yaml +4 -3
  371. package/src/modules/bmm/agents/pm.agent.yaml +16 -5
  372. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +3 -2
  373. package/src/modules/bmm/agents/sm.agent.yaml +1 -0
  374. package/src/modules/bmm/agents/tea.agent.yaml +6 -3
  375. package/src/modules/bmm/agents/tech-writer.agent.yaml +1 -0
  376. package/src/modules/bmm/agents/ux-designer.agent.yaml +1 -0
  377. package/src/modules/bmm/module.yaml +1 -1
  378. package/src/modules/bmm/testarch/knowledge/api-request.md +155 -16
  379. package/src/modules/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  380. package/src/modules/bmm/testarch/knowledge/auth-session.md +197 -1
  381. package/src/modules/bmm/testarch/knowledge/file-utils.md +257 -54
  382. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +159 -9
  383. package/src/modules/bmm/testarch/knowledge/log.md +170 -35
  384. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +228 -95
  385. package/src/modules/bmm/testarch/knowledge/network-recorder.md +314 -52
  386. package/src/modules/bmm/testarch/knowledge/overview.md +15 -12
  387. package/src/modules/bmm/testarch/knowledge/recurse.md +173 -48
  388. package/src/modules/bmm/testarch/tea-index.csv +19 -18
  389. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +4 -8
  390. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +1 -5
  391. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +3 -7
  392. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +3 -7
  393. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +3 -7
  394. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +3 -7
  395. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +1 -5
  396. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +1 -0
  397. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +1 -0
  398. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +1 -0
  399. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +1 -0
  400. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +1 -0
  401. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +1 -0
  402. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +1 -0
  403. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +1 -0
  404. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +1 -0
  405. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +1 -0
  406. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +1 -0
  407. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +1 -0
  408. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +1 -0
  409. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +1 -0
  410. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +1 -0
  411. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +1 -0
  412. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +1 -0
  413. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +1 -0
  414. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +1 -0
  415. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +1 -1
  416. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +1 -0
  417. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +1 -0
  418. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +2 -1
  419. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +3 -2
  420. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +3 -2
  421. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +3 -2
  422. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +3 -2
  423. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +3 -2
  424. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +3 -2
  425. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +3 -2
  426. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +3 -2
  427. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +3 -2
  428. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +3 -2
  429. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +3 -2
  430. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -0
  431. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +2 -1
  432. package/src/modules/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
  433. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01-init.md +8 -13
  434. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01b-continue.md +37 -49
  435. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
  436. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-03-success.md +52 -115
  437. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
  438. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
  439. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-06-innovation.md +45 -80
  440. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-07-project-type.md +39 -59
  441. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-08-scoping.md +45 -115
  442. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-09-functional.md +23 -61
  443. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-10-nonfunctional.md +34 -85
  444. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
  445. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
  446. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
  447. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  448. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
  449. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
  450. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
  451. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
  452. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
  453. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
  454. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
  455. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  456. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
  457. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
  458. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  459. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  460. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
  461. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
  462. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  463. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
  464. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
  465. package/src/modules/bmm/workflows/2-plan-workflows/prd/{prd-template.md → templates/prd-template.md} +0 -1
  466. package/src/modules/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
  467. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +97 -8
  468. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +3 -2
  469. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +3 -2
  470. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +3 -2
  471. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +3 -2
  472. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +3 -2
  473. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +2 -1
  474. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +2 -1
  475. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +1 -1
  476. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +1 -0
  477. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +3 -2
  478. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +3 -2
  479. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +3 -2
  480. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +3 -2
  481. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +3 -2
  482. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +3 -2
  483. package/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +1 -0
  484. package/src/modules/bmm/workflows/3-solutioning/create-architecture/workflow.md +1 -0
  485. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +5 -4
  486. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +4 -3
  487. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +4 -3
  488. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +3 -2
  489. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +1 -0
  490. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +2 -0
  491. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +9 -12
  492. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +1 -1
  493. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
  494. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +2 -1
  495. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +13 -12
  496. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +2 -1
  497. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
  498. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +11 -10
  499. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
  500. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +7 -7
  501. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +2 -2
  502. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +2 -2
  503. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +2 -2
  504. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +3 -3
  505. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +1 -1
  506. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +4 -3
  507. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
  508. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
  509. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  510. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +173 -0
  511. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  512. package/src/modules/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  513. package/src/modules/bmm/workflows/document-project/checklist.md +2 -2
  514. package/src/modules/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +1 -1
  515. package/src/modules/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +1 -1
  516. package/src/modules/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +1 -1
  517. package/src/modules/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +1 -1
  518. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +1 -0
  519. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +2 -1
  520. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +1 -0
  521. package/src/modules/bmm/workflows/generate-project-context/workflow.md +1 -0
  522. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +2 -2
  523. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +6 -6
  524. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +2 -1
  525. package/src/modules/bmm/workflows/workflow-status/instructions.md +8 -8
  526. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +44 -63
  527. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +44 -54
  528. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +38 -41
  529. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +26 -22
  530. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +2 -1
  531. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +1 -0
  532. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +1 -0
  533. package/src/modules/cis/agents/innovation-strategist.agent.yaml +1 -0
  534. package/src/modules/cis/agents/presentation-master.agent.yaml +1 -0
  535. package/src/modules/cis/module.yaml +1 -0
  536. package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
  537. package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
  538. package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
  539. package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
  540. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +1 -0
  541. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +1 -0
  542. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +1 -0
  543. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +1 -0
  544. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +1 -0
  545. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +1 -0
  546. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +1 -0
  547. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +1 -0
  548. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +1 -0
  549. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +1 -0
  550. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +1 -0
  551. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +1 -0
  552. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +1 -0
  553. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +1 -0
  554. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +1 -0
  555. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +1 -0
  556. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +1 -0
  557. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +1 -0
  558. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +1 -0
  559. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +1 -0
  560. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +1 -0
  561. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +1 -0
  562. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +1 -0
  563. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +1 -0
  564. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +1 -0
  565. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +1 -0
  566. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +1 -0
  567. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -0
  568. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +1 -0
  569. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -0
  570. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -0
  571. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +1 -0
  572. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +1 -0
  573. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +1 -0
  574. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +1 -0
  575. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +1 -0
  576. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +1 -0
  577. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +1 -0
  578. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +1 -0
  579. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +1 -0
  580. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +1 -0
  581. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +1 -0
  582. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +1 -0
  583. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +1 -0
  584. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +1 -0
  585. package/tools/build-docs.js +200 -271
  586. package/tools/cli/bmad-cli.js +18 -0
  587. package/tools/cli/commands/install.js +15 -13
  588. package/tools/cli/installers/install-messages.yaml +33 -27
  589. package/tools/cli/installers/lib/core/config-collector.js +11 -1
  590. package/tools/cli/installers/lib/core/detector.js +5 -115
  591. package/tools/cli/installers/lib/core/installer.js +48 -80
  592. package/tools/cli/installers/lib/core/manifest-generator.js +46 -2
  593. package/tools/cli/installers/lib/ide/antigravity.js +3 -3
  594. package/tools/cli/installers/lib/ide/claude-code.js +3 -3
  595. package/tools/cli/installers/lib/ide/codex.js +1 -1
  596. package/tools/cli/installers/lib/ide/cursor.js +57 -304
  597. package/tools/cli/installers/lib/ide/github-copilot.js +1 -1
  598. package/tools/cli/lib/agent/compiler.js +0 -4
  599. package/tools/cli/lib/ui.js +22 -1
  600. package/tools/docs/index.md +2 -0
  601. package/tools/fix-doc-links.js +288 -0
  602. package/tools/schema/agent.js +1 -0
  603. package/tools/validate-doc-links.js +363 -0
  604. package/website/README.md +76 -0
  605. package/website/astro.config.mjs +218 -0
  606. package/website/src/components/Banner.astro +59 -0
  607. package/website/src/components/Header.astro +121 -0
  608. package/website/src/components/MobileMenuFooter.astro +53 -0
  609. package/website/src/content/config.ts +6 -0
  610. package/website/src/lib/site-url.js +25 -0
  611. package/website/src/rehype-markdown-links.js +102 -0
  612. package/website/src/styles/custom.css +483 -0
  613. package/docs/document-sharding-guide.md +0 -449
  614. package/docs/getting-started/installation.md +0 -76
  615. package/docs/ide-info/auggie.md +0 -31
  616. package/docs/ide-info/claude-code.md +0 -25
  617. package/docs/ide-info/cline.md +0 -31
  618. package/docs/ide-info/codex.md +0 -21
  619. package/docs/ide-info/crush.md +0 -30
  620. package/docs/ide-info/cursor.md +0 -25
  621. package/docs/ide-info/gemini.md +0 -25
  622. package/docs/ide-info/github-copilot.md +0 -26
  623. package/docs/ide-info/iflow.md +0 -33
  624. package/docs/ide-info/index.md +0 -24
  625. package/docs/ide-info/kilo.md +0 -24
  626. package/docs/ide-info/opencode.md +0 -24
  627. package/docs/ide-info/qwen.md +0 -25
  628. package/docs/ide-info/roo.md +0 -27
  629. package/docs/ide-info/rovo-dev.md +0 -22
  630. package/docs/ide-info/trae.md +0 -25
  631. package/docs/ide-info/windsurf.md +0 -22
  632. package/docs/v4-to-v6-upgrade.md +0 -227
  633. package/docs/web-bundles-gemini-gpt-guide.md +0 -21
  634. package/src/core/tasks/validate-workflow.xml +0 -89
  635. package/src/modules/bmb/docs/agents/agent-compilation.md +0 -340
  636. package/src/modules/bmb/docs/agents/agent-menu-patterns.md +0 -523
  637. package/src/modules/bmb/docs/agents/expert-agent-architecture.md +0 -363
  638. package/src/modules/bmb/docs/agents/index.md +0 -55
  639. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  640. package/src/modules/bmb/docs/agents/simple-agent-architecture.md +0 -257
  641. package/src/modules/bmb/docs/agents/understanding-agent-types.md +0 -184
  642. package/src/modules/bmb/docs/index.md +0 -247
  643. package/src/modules/bmb/docs/workflows/architecture.md +0 -220
  644. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +0 -206
  645. package/src/modules/bmb/docs/workflows/index.md +0 -45
  646. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +0 -220
  647. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  648. package/src/modules/bmb/docs/workflows/templates/step-file.md +0 -139
  649. package/src/modules/bmb/docs/workflows/templates/workflow.md +0 -58
  650. package/src/modules/bmb/docs/workflows/terms.md +0 -97
  651. package/src/modules/bmb/reference/README.md +0 -3
  652. package/src/modules/bmb/reference/agents/simple-examples/README.md +0 -223
  653. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  654. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  655. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
  656. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -176
  657. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -120
  658. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -164
  659. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -153
  660. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
  661. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
  662. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
  663. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
  664. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  665. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  666. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
  667. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
  668. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
  669. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +0 -58
  670. package/src/modules/bmb/workflows/create-agent/data/agent-validation-checklist.md +0 -174
  671. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +0 -29
  672. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +0 -3
  673. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +0 -242
  674. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +0 -48
  675. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +0 -223
  676. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  677. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  678. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
  679. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -177
  680. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -150
  681. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -164
  682. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -152
  683. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
  684. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
  685. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
  686. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
  687. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  688. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  689. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
  690. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
  691. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
  692. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +0 -58
  693. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +0 -305
  694. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +0 -206
  695. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +0 -260
  696. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +0 -237
  697. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +0 -232
  698. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +0 -186
  699. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +0 -234
  700. package/src/modules/bmb/workflows/create-agent/steps/step-08-celebrate.md +0 -218
  701. package/src/modules/bmb/workflows/create-agent/templates/agent-plan.template.md +0 -3
  702. package/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md +0 -364
  703. package/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md +0 -257
  704. package/src/modules/bmb/workflows/create-agent/workflow.md +0 -58
  705. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +0 -155
  706. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +0 -169
  707. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +0 -217
  708. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +0 -267
  709. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +0 -228
  710. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +0 -233
  711. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +0 -296
  712. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +0 -228
  713. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +0 -186
  714. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +0 -309
  715. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +0 -337
  716. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +0 -335
  717. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +0 -313
  718. package/src/modules/bmb/workflows/create-module/templates/installer.template.js +0 -47
  719. package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +0 -5
  720. package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +0 -53
  721. package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +0 -23
  722. package/src/modules/bmb/workflows/create-module/validation.md +0 -126
  723. package/src/modules/bmb/workflows/create-module/workflow.md +0 -55
  724. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +0 -157
  725. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +0 -211
  726. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +0 -250
  727. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +0 -216
  728. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +0 -289
  729. package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +0 -308
  730. package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +0 -284
  731. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +0 -187
  732. package/src/modules/bmb/workflows/create-workflow/workflow.md +0 -58
  733. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +0 -134
  734. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +0 -202
  735. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +0 -157
  736. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +0 -150
  737. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +0 -150
  738. package/src/modules/bmb/workflows/edit-agent/workflow.md +0 -58
  739. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +0 -217
  740. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +0 -253
  741. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +0 -217
  742. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +0 -193
  743. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +0 -245
  744. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +0 -75
  745. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +0 -68
  746. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +0 -40
  747. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +0 -51
  748. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +0 -56
  749. package/src/modules/bmb/workflows/edit-workflow/workflow.md +0 -58
  750. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +0 -152
  751. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +0 -243
  752. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +0 -274
  753. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +0 -295
  754. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +0 -264
  755. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +0 -360
  756. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +0 -258
  757. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +0 -301
  758. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +0 -140
  759. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +0 -58
  760. package/src/modules/bmb/workflows-legacy/edit-module/README.md +0 -171
  761. package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +0 -163
  762. package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +0 -340
  763. package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +0 -34
  764. package/src/modules/bmb/workflows-legacy/module-brief/README.md +0 -264
  765. package/src/modules/bmb/workflows-legacy/module-brief/checklist.md +0 -116
  766. package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +0 -268
  767. package/src/modules/bmb/workflows-legacy/module-brief/template.md +0 -275
  768. package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +0 -36
  769. package/src/modules/bmgd/docs/glossary.md +0 -294
  770. package/src/modules/bmgd/docs/index.md +0 -180
  771. package/src/modules/bmgd/docs/quick-start.md +0 -250
  772. package/src/modules/bmm/README.md +0 -127
  773. package/src/modules/bmm/docs/bmad-quick-flow.md +0 -506
  774. package/src/modules/bmm/docs/brownfield-guide.md +0 -748
  775. package/src/modules/bmm/docs/enterprise-agentic-development.md +0 -686
  776. package/src/modules/bmm/docs/faq.md +0 -542
  777. package/src/modules/bmm/docs/index.md +0 -168
  778. package/src/modules/bmm/docs/quick-spec-flow.md +0 -638
  779. package/src/modules/bmm/docs/quick-start.md +0 -366
  780. package/src/modules/bmm/docs/scale-adaptive-system.md +0 -618
  781. package/src/modules/bmm/docs/troubleshooting.md +0 -661
  782. package/src/modules/bmm/docs/workflow-architecture-reference.md +0 -366
  783. package/src/modules/bmm/docs/workflow-document-project-reference.md +0 -489
  784. package/src/modules/bmm/docs/workflows-analysis.md +0 -266
  785. package/src/modules/bmm/docs/workflows-implementation.md +0 -210
  786. package/src/modules/bmm/docs/workflows-planning.md +0 -451
  787. package/src/modules/bmm/docs/workflows-solutioning.md +0 -509
  788. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +0 -420
  789. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +0 -290
  790. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +0 -270
  791. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +0 -185
  792. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +0 -115
  793. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +0 -28
  794. package/website/css/custom.css +0 -52
  795. package/website/docusaurus.config.js +0 -179
  796. package/website/sidebars.js +0 -157
  797. package/website/src/pages/index.js +0 -50
  798. /package/{src/modules/bmm/docs → docs/tutorials/getting-started}/images/workflow-method-greenfield.excalidraw +0 -0
  799. /package/{src/modules/bmm/docs → docs/tutorials/getting-started}/images/workflow-method-greenfield.svg +0 -0
  800. /package/{src/modules/bmgd/docs → docs/tutorials/getting-started/images}/workflow-overview.jpg +0 -0
  801. /package/src/core/{tasks/advanced-elicitation-methods.csv → workflows/advanced-elicitation/methods.csv} +0 -0
  802. /package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +0 -0
  803. /package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +0 -0
  804. /package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +0 -0
  805. /package/src/modules/bmb/workflows/{create-agent/data/reference/agents → agent/data/reference}/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +0 -0
  806. /package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/instructions.md +0 -0
  807. /package/src/modules/bmm/workflows/2-plan-workflows/prd/{domain-complexity.csv → data/domain-complexity.csv} +0 -0
  808. /package/src/modules/bmm/workflows/2-plan-workflows/prd/{project-types.csv → data/project-types.csv} +0 -0
  809. /package/{docs → tools/docs}/BUNDLE_DISTRIBUTION_SETUP.md +0 -0
  810. /package/website/{static → public}/favicon.ico +0 -0
  811. /package/website/{static → public}/img/logo.svg +0 -0
  812. /package/website/{static → public}/robots.txt +0 -0
@@ -2,12 +2,11 @@
2
2
  * BMAD Documentation Build Pipeline
3
3
  *
4
4
  * Consolidates docs from multiple sources, generates LLM-friendly files,
5
- * creates downloadable bundles, and builds the Docusaurus site.
5
+ * creates downloadable bundles, and builds the Astro+Starlight site.
6
6
  *
7
7
  * Build outputs:
8
- * build/consolidated/ - Merged docs from all sources
9
8
  * build/artifacts/ - With llms.txt, llms-full.txt, ZIPs
10
- * build/site/ - Final Docusaurus output (deployable)
9
+ * build/site/ - Final Astro output (deployable)
11
10
  */
12
11
 
13
12
  const { execSync } = require('node:child_process');
@@ -28,17 +27,17 @@ const REPO_URL = 'https://github.com/bmad-code-org/BMAD-METHOD';
28
27
  const LLM_MAX_CHARS = 600_000;
29
28
  const LLM_WARN_CHARS = 500_000;
30
29
 
31
- const MODULES = ['bmm', 'bmb', 'bmgd', 'cis'];
32
-
33
- // No root docs copied - only docs/ folder content goes to site
34
- // README.md, CHANGELOG.md etc. link to GitHub
35
- const ROOT_DOCS = [];
36
-
37
30
  const LLM_EXCLUDE_PATTERNS = ['changelog', 'ide-info/', 'v4-to-v6-upgrade', 'downloads/', 'faq'];
38
31
 
39
32
  // =============================================================================
40
33
  // Main Entry Point
41
- // =============================================================================
34
+ /**
35
+ * Orchestrates the full BMAD documentation build pipeline.
36
+ *
37
+ * Executes the high-level build steps in sequence: prints headers and paths, validates internal
38
+ * documentation links, cleans the build directory, generates artifacts from the `docs/` folder,
39
+ * builds the Astro site, and prints a final build summary.
40
+ */
42
41
 
43
42
  async function main() {
44
43
  console.log();
@@ -48,13 +47,16 @@ async function main() {
48
47
  console.log(`Build directory: ${BUILD_DIR}`);
49
48
  console.log();
50
49
 
50
+ // Check for broken internal links before building
51
+ checkDocLinks();
52
+
51
53
  cleanBuildDirectory();
52
54
 
53
- const consolidatedDir = consolidateDocs();
54
- const artifactsDir = await generateArtifacts(consolidatedDir);
55
- const siteDir = buildDocusaurusSite(artifactsDir);
55
+ const docsDir = path.join(PROJECT_ROOT, 'docs');
56
+ const artifactsDir = await generateArtifacts(docsDir);
57
+ const siteDir = buildAstroSite();
56
58
 
57
- printBuildSummary(consolidatedDir, artifactsDir, siteDir);
59
+ printBuildSummary(docsDir, artifactsDir, siteDir);
58
60
  }
59
61
 
60
62
  main().catch((error) => {
@@ -64,33 +66,25 @@ main().catch((error) => {
64
66
 
65
67
  // =============================================================================
66
68
  // Pipeline Stages
67
- // =============================================================================
68
-
69
- function consolidateDocs() {
70
- printHeader('Consolidating documentation sources');
71
-
72
- const outputDir = path.join(BUILD_DIR, 'consolidated');
73
- fs.mkdirSync(outputDir, { recursive: true });
74
-
75
- copyMainDocs(outputDir);
76
- copyRootDocs(outputDir);
77
- copyModuleDocs(outputDir);
78
-
79
- const mdCount = countMarkdownFiles(outputDir);
80
- console.log();
81
- console.log(` \u001B[32m✓\u001B[0m Consolidation complete: ${mdCount} markdown files`);
82
-
83
- return outputDir;
84
- }
69
+ /**
70
+ * Generate LLM files and downloadable bundles for the documentation pipeline.
71
+ *
72
+ * Creates the build/artifacts directory, writes `llms.txt` and `llms-full.txt` (sourced from the provided docs directory),
73
+ * and produces download ZIP bundles.
74
+ *
75
+ * @param {string} docsDir - Path to the source docs directory containing Markdown files.
76
+ * @returns {string} Path to the created artifacts directory.
77
+ */
85
78
 
86
- async function generateArtifacts(consolidatedDir) {
79
+ async function generateArtifacts(docsDir) {
87
80
  printHeader('Generating LLM files and download bundles');
88
81
 
89
82
  const outputDir = path.join(BUILD_DIR, 'artifacts');
90
- copyDirectory(consolidatedDir, outputDir);
83
+ fs.mkdirSync(outputDir, { recursive: true });
91
84
 
85
+ // Generate LLM files reading from docs/, output to artifacts/
92
86
  generateLlmsTxt(outputDir);
93
- generateLlmsFullTxt(outputDir);
87
+ generateLlmsFullTxt(docsDir, outputDir);
94
88
  await generateDownloadBundles(outputDir);
95
89
 
96
90
  console.log();
@@ -99,81 +93,39 @@ async function generateArtifacts(consolidatedDir) {
99
93
  return outputDir;
100
94
  }
101
95
 
102
- function buildDocusaurusSite(artifactsDir) {
103
- printHeader('Building Docusaurus site');
96
+ /**
97
+ * Builds the Astro + Starlight site and copies generated artifacts into the site output directory.
98
+ *
99
+ * @returns {string} The filesystem path to the built site directory (e.g., build/site).
100
+ */
101
+ function buildAstroSite() {
102
+ printHeader('Building Astro + Starlight site');
104
103
 
105
104
  const siteDir = path.join(BUILD_DIR, 'site');
106
- const mainDocs = path.join(PROJECT_ROOT, 'docs');
107
- const docsBackup = path.join(BUILD_DIR, 'docs-backup');
108
-
109
- backupAndReplaceDocs(mainDocs, docsBackup, artifactsDir);
110
-
111
- try {
112
- runDocusaurusBuild(siteDir);
113
- } finally {
114
- restoreDocs(mainDocs, docsBackup);
115
- }
105
+ const artifactsDir = path.join(BUILD_DIR, 'artifacts');
116
106
 
107
+ // Build Astro site (outputs to build/site via astro.config.mjs)
108
+ runAstroBuild();
117
109
  copyArtifactsToSite(artifactsDir, siteDir);
118
110
 
111
+ // No longer needed: Inject AI agents banner into every HTML page
112
+ // injectAgentBanner(siteDir);
113
+
119
114
  console.log();
120
- console.log(` \u001B[32m✓\u001B[0m Docusaurus build complete`);
115
+ console.log(` \u001B[32m✓\u001B[0m Astro build complete`);
121
116
 
122
117
  return siteDir;
123
118
  }
124
119
 
125
- // =============================================================================
126
- // Documentation Consolidation
127
- // =============================================================================
128
-
129
- function copyMainDocs(destDir) {
130
- console.log(' → Copying main docs...');
131
- const docsDir = path.join(PROJECT_ROOT, 'docs');
132
- copyDirectory(docsDir, destDir, ['modules', 'llms.txt', 'llms-full.txt'], true);
133
- }
134
-
135
- function copyRootDocs(destDir) {
136
- console.log(' → Copying root documentation files...');
137
-
138
- for (const doc of ROOT_DOCS) {
139
- const srcPath = path.join(PROJECT_ROOT, doc.src);
140
- const destPath = path.join(destDir, doc.dest);
141
-
142
- if (fs.existsSync(srcPath)) {
143
- let content = fs.readFileSync(srcPath, 'utf-8');
144
-
145
- if (!content.startsWith('---')) {
146
- content = `---\ntitle: "${doc.title}"\n---\n\n${content}`;
147
- }
148
-
149
- content = transformMarkdownLinks(content);
150
- fs.writeFileSync(destPath, content);
151
- console.log(` ${doc.src} → ${doc.dest}`);
152
- }
153
- }
154
- }
155
-
156
- function copyModuleDocs(destDir) {
157
- fs.mkdirSync(path.join(destDir, 'modules'), { recursive: true });
158
-
159
- for (const moduleName of MODULES) {
160
- const srcPath = path.join(PROJECT_ROOT, 'src', 'modules', moduleName, 'docs');
161
- const moduleDest = path.join(destDir, 'modules', moduleName);
162
-
163
- if (fs.existsSync(srcPath)) {
164
- console.log(` → Copying ${moduleName} docs...`);
165
- copyDirectory(srcPath, moduleDest, [], false, moduleName);
166
- const count = countMarkdownFiles(moduleDest);
167
- console.log(` ${count} markdown files`);
168
- } else {
169
- console.log(` ⚠ WARNING: ${moduleName} docs not found`);
170
- }
171
- }
172
- }
173
-
174
120
  // =============================================================================
175
121
  // LLM File Generation
176
- // =============================================================================
122
+ /**
123
+ * Create a concise llms.txt summary file containing project metadata, core links, and quick navigation entries for LLM consumption.
124
+ *
125
+ * Writes the file to `${outputDir}/llms.txt`.
126
+ *
127
+ * @param {string} outputDir - Destination directory where `llms.txt` will be written.
128
+ */
177
129
 
178
130
  function generateLlmsTxt(outputDir) {
179
131
  console.log(' → Generating llms.txt...');
@@ -219,11 +171,18 @@ function generateLlmsTxt(outputDir) {
219
171
  console.log(` Generated llms.txt (${content.length.toLocaleString()} chars)`);
220
172
  }
221
173
 
222
- function generateLlmsFullTxt(outputDir) {
174
+ /**
175
+ * Builds a consolidated llms-full.txt containing all Markdown files under docsDir wrapped in <document path="..."> tags for LLM consumption.
176
+ *
177
+ * Writes the generated file to outputDir/llms-full.txt. Files matching LLM_EXCLUDE_PATTERNS are skipped; read errors for individual files are logged. The combined content is validated against configured size thresholds (will exit on overflow and warn if near limit).
178
+ * @param {string} docsDir - Root directory containing source Markdown files; paths in the output are relative to this directory.
179
+ * @param {string} outputDir - Directory where llms-full.txt will be written.
180
+ */
181
+ function generateLlmsFullTxt(docsDir, outputDir) {
223
182
  console.log(' → Generating llms-full.txt...');
224
183
 
225
184
  const date = new Date().toISOString().split('T')[0];
226
- const files = getDocsFromSidebar();
185
+ const files = getAllMarkdownFiles(docsDir);
227
186
 
228
187
  const output = [
229
188
  '# BMAD Method Documentation (Full)',
@@ -243,7 +202,7 @@ function generateLlmsFullTxt(outputDir) {
243
202
  continue;
244
203
  }
245
204
 
246
- const fullPath = path.join(outputDir, mdPath);
205
+ const fullPath = path.join(docsDir, mdPath);
247
206
  try {
248
207
  const content = readMarkdownContent(fullPath);
249
208
  output.push(`<document path="${mdPath}">`, content, '</document>', '');
@@ -265,34 +224,35 @@ function generateLlmsFullTxt(outputDir) {
265
224
  );
266
225
  }
267
226
 
268
- function getDocsFromSidebar() {
269
- const sidebarsPath = path.join(PROJECT_ROOT, 'website', 'sidebars.js');
227
+ /**
228
+ * Collects all Markdown (.md) files under a directory and returns their paths relative to a base directory.
229
+ * @param {string} dir - Directory to search for Markdown files.
230
+ * @param {string} [baseDir=dir] - Base directory used to compute returned relative paths.
231
+ * @returns {string[]} An array of file paths (relative to `baseDir`) for every `.md` file found under `dir`.
232
+ */
233
+ function getAllMarkdownFiles(dir, baseDir = dir) {
234
+ const files = [];
270
235
 
271
- try {
272
- const sidebarContent = fs.readFileSync(sidebarsPath, 'utf-8');
273
- const matches = sidebarContent.matchAll(/'([a-zA-Z0-9\-_/]+)'/g);
274
- const files = [];
275
-
276
- for (const match of matches) {
277
- const docId = match[1];
278
- // Skip Docusaurus keywords
279
- if (docId.includes('Sidebar') || docId === 'doc' || docId === 'category') {
280
- continue;
281
- }
282
- // Skip category labels (Title Case words without slashes like 'Workflows', 'Reference')
283
- if (!docId.includes('/') && /^[A-Z][a-z]/.test(docId)) {
284
- continue;
285
- }
286
- files.push(docId + '.md');
287
- }
236
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
237
+ const fullPath = path.join(dir, entry.name);
288
238
 
289
- return files;
290
- } catch {
291
- console.log(' Warning: Could not parse sidebars');
292
- return [];
239
+ if (entry.isDirectory()) {
240
+ files.push(...getAllMarkdownFiles(fullPath, baseDir));
241
+ } else if (entry.name.endsWith('.md')) {
242
+ // Return relative path from baseDir
243
+ const relativePath = path.relative(baseDir, fullPath);
244
+ files.push(relativePath);
245
+ }
293
246
  }
247
+
248
+ return files;
294
249
  }
295
250
 
251
+ /**
252
+ * Determine whether a file path matches any configured LLM exclusion pattern.
253
+ * @param {string} filePath - The file path to test.
254
+ * @returns {boolean} `true` if the path contains any pattern from LLM_EXCLUDE_PATTERNS, `false` otherwise.
255
+ */
296
256
  function shouldExcludeFromLlm(filePath) {
297
257
  return LLM_EXCLUDE_PATTERNS.some((pattern) => filePath.includes(pattern));
298
258
  }
@@ -346,6 +306,12 @@ async function generateSourcesBundle(downloadsDir) {
346
306
  console.log(` bmad-sources.zip (${size}M)`);
347
307
  }
348
308
 
309
+ /**
310
+ * Create a zip archive of the project's prompts modules and place it in the downloads directory.
311
+ *
312
+ * Creates bmad-prompts.zip from src/modules, excluding common unwanted paths, writes it to the provided downloads directory, and logs the resulting file size. If the modules directory does not exist, the function returns without creating a bundle.
313
+ * @param {string} downloadsDir - Destination directory where bmad-prompts.zip will be written.
314
+ */
349
315
  async function generatePromptsBundle(downloadsDir) {
350
316
  const modulesDir = path.join(PROJECT_ROOT, 'src', 'modules');
351
317
  if (!fs.existsSync(modulesDir)) return;
@@ -358,39 +324,31 @@ async function generatePromptsBundle(downloadsDir) {
358
324
  }
359
325
 
360
326
  // =============================================================================
361
- // Docusaurus Build
362
- // =============================================================================
363
-
364
- function backupAndReplaceDocs(mainDocs, backupDir, artifactsDir) {
365
- console.log(' → Preparing docs for Docusaurus...');
366
-
367
- if (fs.existsSync(mainDocs)) {
368
- copyDirectory(mainDocs, backupDir);
369
- fs.rmSync(mainDocs, { recursive: true });
370
- }
371
-
372
- copyDirectory(artifactsDir, mainDocs, ['llms.txt', 'llms-full.txt']);
373
- removeZipFiles(path.join(mainDocs, 'downloads'));
374
- }
375
-
376
- function runDocusaurusBuild(siteDir) {
377
- console.log(' → Running docusaurus build...');
378
- execSync('npx docusaurus build --config website/docusaurus.config.js --out-dir ' + siteDir, {
327
+ // Astro Build
328
+ /**
329
+ * Builds the Astro site to build/site (configured in astro.config.mjs).
330
+ */
331
+ function runAstroBuild() {
332
+ console.log(' → Running astro build...');
333
+ execSync('npx astro build --root website', {
379
334
  cwd: PROJECT_ROOT,
380
335
  stdio: 'inherit',
336
+ env: {
337
+ ...process.env,
338
+ NODE_OPTIONS: `${process.env.NODE_OPTIONS || ''} --disable-warning=MODULE_TYPELESS_PACKAGE_JSON`.trim(),
339
+ },
381
340
  });
382
341
  }
383
342
 
384
- function restoreDocs(mainDocs, backupDir) {
385
- console.log(' → Restoring original docs...');
386
- fs.rmSync(mainDocs, { recursive: true });
387
-
388
- if (fs.existsSync(backupDir)) {
389
- copyDirectory(backupDir, mainDocs);
390
- fs.rmSync(backupDir, { recursive: true });
391
- }
392
- }
393
-
343
+ /**
344
+ * Copy generated artifact files into the built site directory.
345
+ *
346
+ * Copies llms.txt and llms-full.txt from the artifacts directory into the site directory.
347
+ * If a downloads subdirectory exists under artifacts, copies it into siteDir/downloads.
348
+ *
349
+ * @param {string} artifactsDir - Path to the build artifacts directory containing generated files.
350
+ * @param {string} siteDir - Path to the target site directory where artifacts should be placed.
351
+ */
394
352
  function copyArtifactsToSite(artifactsDir, siteDir) {
395
353
  console.log(' → Copying artifacts to site...');
396
354
 
@@ -403,28 +361,24 @@ function copyArtifactsToSite(artifactsDir, siteDir) {
403
361
  }
404
362
  }
405
363
 
406
- function removeZipFiles(dir) {
407
- if (!fs.existsSync(dir)) return;
408
-
409
- for (const file of fs.readdirSync(dir)) {
410
- if (file.endsWith('.zip')) {
411
- fs.unlinkSync(path.join(dir, file));
412
- }
413
- }
414
- }
415
-
416
364
  // =============================================================================
417
365
  // Build Summary
418
- // =============================================================================
366
+ /**
367
+ * Prints a concise end-of-build summary and displays a sample listing of the final site directory.
368
+ *
369
+ * @param {string} docsDir - Path to the source documentation directory used for the build.
370
+ * @param {string} artifactsDir - Path to the directory containing generated artifacts (e.g., llms.txt, downloads).
371
+ * @param {string} siteDir - Path to the final built site directory whose contents will be listed.
372
+ */
419
373
 
420
- function printBuildSummary(consolidatedDir, artifactsDir, siteDir) {
374
+ function printBuildSummary(docsDir, artifactsDir, siteDir) {
421
375
  console.log();
422
376
  printBanner('Build Complete!');
423
377
  console.log();
424
378
  console.log('Build artifacts:');
425
- console.log(` Consolidated docs: ${consolidatedDir}`);
426
- console.log(` Generated files: ${artifactsDir}`);
427
- console.log(` Final site: ${siteDir}`);
379
+ console.log(` Source docs: ${docsDir}`);
380
+ console.log(` Generated files: ${artifactsDir}`);
381
+ console.log(` Final site: ${siteDir}`);
428
382
  console.log();
429
383
  console.log(`Deployable output: ${siteDir}/`);
430
384
  console.log();
@@ -448,6 +402,11 @@ function listDirectoryContents(dir) {
448
402
  }
449
403
  }
450
404
 
405
+ /**
406
+ * Format a byte count into a compact human-readable string using B, K, or M units.
407
+ * @param {number} bytes - The number of bytes to format.
408
+ * @returns {string} The formatted size: bytes as `N B` (e.g. `512B`), kilobytes truncated to an integer with `K` (e.g. `2K`), or megabytes with one decimal and `M` (e.g. `1.2M`).
409
+ */
451
410
  function formatFileSize(bytes) {
452
411
  if (bytes > 1024 * 1024) {
453
412
  return `${(bytes / 1024 / 1024).toFixed(1)}M`;
@@ -458,8 +417,38 @@ function formatFileSize(bytes) {
458
417
  }
459
418
 
460
419
  // =============================================================================
461
- // File System Utilities
420
+ // Post-build Injection
421
+ /**
422
+ * Recursively collects all files with the given extension under a directory.
423
+ *
424
+ * @param {string} dir - Root directory to search.
425
+ * @param {string} ext - File extension to match (include the leading dot, e.g. ".md").
426
+ * @returns {string[]} An array of file paths for files ending with `ext` found under `dir`.
427
+ */
428
+
429
+ function getAllFilesByExtension(dir, ext) {
430
+ const result = [];
431
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
432
+
433
+ for (const entry of entries) {
434
+ const fullPath = path.join(dir, entry.name);
435
+ if (entry.isDirectory()) {
436
+ result.push(...getAllFilesByExtension(fullPath, ext));
437
+ } else if (entry.name.endsWith(ext)) {
438
+ result.push(fullPath);
439
+ }
440
+ }
441
+
442
+ return result;
443
+ }
444
+
462
445
  // =============================================================================
446
+ // File System Utilities
447
+ /**
448
+ * Remove any existing build output and recreate the build directory.
449
+ *
450
+ * Ensures the configured BUILD_DIR is empty by deleting it if present and then creating a fresh directory.
451
+ */
463
452
 
464
453
  function cleanBuildDirectory() {
465
454
  console.log('Cleaning previous build...');
@@ -470,7 +459,15 @@ function cleanBuildDirectory() {
470
459
  fs.mkdirSync(BUILD_DIR, { recursive: true });
471
460
  }
472
461
 
473
- function copyDirectory(src, dest, exclude = [], transformMd = false, moduleName = null) {
462
+ /**
463
+ * Recursively copies all files and subdirectories from one directory to another, creating the destination if needed.
464
+ *
465
+ * @param {string} src - Path to the source directory to copy from.
466
+ * @param {string} dest - Path to the destination directory to copy to.
467
+ * @param {string[]} [exclude=[]] - List of file or directory names (not paths) to skip while copying.
468
+ * @returns {boolean} `true` if the source existed and copying proceeded, `false` if the source did not exist.
469
+ */
470
+ function copyDirectory(src, dest, exclude = []) {
474
471
  if (!fs.existsSync(src)) return false;
475
472
  fs.mkdirSync(dest, { recursive: true });
476
473
 
@@ -481,12 +478,7 @@ function copyDirectory(src, dest, exclude = [], transformMd = false, moduleName
481
478
  const destPath = path.join(dest, entry.name);
482
479
 
483
480
  if (entry.isDirectory()) {
484
- copyDirectory(srcPath, destPath, exclude, transformMd, moduleName);
485
- } else if (entry.name.endsWith('.md')) {
486
- // Always transform markdown links, use module context if provided
487
- let content = fs.readFileSync(srcPath, 'utf-8');
488
- content = transformMarkdownLinks(content, moduleName);
489
- fs.writeFileSync(destPath, content);
481
+ copyDirectory(srcPath, destPath, exclude);
490
482
  } else {
491
483
  fs.copyFileSync(srcPath, destPath);
492
484
  }
@@ -494,102 +486,13 @@ function copyDirectory(src, dest, exclude = [], transformMd = false, moduleName
494
486
  return true;
495
487
  }
496
488
 
497
- function transformMarkdownLinks(content, moduleName = null) {
498
- // Transform HTML img src attributes for module docs images
499
- content = content.replaceAll(/src="\.\/src\/modules\/([^/]+)\/docs\/images\/([^"]+)"/g, (match, mod, file) => {
500
- return `src="./modules/${mod}/images/${file}"`;
501
- });
502
-
503
- return content.replaceAll(/\]\(([^)]+)\)/g, (match, url) => {
504
- // src/modules/{mod}/docs/{path}.md → ./modules/{mod}/{path}.md
505
- // Keeps .md - Docusaurus handles .md → page conversion
506
- const docsMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/(.+\.md)$/);
507
- if (docsMatch) return `](./modules/${docsMatch[1]}/${docsMatch[2]})`;
508
-
509
- // src/modules/{mod}/docs/ → ./modules/{mod}/
510
- const docsDirMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/$/);
511
- if (docsDirMatch) return `](./modules/${docsDirMatch[1]}/)`;
512
-
513
- // src/modules/{mod}/docs/images/{file} → ./modules/{mod}/images/{file}
514
- const docsImageMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/images\/(.+)$/);
515
- if (docsImageMatch) return `](./modules/${docsImageMatch[1]}/images/${docsImageMatch[2]})`;
516
-
517
- // src/modules/{mod}/README.md → GitHub (not in docs folder)
518
- const readmeMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/README\.md$/i);
519
- if (readmeMatch) return `](${REPO_URL}/blob/main/src/modules/${readmeMatch[1]}/README.md)`;
520
-
521
- // src/modules/* (non-docs) → GitHub
522
- const srcMatch = url.match(/^\.\.?\/src\/modules\/(.+)$/);
523
- if (srcMatch) return `](${REPO_URL}/tree/main/src/modules/${srcMatch[1]})`;
524
-
525
- // Relative paths escaping docs/ folder → GitHub (when module context is known)
526
- // e.g., ../workflows/foo/bar.md from within docs/ → src/modules/{mod}/workflows/foo/bar.md
527
- if (moduleName) {
528
- const relativeEscapeMatch = url.match(/^\.\.\/([^.][^)]+)$/);
529
- if (relativeEscapeMatch && !relativeEscapeMatch[1].startsWith('src/')) {
530
- const relativePath = relativeEscapeMatch[1];
531
- return `](${REPO_URL}/blob/main/src/modules/${moduleName}/${relativePath})`;
532
- }
533
- }
534
-
535
- // ./docs/{path}.md → ./{path}.md (docs folder contents are at root in build)
536
- // Keeps .md - Docusaurus handles .md → page conversion
537
- const rootDocsMatch = url.match(/^\.\/docs\/(.+\.md)$/);
538
- if (rootDocsMatch) return `](./${rootDocsMatch[1]})`;
539
-
540
- // Root docs → GitHub (not part of docs site)
541
- if (url === '../README.md' || url === './README.md' || url === './project-readme') {
542
- return `](${REPO_URL}/blob/main/README.md)`;
543
- }
544
- if (url === '../CHANGELOG.md' || url === './CHANGELOG.md' || url === './changelog') {
545
- return `](${REPO_URL}/blob/main/CHANGELOG.md)`;
546
- }
547
-
548
- // Root files → GitHub (CONTRIBUTING, LICENSE, CODE_OF_CONDUCT, etc.)
549
- const contributingMatch = url.match(/^(\.\.\/)?CONTRIBUTING\.md(#.*)?$/);
550
- if (contributingMatch) {
551
- const anchor = contributingMatch[2] || '';
552
- return `](${REPO_URL}/blob/main/CONTRIBUTING.md${anchor})`;
553
- }
554
- if (url === 'LICENSE' || url === '../LICENSE') {
555
- return `](${REPO_URL}/blob/main/LICENSE)`;
556
- }
557
- if (url === '.github/CODE_OF_CONDUCT.md' || url === '../.github/CODE_OF_CONDUCT.md') {
558
- return `](${REPO_URL}/blob/main/.github/CODE_OF_CONDUCT.md)`;
559
- }
560
-
561
- // Other root .md files → GitHub
562
- const rootFileMatch = url.match(/^\.\.\/([A-Z][^/]+\.md)$/);
563
- if (rootFileMatch) return `](${REPO_URL}/blob/main/${rootFileMatch[1]})`;
564
-
565
- // Cross-module doc links: ../../{mod}/docs/{path}.md → ../{mod}/{path}.md
566
- // Fixes path structure but keeps .md (Docusaurus handles .md → page conversion)
567
- const crossModuleDocsMatch = url.match(/^\.\.\/\.\.\/([^/]+)\/docs\/(.+\.md)$/);
568
- if (crossModuleDocsMatch) return `](../${crossModuleDocsMatch[1]}/${crossModuleDocsMatch[2]})`;
569
-
570
- // Root-level folders (samples/) → GitHub
571
- const rootFolderMatch = url.match(/^\.\.\/((samples)\/.*)/);
572
- if (rootFolderMatch) return `](${REPO_URL}/blob/main/${rootFolderMatch[1]})`;
573
-
574
- return match;
575
- });
576
- }
577
-
578
- function countMarkdownFiles(dir) {
579
- let count = 0;
580
- if (!fs.existsSync(dir)) return 0;
581
-
582
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
583
- const fullPath = path.join(dir, entry.name);
584
- if (entry.isDirectory()) {
585
- count += countMarkdownFiles(fullPath);
586
- } else if (entry.name.endsWith('.md')) {
587
- count++;
588
- }
589
- }
590
- return count;
591
- }
592
-
489
+ /**
490
+ * Create a ZIP archive of a directory, optionally excluding entries that match given substrings.
491
+ * @param {string} sourceDir - Path to the source directory to archive.
492
+ * @param {string} outputPath - Path to write the resulting ZIP file.
493
+ * @param {string[]} [exclude=[]] - Array of substrings; any entry whose path includes one of these substrings will be omitted.
494
+ * @returns {Promise<void>} Resolves when the archive has been fully written and closed, rejects on error.
495
+ */
593
496
  function createZipArchive(sourceDir, outputPath, exclude = []) {
594
497
  return new Promise((resolve, reject) => {
595
498
  const output = fs.createWriteStream(outputPath);
@@ -623,8 +526,34 @@ function printHeader(title) {
623
526
  console.log('└' + '─'.repeat(62) + '┘');
624
527
  }
625
528
 
529
+ /**
530
+ * Prints a centered decorative ASCII banner to the console using the provided title.
531
+ * @param {string} title - Text to display centered inside the banner. */
626
532
  function printBanner(title) {
627
533
  console.log('╔' + '═'.repeat(62) + '╗');
628
534
  console.log(`║${title.padStart(31 + title.length / 2).padEnd(62)}║`);
629
535
  console.log('╚' + '═'.repeat(62) + '╝');
630
536
  }
537
+
538
+ // =============================================================================
539
+ // Link Checking
540
+ /**
541
+ * Verify internal documentation links by running the link-checking script.
542
+ *
543
+ * Executes the Node script tools/check-doc-links.js from the project root and
544
+ * exits the process with code 1 if the check fails.
545
+ */
546
+
547
+ function checkDocLinks() {
548
+ printHeader('Checking documentation links');
549
+
550
+ try {
551
+ execSync('node tools/validate-doc-links.js', {
552
+ cwd: PROJECT_ROOT,
553
+ stdio: 'inherit',
554
+ });
555
+ } catch {
556
+ console.error('\n \u001B[31m✗\u001B[0m Link check failed - fix broken links before building\n');
557
+ process.exit(1);
558
+ }
559
+ }
@@ -2,6 +2,24 @@ const { program } = require('commander');
2
2
  const path = require('node:path');
3
3
  const fs = require('node:fs');
4
4
 
5
+ // Fix for stdin issues when running through npm on Windows
6
+ // Ensures keyboard interaction works properly with inquirer prompts
7
+ if (process.stdin.isTTY) {
8
+ try {
9
+ process.stdin.resume();
10
+ process.stdin.setEncoding('utf8');
11
+
12
+ // On Windows, explicitly reference the stdin stream to ensure it's properly initialized
13
+ if (process.platform === 'win32') {
14
+ process.stdin.on('error', () => {
15
+ // Ignore stdin errors - they can occur when the terminal is closing
16
+ });
17
+ }
18
+ } catch {
19
+ // Silently ignore - some environments may not support these operations
20
+ }
21
+ }
22
+
5
23
  // Load package.json from root for version info
6
24
  const packageJson = require('../../package.json');
7
25