bmad-method 6.0.0-alpha.15 → 6.0.0-alpha.16

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 (392) hide show
  1. package/.coderabbit.yaml +1 -1
  2. package/CHANGELOG.md +32 -1
  3. package/docs/agent-customization-guide.md +7 -7
  4. package/docs/ide-info/crush.md +1 -1
  5. package/docs/ide-info/cursor.md +7 -7
  6. package/docs/ide-info/iflow.md +3 -3
  7. package/docs/ide-info/opencode.md +1 -1
  8. package/docs/installers-bundlers/ide-injections.md +2 -2
  9. package/docs/installers-bundlers/installers-modules-platforms-reference.md +23 -23
  10. package/docs/v4-to-v6-upgrade.md +10 -10
  11. package/docs/web-bundles-gemini-gpt-guide.md +1 -1
  12. package/package.json +1 -1
  13. package/src/core/agents/bmad-master.agent.yaml +5 -5
  14. package/src/core/agents/bmad-web-orchestrator.agent.xml +6 -6
  15. package/src/core/module.yaml +0 -7
  16. package/src/core/resources/excalidraw/README.md +4 -4
  17. package/src/core/tasks/advanced-elicitation.xml +3 -3
  18. package/src/core/tasks/index-docs.xml +1 -1
  19. package/src/core/tasks/validate-workflow.xml +1 -1
  20. package/src/core/tasks/workflow.xml +4 -4
  21. package/src/core/tools/shard-doc.xml +1 -1
  22. package/src/core/workflows/brainstorming/workflow.md +2 -2
  23. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +2 -2
  24. package/src/core/workflows/party-mode/workflow.md +4 -4
  25. package/src/modules/bmb/README.md +2 -2
  26. package/src/modules/bmb/agents/bmad-builder.agent.yaml +15 -15
  27. package/src/modules/bmb/docs/agents/agent-compilation.md +2 -2
  28. package/src/modules/bmb/docs/agents/agent-menu-patterns.md +22 -22
  29. package/src/modules/bmb/docs/agents/expert-agent-architecture.md +1 -1
  30. package/src/modules/bmb/docs/agents/index.md +1 -1
  31. package/src/modules/bmb/docs/agents/module-agent-architecture.md +50 -51
  32. package/src/modules/bmb/docs/agents/understanding-agent-types.md +3 -3
  33. package/src/modules/bmb/docs/workflows/architecture.md +1 -1
  34. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +3 -3
  35. package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +1 -1
  36. package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +1 -1
  37. package/src/modules/bmb/docs/workflows/templates/step-file.md +3 -3
  38. package/src/modules/bmb/docs/workflows/templates/step-template.md +3 -3
  39. package/src/modules/bmb/docs/workflows/templates/workflow-template.md +2 -2
  40. package/src/modules/bmb/docs/workflows/templates/workflow.md +1 -1
  41. package/src/modules/bmb/module.yaml +0 -1
  42. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  43. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +5 -5
  44. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
  45. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
  46. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
  47. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
  48. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
  49. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
  50. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
  51. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
  52. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
  53. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +1 -1
  54. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +6 -6
  55. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
  56. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +1 -1
  57. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +1 -1
  58. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +3 -3
  59. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +3 -3
  60. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +5 -5
  61. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +5 -5
  62. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +5 -5
  63. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +2 -2
  64. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +5 -5
  65. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +4 -4
  66. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +4 -4
  67. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +4 -4
  68. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +7 -7
  69. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +3 -3
  70. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +4 -4
  71. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +4 -4
  72. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +3 -3
  73. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +4 -4
  74. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +3 -3
  75. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +3 -3
  76. package/src/modules/bmb/workflows/create-agent/workflow.md +13 -13
  77. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +2 -2
  78. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +4 -4
  79. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +4 -4
  80. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +3 -3
  81. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +4 -4
  82. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +6 -6
  83. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +3 -3
  84. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +4 -4
  85. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +4 -4
  86. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +3 -3
  87. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +4 -4
  88. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +7 -7
  89. package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +1 -1
  90. package/src/modules/bmb/workflows/create-module/workflow.md +2 -2
  91. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +2 -2
  92. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +5 -5
  93. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +4 -4
  94. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +3 -3
  95. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +3 -3
  96. package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +10 -10
  97. package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +12 -12
  98. package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +3 -3
  99. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +1 -1
  100. package/src/modules/bmb/workflows/create-workflow/workflow.md +1 -1
  101. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +3 -3
  102. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +13 -13
  103. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +5 -5
  104. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +3 -3
  105. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +5 -5
  106. package/src/modules/bmb/workflows/edit-agent/workflow.md +1 -1
  107. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +4 -4
  108. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +3 -3
  109. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +6 -6
  110. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +3 -3
  111. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +3 -3
  112. package/src/modules/bmb/workflows/edit-workflow/workflow.md +1 -1
  113. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +3 -3
  114. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +5 -5
  115. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +6 -6
  116. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +4 -4
  117. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +4 -4
  118. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +4 -4
  119. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +4 -4
  120. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +3 -3
  121. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +1 -1
  122. package/src/modules/bmb/workflows-legacy/edit-module/README.md +2 -2
  123. package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +2 -2
  124. package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +4 -4
  125. package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +10 -10
  126. package/src/modules/bmb/workflows-legacy/module-brief/README.md +2 -2
  127. package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +2 -2
  128. package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +4 -4
  129. package/src/modules/bmgd/README.md +1 -1
  130. package/src/modules/bmgd/agents/game-architect.agent.yaml +6 -6
  131. package/src/modules/bmgd/agents/game-designer.agent.yaml +7 -7
  132. package/src/modules/bmgd/agents/game-dev.agent.yaml +9 -9
  133. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +21 -21
  134. package/src/modules/bmgd/module.yaml +0 -1
  135. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
  136. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +9 -9
  137. package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +1 -1
  138. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +8 -8
  139. package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +4 -4
  140. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +30 -30
  141. package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
  142. package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +5 -5
  143. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +1 -1
  144. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +2 -2
  145. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +2 -2
  146. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +2 -2
  147. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
  148. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +2 -2
  149. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +2 -2
  150. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +2 -2
  151. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +2 -2
  152. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +2 -2
  153. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +2 -2
  154. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +1 -1
  155. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +2 -2
  156. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +2 -2
  157. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +2 -2
  158. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +3 -3
  159. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +2 -2
  160. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +2 -2
  161. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +1 -1
  162. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +1 -1
  163. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +2 -2
  164. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +2 -2
  165. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +1 -1
  166. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +2 -2
  167. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +1 -1
  168. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +2 -2
  169. package/src/modules/bmm/agents/analyst.agent.yaml +8 -8
  170. package/src/modules/bmm/agents/architect.agent.yaml +8 -8
  171. package/src/modules/bmm/agents/dev.agent.yaml +3 -3
  172. package/src/modules/bmm/agents/pm.agent.yaml +8 -8
  173. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +5 -5
  174. package/src/modules/bmm/agents/sm.agent.yaml +9 -9
  175. package/src/modules/bmm/agents/tea.agent.yaml +13 -13
  176. package/src/modules/bmm/agents/tech-writer.agent.yaml +9 -9
  177. package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -6
  178. package/src/modules/bmm/docs/README.md +0 -25
  179. package/src/modules/bmm/docs/agents-guide.md +4 -4
  180. package/src/modules/bmm/docs/brownfield-guide.md +4 -4
  181. package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
  182. package/src/modules/bmm/docs/faq.md +1 -1
  183. package/src/modules/bmm/docs/party-mode.md +3 -3
  184. package/src/modules/bmm/docs/quick-start.md +1 -1
  185. package/src/modules/bmm/docs/test-architecture.md +3 -3
  186. package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
  187. package/src/modules/bmm/docs/workflows-implementation.md +0 -100
  188. package/src/modules/bmm/module.yaml +1 -2
  189. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +1 -1
  190. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +1 -1
  191. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +3 -3
  192. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +3 -3
  193. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +3 -3
  194. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +3 -3
  195. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +5 -3
  196. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +2 -2
  197. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +2 -2
  198. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +4 -4
  199. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +4 -4
  200. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +4 -4
  201. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +4 -4
  202. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +4 -4
  203. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +4 -4
  204. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +4 -4
  205. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +4 -4
  206. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +4 -4
  207. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +4 -4
  208. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +4 -4
  209. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +4 -4
  210. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +2 -2
  211. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +1 -1
  212. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +1 -1
  213. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +3 -3
  214. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +7 -7
  215. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +8 -8
  216. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +12 -12
  217. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +12 -12
  218. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +10 -10
  219. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +7 -7
  220. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +9 -9
  221. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +9 -9
  222. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +1 -1
  223. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +1 -1
  224. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +4 -4
  225. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +4 -4
  226. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +4 -4
  227. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +4 -4
  228. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +4 -4
  229. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +4 -4
  230. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +1 -1
  231. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +2 -2
  232. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +1 -1
  233. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +1 -1
  234. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +1 -1
  235. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
  236. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +2 -2
  237. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-01-document-discovery.md +1 -1
  238. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-02-prd-analysis.md +1 -1
  239. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-03-epic-coverage-validation.md +6 -6
  240. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-04-ux-alignment.md +1 -1
  241. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-05-epic-quality-review.md +2 -2
  242. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-06-final-assessment.md +1 -1
  243. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.md +1 -1
  244. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +1 -1
  245. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +2 -2
  246. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  247. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +2 -2
  248. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +2 -2
  249. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
  250. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +2 -2
  251. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +2 -2
  252. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +1 -1
  253. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +2 -2
  254. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +2 -2
  255. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +3 -3
  256. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +2 -2
  257. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -2
  258. package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +2 -2
  259. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
  260. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +5 -5
  261. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +7 -7
  262. package/src/modules/bmm/workflows/diagrams/create-dataflow/instructions.md +1 -1
  263. package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +5 -5
  264. package/src/modules/bmm/workflows/diagrams/create-diagram/instructions.md +2 -2
  265. package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +5 -5
  266. package/src/modules/bmm/workflows/diagrams/create-flowchart/instructions.md +2 -2
  267. package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +5 -5
  268. package/src/modules/bmm/workflows/diagrams/create-wireframe/instructions.md +1 -1
  269. package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +5 -5
  270. package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
  271. package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -2
  272. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
  273. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
  274. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +2 -2
  275. package/src/modules/bmm/workflows/generate-project-context/workflow.md +2 -2
  276. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
  277. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
  278. package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
  279. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -2
  280. package/src/modules/bmm/workflows/testarch/ci/instructions.md +1 -1
  281. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -2
  282. package/src/modules/bmm/workflows/testarch/framework/instructions.md +3 -3
  283. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -2
  284. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
  285. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
  286. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +3 -3
  287. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +1 -1
  288. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +2 -2
  289. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  290. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
  291. package/src/modules/bmm/workflows/testarch/trace/instructions.md +6 -6
  292. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -2
  293. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +1 -1
  294. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +4 -4
  295. package/src/modules/bmm/workflows/workflow-status/instructions.md +3 -3
  296. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
  297. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +2 -2
  298. package/src/modules/cis/README.md +1 -1
  299. package/src/modules/cis/agents/README.md +1 -1
  300. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +4 -4
  301. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +4 -4
  302. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +4 -4
  303. package/src/modules/cis/agents/innovation-strategist.agent.yaml +4 -4
  304. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -3
  305. package/src/modules/cis/agents/storyteller.agent.yaml +4 -4
  306. package/src/modules/cis/module.yaml +0 -1
  307. package/src/modules/cis/workflows/README.md +1 -1
  308. package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
  309. package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -7
  310. package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
  311. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -7
  312. package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
  313. package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -7
  314. package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
  315. package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -7
  316. package/src/utility/models/agent-activation-ide.xml +3 -3
  317. package/src/utility/models/agent-activation-web.xml +3 -3
  318. package/src/utility/models/fragments/activation-steps.xml +1 -1
  319. package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
  320. package/src/utility/models/fragments/handler-workflow.xml +1 -1
  321. package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
  322. package/tools/cli/README.md +19 -19
  323. package/tools/cli/bundlers/web-bundler.js +23 -33
  324. package/tools/cli/commands/build.js +5 -5
  325. package/tools/cli/installers/lib/core/config-collector.js +19 -14
  326. package/tools/cli/installers/lib/core/custom-module-cache.js +18 -6
  327. package/tools/cli/installers/lib/core/installer.js +104 -109
  328. package/tools/cli/installers/lib/core/manifest-generator.js +1 -1
  329. package/tools/cli/installers/lib/custom/handler.js +1 -4
  330. package/tools/cli/installers/lib/ide/_base-ide.js +14 -14
  331. package/tools/cli/installers/lib/ide/gemini.js +4 -4
  332. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +2 -2
  333. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +3 -3
  334. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  335. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +3 -3
  336. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +3 -3
  337. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +1 -1
  338. package/tools/cli/installers/lib/modules/manager.js +24 -24
  339. package/tools/cli/lib/agent/compiler.js +3 -3
  340. package/tools/cli/lib/agent/installer.js +2 -2
  341. package/tools/cli/lib/ui.js +234 -238
  342. package/tools/cli/regenerate-manifests.js +3 -4
  343. package/tools/migrate-custom-module-paths.js +1 -1
  344. package/example-custom-content/README.md +0 -8
  345. package/example-custom-content/agents/commit-poet/commit-poet.agent.yaml +0 -129
  346. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/instructions.md +0 -70
  347. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +0 -111
  348. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +0 -70
  349. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +0 -114
  350. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +0 -134
  351. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +0 -161
  352. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +0 -103
  353. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/memories.md +0 -17
  354. package/example-custom-content/agents/toolsmith/toolsmith.agent.yaml +0 -109
  355. package/example-custom-content/module.yaml +0 -4
  356. package/example-custom-content/workflows/quiz-master/steps/step-01-init.md +0 -168
  357. package/example-custom-content/workflows/quiz-master/steps/step-02-q1.md +0 -155
  358. package/example-custom-content/workflows/quiz-master/steps/step-03-q2.md +0 -89
  359. package/example-custom-content/workflows/quiz-master/steps/step-04-q3.md +0 -36
  360. package/example-custom-content/workflows/quiz-master/steps/step-05-q4.md +0 -36
  361. package/example-custom-content/workflows/quiz-master/steps/step-06-q5.md +0 -36
  362. package/example-custom-content/workflows/quiz-master/steps/step-07-q6.md +0 -36
  363. package/example-custom-content/workflows/quiz-master/steps/step-08-q7.md +0 -36
  364. package/example-custom-content/workflows/quiz-master/steps/step-09-q8.md +0 -36
  365. package/example-custom-content/workflows/quiz-master/steps/step-10-q9.md +0 -36
  366. package/example-custom-content/workflows/quiz-master/steps/step-11-q10.md +0 -36
  367. package/example-custom-content/workflows/quiz-master/steps/step-12-results.md +0 -150
  368. package/example-custom-content/workflows/quiz-master/templates/csv-headers.template +0 -1
  369. package/example-custom-content/workflows/quiz-master/workflow.md +0 -54
  370. package/example-custom-content/workflows/wassup/workflow.md +0 -26
  371. package/example-custom-module/mwm/README.md +0 -9
  372. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/cognitive-distortions.md +0 -47
  373. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/thought-records.md +0 -17
  374. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach.agent.yaml +0 -151
  375. package/example-custom-module/mwm/agents/crisis-navigator.agent.yaml +0 -138
  376. package/example-custom-module/mwm/agents/meditation-guide.agent.yaml +0 -138
  377. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/insights.md +0 -13
  378. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/instructions.md +0 -30
  379. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/memories.md +0 -13
  380. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/patterns.md +0 -17
  381. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion.agent.yaml +0 -125
  382. package/example-custom-module/mwm/module.yaml +0 -28
  383. package/example-custom-module/mwm/workflows/cbt-thought-record/README.md +0 -31
  384. package/example-custom-module/mwm/workflows/cbt-thought-record/workflow.md +0 -45
  385. package/example-custom-module/mwm/workflows/crisis-support/README.md +0 -31
  386. package/example-custom-module/mwm/workflows/crisis-support/workflow.md +0 -45
  387. package/example-custom-module/mwm/workflows/daily-checkin/README.md +0 -32
  388. package/example-custom-module/mwm/workflows/daily-checkin/workflow.md +0 -45
  389. package/example-custom-module/mwm/workflows/guided-meditation/README.md +0 -31
  390. package/example-custom-module/mwm/workflows/guided-meditation/workflow.md +0 -45
  391. package/example-custom-module/mwm/workflows/wellness-journal/README.md +0 -31
  392. package/example-custom-module/mwm/workflows/wellness-journal/workflow.md +0 -45
@@ -24,6 +24,7 @@ const path = require('node:path');
24
24
  const os = require('node:os');
25
25
  const fs = require('fs-extra');
26
26
  const { CLIUtils } = require('./cli-utils');
27
+ const { CustomHandler } = require('../installers/lib/custom/handler');
27
28
 
28
29
  /**
29
30
  * UI utilities for the installer
@@ -135,7 +136,7 @@ class UI {
135
136
  // Create the bmad directory based on core config
136
137
  const path = require('node:path');
137
138
  const fs = require('fs-extra');
138
- const bmadFolderName = coreConfig.bmad_folder || 'bmad';
139
+ const bmadFolderName = '.bmad';
139
140
  const bmadDir = path.join(confirmedDirectory, bmadFolderName);
140
141
 
141
142
  await fs.ensureDir(bmadDir);
@@ -150,7 +151,6 @@ class UI {
150
151
  const { CustomModuleCache } = require('../installers/lib/core/custom-module-cache');
151
152
  const cache = new CustomModuleCache(bmadDir);
152
153
 
153
- const { CustomHandler } = require('../installers/lib/custom/handler');
154
154
  const customHandler = new CustomHandler();
155
155
  const customFiles = await customHandler.findCustomContent(customContentConfig.customPath);
156
156
 
@@ -218,7 +218,6 @@ class UI {
218
218
  customContentConfig.selectedFiles = selectedCustomContent.map((mod) => mod.replace('__CUSTOM_CONTENT__', ''));
219
219
  // Convert custom content to module IDs for installation
220
220
  const customContentModuleIds = [];
221
- const { CustomHandler } = require('../installers/lib/custom/handler');
222
221
  const customHandler = new CustomHandler();
223
222
  for (const customFile of customContentConfig.selectedFiles) {
224
223
  // Get the module info to extract the ID
@@ -637,8 +636,8 @@ class UI {
637
636
  moduleData = yaml.load(yamlContent);
638
637
  foundPath = configPath;
639
638
  break;
640
- } catch {
641
- // Continue to next path
639
+ } catch (error) {
640
+ throw new Error(`Failed to parse config at ${configPath}: ${error.message}`);
642
641
  }
643
642
  }
644
643
  }
@@ -654,20 +653,11 @@ class UI {
654
653
  cached: true,
655
654
  });
656
655
  } else {
657
- // Debug: show what paths we tried to check
658
- console.log(chalk.dim(`DEBUG: No module config found for ${cachedModule.id}`));
659
- console.log(
660
- chalk.dim(
661
- `DEBUG: Tried paths:`,
662
- possibleConfigPaths.map((p) => p.replace(cachedModule.cachePath, '.')),
663
- ),
664
- );
665
- console.log(chalk.dim(`DEBUG: cachedModule:`, JSON.stringify(cachedModule, null, 2)));
656
+ // Module config not found - skip silently (non-critical)
666
657
  }
667
658
  }
668
659
  } else if (customContentConfig.customPath) {
669
660
  // Existing installation - show from directory
670
- const { CustomHandler } = require('../installers/lib/custom/handler');
671
661
  const customHandler = new CustomHandler();
672
662
  const customFiles = await customHandler.findCustomContent(customContentConfig.customPath);
673
663
 
@@ -820,104 +810,108 @@ class UI {
820
810
  */
821
811
  async promptCustomContentLocation() {
822
812
  try {
823
- CLIUtils.displaySection('Custom Content', 'Optional: Add custom agents, workflows, and modules');
824
-
825
- const { hasCustomContent } = await inquirer.prompt([
826
- {
827
- type: 'list',
828
- name: 'hasCustomContent',
829
- message: 'Do you have custom content to install?',
830
- choices: [
831
- { name: 'No (skip custom content)', value: 'none' },
832
- { name: 'Enter a directory path', value: 'directory' },
833
- { name: 'Enter a URL', value: 'url' },
834
- ],
835
- default: 'none',
836
- },
837
- ]);
838
-
839
- if (hasCustomContent === 'none') {
840
- return { hasCustomContent: false };
841
- }
842
-
843
- if (hasCustomContent === 'url') {
844
- console.log(chalk.yellow('\nURL-based custom content installation is coming soon!'));
845
- console.log(chalk.cyan('For now, please download your custom content and choose "Enter a directory path".\n'));
846
- return { hasCustomContent: false };
847
- }
848
-
849
- if (hasCustomContent === 'directory') {
850
- let customPath;
851
- while (!customPath) {
852
- let expandedPath;
853
- const { directory } = await inquirer.prompt([
854
- {
855
- type: 'input',
856
- name: 'directory',
857
- message: 'Enter directory to search for custom content (will scan subfolders):',
858
- default: process.cwd(), // Use actual current working directory
859
- validate: async (input) => {
860
- if (!input || input.trim() === '') {
861
- return 'Please enter a directory path';
862
- }
863
-
864
- try {
865
- expandedPath = this.expandUserPath(input.trim());
866
- } catch (error) {
867
- return error.message;
868
- }
869
-
870
- // Check if the path exists
871
- const pathExists = await fs.pathExists(expandedPath);
872
- if (!pathExists) {
873
- return 'Directory does not exist';
874
- }
875
-
876
- return true;
877
- },
878
- },
879
- ]);
880
-
881
- // Now expand the path for use after the prompt
882
- expandedPath = this.expandUserPath(directory.trim());
883
-
884
- // Check if directory has custom content
885
- const { CustomHandler } = require('../installers/lib/custom/handler');
886
- const customHandler = new CustomHandler();
887
- const customFiles = await customHandler.findCustomContent(expandedPath);
888
-
889
- if (customFiles.length === 0) {
890
- console.log(chalk.yellow(`\nNo custom content found in ${expandedPath}`));
891
-
892
- const { tryAgain } = await inquirer.prompt([
893
- {
894
- type: 'confirm',
895
- name: 'tryAgain',
896
- message: 'Try a different directory?',
897
- default: true,
898
- },
899
- ]);
900
-
901
- if (tryAgain) {
902
- continue;
903
- } else {
904
- return { hasCustomContent: false };
905
- }
906
- }
907
-
908
- customPath = expandedPath;
909
- console.log(chalk.green(`\n✓ Found ${customFiles.length} custom content item(s):`));
910
- for (const file of customFiles) {
911
- const relativePath = path.relative(expandedPath, path.dirname(file));
912
- const folderName = path.dirname(file).split(path.sep).pop();
913
- console.log(chalk.dim(` • ${folderName} ${chalk.gray(`(${relativePath})`)}`));
914
- }
915
- }
916
-
917
- return { hasCustomContent: true, customPath };
918
- }
919
-
813
+ // Skip custom content installation - always return false
920
814
  return { hasCustomContent: false };
815
+
816
+ // TODO: Custom content installation temporarily disabled
817
+ // CLIUtils.displaySection('Custom Content', 'Optional: Add custom agents, workflows, and modules');
818
+
819
+ // const { hasCustomContent } = await inquirer.prompt([
820
+ // {
821
+ // type: 'list',
822
+ // name: 'hasCustomContent',
823
+ // message: 'Do you have custom content to install?',
824
+ // choices: [
825
+ // { name: 'No (skip custom content)', value: 'none' },
826
+ // { name: 'Enter a directory path', value: 'directory' },
827
+ // { name: 'Enter a URL', value: 'url' },
828
+ // ],
829
+ // default: 'none',
830
+ // },
831
+ // ]);
832
+
833
+ // if (hasCustomContent === 'none') {
834
+ // return { hasCustomContent: false };
835
+ // }
836
+
837
+ // TODO: Custom content installation temporarily disabled
838
+ // if (hasCustomContent === 'url') {
839
+ // console.log(chalk.yellow('\nURL-based custom content installation is coming soon!'));
840
+ // console.log(chalk.cyan('For now, please download your custom content and choose "Enter a directory path".\n'));
841
+ // return { hasCustomContent: false };
842
+ // }
843
+
844
+ // if (hasCustomContent === 'directory') {
845
+ // let customPath;
846
+ // while (!customPath) {
847
+ // let expandedPath;
848
+ // const { directory } = await inquirer.prompt([
849
+ // {
850
+ // type: 'input',
851
+ // name: 'directory',
852
+ // message: 'Enter directory to search for custom content (will scan subfolders):',
853
+ // default: process.cwd(), // Use actual current working directory
854
+ // validate: async (input) => {
855
+ // if (!input || input.trim() === '') {
856
+ // return 'Please enter a directory path';
857
+ // }
858
+
859
+ // try {
860
+ // expandedPath = this.expandUserPath(input.trim());
861
+ // } catch (error) {
862
+ // return error.message;
863
+ // }
864
+
865
+ // // Check if the path exists
866
+ // const pathExists = await fs.pathExists(expandedPath);
867
+ // if (!pathExists) {
868
+ // return 'Directory does not exist';
869
+ // }
870
+
871
+ // return true;
872
+ // },
873
+ // },
874
+ // ]);
875
+
876
+ // // Now expand the path for use after the prompt
877
+ // expandedPath = this.expandUserPath(directory.trim());
878
+
879
+ // // Check if directory has custom content
880
+ // const customHandler = new CustomHandler();
881
+ // const customFiles = await customHandler.findCustomContent(expandedPath);
882
+
883
+ // if (customFiles.length === 0) {
884
+ // console.log(chalk.yellow(`\nNo custom content found in ${expandedPath}`));
885
+
886
+ // const { tryAgain } = await inquirer.prompt([
887
+ // {
888
+ // type: 'confirm',
889
+ // name: 'tryAgain',
890
+ // message: 'Try a different directory?',
891
+ // default: true,
892
+ // },
893
+ // ]);
894
+
895
+ // if (tryAgain) {
896
+ // continue;
897
+ // } else {
898
+ // return { hasCustomContent: false };
899
+ // }
900
+ // }
901
+
902
+ // customPath = expandedPath;
903
+ // console.log(chalk.green(`\n✓ Found ${customFiles.length} custom content item(s):`));
904
+ // for (const file of customFiles) {
905
+ // const relativePath = path.relative(expandedPath, path.dirname(file));
906
+ // const folderName = path.dirname(file).split(path.sep).pop();
907
+ // console.log(chalk.dim(` • ${folderName} ${chalk.gray(`(${relativePath})`)}`));
908
+ // }
909
+ // }
910
+
911
+ // return { hasCustomContent: true, customPath };
912
+ // }
913
+
914
+ // return { hasCustomContent: false };
921
915
  } catch (error) {
922
916
  console.error(chalk.red('Error in custom content prompt:'), error);
923
917
  return { hasCustomContent: false };
@@ -1088,7 +1082,7 @@ class UI {
1088
1082
  * @calls checkAgentVibesInstalled(), inquirer.prompt(), chalk.green/yellow/dim()
1089
1083
  *
1090
1084
  * AI NOTE: This prompt is strategically positioned in installation flow:
1091
- * - AFTER core config (bmad_folder, user_name, etc)
1085
+ * - AFTER core config (user_name, etc)
1092
1086
  * - BEFORE IDE selection (which can hang on Windows/PowerShell)
1093
1087
  *
1094
1088
  * Flow Logic:
@@ -1216,132 +1210,134 @@ class UI {
1216
1210
  */
1217
1211
  async promptCustomContentForExisting() {
1218
1212
  try {
1219
- CLIUtils.displaySection('Custom Content', 'Add new custom agents, workflows, or modules to your installation');
1220
-
1221
- const { hasCustomContent } = await inquirer.prompt([
1222
- {
1223
- type: 'list',
1224
- name: 'hasCustomContent',
1225
- message: 'Do you want to add or update custom content?',
1226
- choices: [
1227
- {
1228
- name: 'No, continue with current installation only',
1229
- value: false,
1230
- },
1231
- {
1232
- name: 'Yes, I have custom content to add or update',
1233
- value: true,
1234
- },
1235
- ],
1236
- default: false,
1237
- },
1238
- ]);
1239
-
1240
- if (!hasCustomContent) {
1241
- return { hasCustomContent: false };
1242
- }
1243
-
1244
- // Get directory path
1245
- const { customPath } = await inquirer.prompt([
1246
- {
1247
- type: 'input',
1248
- name: 'customPath',
1249
- message: 'Enter directory to search for custom content (will scan subfolders):',
1250
- default: process.cwd(),
1251
- validate: async (input) => {
1252
- if (!input || input.trim() === '') {
1253
- return 'Please enter a directory path';
1254
- }
1255
-
1256
- // Normalize and check if path exists
1257
- const expandedPath = CLIUtils.expandPath(input.trim());
1258
- const pathExists = await fs.pathExists(expandedPath);
1259
- if (!pathExists) {
1260
- return 'Directory does not exist';
1261
- }
1262
-
1263
- // Check if it's actually a directory
1264
- const stats = await fs.stat(expandedPath);
1265
- if (!stats.isDirectory()) {
1266
- return 'Path must be a directory';
1267
- }
1268
-
1269
- return true;
1270
- },
1271
- transformer: (input) => {
1272
- return CLIUtils.expandPath(input);
1273
- },
1274
- },
1275
- ]);
1276
-
1277
- const resolvedPath = CLIUtils.expandPath(customPath);
1278
-
1279
- // Find custom content
1280
- const { CustomHandler } = require('../installers/lib/custom/handler');
1281
- const customHandler = new CustomHandler();
1282
- const customFiles = await customHandler.findCustomContent(resolvedPath);
1283
-
1284
- if (customFiles.length === 0) {
1285
- console.log(chalk.yellow(`\nNo custom content found in ${resolvedPath}`));
1286
-
1287
- const { tryDifferent } = await inquirer.prompt([
1288
- {
1289
- type: 'confirm',
1290
- name: 'tryDifferent',
1291
- message: 'Try a different directory?',
1292
- default: true,
1293
- },
1294
- ]);
1295
-
1296
- if (tryDifferent) {
1297
- return await this.promptCustomContentForExisting();
1298
- }
1299
-
1300
- return { hasCustomContent: false };
1301
- }
1302
-
1303
- // Display found items
1304
- console.log(chalk.cyan(`\nFound ${customFiles.length} custom content file(s):`));
1305
- const { CustomHandler: CustomHandler2 } = require('../installers/lib/custom/handler');
1306
- const customHandler2 = new CustomHandler2();
1307
- const customContentItems = [];
1308
-
1309
- for (const customFile of customFiles) {
1310
- const customInfo = await customHandler2.getCustomInfo(customFile);
1311
- if (customInfo) {
1312
- customContentItems.push({
1313
- name: `${chalk.cyan('✓')} ${customInfo.name} ${chalk.gray(`(${customInfo.relativePath})`)}`,
1314
- value: `__CUSTOM_CONTENT__${customFile}`,
1315
- checked: true,
1316
- });
1317
- }
1318
- }
1319
-
1320
- // Add option to keep existing custom content
1321
- console.log(chalk.yellow('\nExisting custom modules will be preserved unless you remove them'));
1322
-
1323
- const { selectedFiles } = await inquirer.prompt([
1324
- {
1325
- type: 'checkbox',
1326
- name: 'selectedFiles',
1327
- message: 'Select custom content to add:',
1328
- choices: customContentItems,
1329
- pageSize: 15,
1330
- validate: (answer) => {
1331
- if (answer.length === 0) {
1332
- return 'You must select at least one item';
1333
- }
1334
- return true;
1335
- },
1336
- },
1337
- ]);
1213
+ // Skip custom content installation - always return false
1214
+ return { hasCustomContent: false };
1338
1215
 
1339
- return {
1340
- hasCustomContent: true,
1341
- customPath: resolvedPath,
1342
- selected: true,
1343
- selectedFiles: selectedFiles,
1344
- };
1216
+ // TODO: Custom content installation temporarily disabled
1217
+ // CLIUtils.displaySection('Custom Content', 'Add new custom agents, workflows, or modules to your installation');
1218
+
1219
+ // const { hasCustomContent } = await inquirer.prompt([
1220
+ // {
1221
+ // type: 'list',
1222
+ // name: 'hasCustomContent',
1223
+ // message: 'Do you want to add or update custom content?',
1224
+ // choices: [
1225
+ // {
1226
+ // name: 'No, continue with current installation only',
1227
+ // value: false,
1228
+ // },
1229
+ // {
1230
+ // name: 'Yes, I have custom content to add or update',
1231
+ // value: true,
1232
+ // },
1233
+ // ],
1234
+ // default: false,
1235
+ // },
1236
+ // ]);
1237
+
1238
+ // if (!hasCustomContent) {
1239
+ // return { hasCustomContent: false };
1240
+ // }
1241
+
1242
+ // TODO: Custom content installation temporarily disabled
1243
+ // // Get directory path
1244
+ // const { customPath } = await inquirer.prompt([
1245
+ // {
1246
+ // type: 'input',
1247
+ // name: 'customPath',
1248
+ // message: 'Enter directory to search for custom content (will scan subfolders):',
1249
+ // default: process.cwd(),
1250
+ // validate: async (input) => {
1251
+ // if (!input || input.trim() === '') {
1252
+ // return 'Please enter a directory path';
1253
+ // }
1254
+
1255
+ // // Normalize and check if path exists
1256
+ // const expandedPath = CLIUtils.expandPath(input.trim());
1257
+ // const pathExists = await fs.pathExists(expandedPath);
1258
+ // if (!pathExists) {
1259
+ // return 'Directory does not exist';
1260
+ // }
1261
+
1262
+ // // Check if it's actually a directory
1263
+ // const stats = await fs.stat(expandedPath);
1264
+ // if (!stats.isDirectory()) {
1265
+ // return 'Path must be a directory';
1266
+ // }
1267
+
1268
+ // return true;
1269
+ // },
1270
+ // transformer: (input) => {
1271
+ // return CLIUtils.expandPath(input);
1272
+ // },
1273
+ // },
1274
+ // ]);
1275
+
1276
+ // const resolvedPath = CLIUtils.expandPath(customPath);
1277
+
1278
+ // // Find custom content
1279
+ // const customHandler = new CustomHandler();
1280
+ // const customFiles = await customHandler.findCustomContent(resolvedPath);
1281
+
1282
+ // if (customFiles.length === 0) {
1283
+ // console.log(chalk.yellow(`\nNo custom content found in ${resolvedPath}`));
1284
+
1285
+ // const { tryDifferent } = await inquirer.prompt([
1286
+ // {
1287
+ // type: 'confirm',
1288
+ // name: 'tryDifferent',
1289
+ // message: 'Try a different directory?',
1290
+ // default: true,
1291
+ // },
1292
+ // ]);
1293
+
1294
+ // if (tryDifferent) {
1295
+ // return await this.promptCustomContentForExisting();
1296
+ // }
1297
+
1298
+ // return { hasCustomContent: false };
1299
+ // }
1300
+
1301
+ // // Display found items
1302
+ // console.log(chalk.cyan(`\nFound ${customFiles.length} custom content file(s):`));
1303
+ // const customContentItems = [];
1304
+
1305
+ // for (const customFile of customFiles) {
1306
+ // const customInfo = await customHandler.getCustomInfo(customFile);
1307
+ // if (customInfo) {
1308
+ // customContentItems.push({
1309
+ // name: `${chalk.cyan('✓')} ${customInfo.name} ${chalk.gray(`(${customInfo.relativePath})`)}`,
1310
+ // value: `__CUSTOM_CONTENT__${customFile}`,
1311
+ // checked: true,
1312
+ // });
1313
+ // }
1314
+ // }
1315
+
1316
+ // // Add option to keep existing custom content
1317
+ // console.log(chalk.yellow('\nExisting custom modules will be preserved unless you remove them'));
1318
+
1319
+ // const { selectedFiles } = await inquirer.prompt([
1320
+ // {
1321
+ // type: 'checkbox',
1322
+ // name: 'selectedFiles',
1323
+ // message: 'Select custom content to add:',
1324
+ // choices: customContentItems,
1325
+ // pageSize: 15,
1326
+ // validate: (answer) => {
1327
+ // if (answer.length === 0) {
1328
+ // return 'You must select at least one item';
1329
+ // }
1330
+ // return true;
1331
+ // },
1332
+ // },
1333
+ // ]);
1334
+
1335
+ // return {
1336
+ // hasCustomContent: true,
1337
+ // customPath: resolvedPath,
1338
+ // selected: true,
1339
+ // selectedFiles: selectedFiles,
1340
+ // };
1345
1341
  } catch (error) {
1346
1342
  console.error(chalk.red('Error configuring custom content:'), error);
1347
1343
  return { hasCustomContent: false };
@@ -3,17 +3,16 @@ const { ManifestGenerator } = require('./installers/lib/core/manifest-generator'
3
3
 
4
4
  async function regenerateManifests() {
5
5
  const generator = new ManifestGenerator();
6
- const targetDir = process.argv[2] || 'z1';
7
- const bmadDir = path.join(process.cwd(), targetDir, 'bmad');
6
+ const targetDir = process.argv[2];
8
7
 
9
8
  // List of modules to include in manifests
10
9
  const selectedModules = ['bmb', 'bmm', 'cis'];
11
10
 
12
11
  console.log('Regenerating manifests with relative paths...');
13
- console.log('Target directory:', bmadDir);
12
+ console.log('Target directory: .bmad');
14
13
 
15
14
  try {
16
- const result = await generator.generateManifests(bmadDir, selectedModules, [], { ides: [] });
15
+ const result = await generator.generateManifests('.bmad', selectedModules, [], { ides: [] });
17
16
  console.log('✓ Manifests generated successfully:');
18
17
  console.log(` - ${result.workflows} workflows`);
19
18
  console.log(` - ${result.agents} agents`);
@@ -12,7 +12,7 @@ const chalk = require('chalk');
12
12
  * Find BMAD directory in project
13
13
  */
14
14
  function findBmadDir(projectDir = process.cwd()) {
15
- const possibleNames = ['bmad', '.bmad'];
15
+ const possibleNames = ['.bmad'];
16
16
 
17
17
  for (const name of possibleNames) {
18
18
  const bmadDir = path.join(projectDir, name);
@@ -1,8 +0,0 @@
1
- # Example Custom Content module
2
-
3
- This is a demonstration of custom stand along agents and workflows. By having this content all in a folder with a custom.yaml file,
4
- These items will be discovered by the installer and offered for installation.
5
-
6
- This is how you could also create and share other custom agents and workflows not tied to a specific module.
7
-
8
- To see how these become installable, rename custom.bak -> custom.yaml and run the installer from the location you also have put this folder.