siesa-agents 2.1.36 → 2.1.37

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 (869) hide show
  1. package/README.md +148 -121
  2. package/_bmad/_config/agent-manifest.csv +20 -0
  3. package/_bmad/_config/agents/bmb-agent-builder.customize.yaml +41 -0
  4. package/_bmad/_config/agents/bmb-module-builder.customize.yaml +41 -0
  5. package/_bmad/_config/agents/bmb-workflow-builder.customize.yaml +41 -0
  6. package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
  7. package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
  8. package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
  9. package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
  10. package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
  11. package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
  12. package/_bmad/_config/agents/bmm-tea.customize.yaml +41 -0
  13. package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
  14. package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
  15. package/_bmad/_config/agents/cis-brainstorming-coach.customize.yaml +41 -0
  16. package/_bmad/_config/agents/cis-creative-problem-solver.customize.yaml +41 -0
  17. package/_bmad/_config/agents/cis-design-thinking-coach.customize.yaml +41 -0
  18. package/_bmad/_config/agents/cis-innovation-strategist.customize.yaml +41 -0
  19. package/_bmad/_config/agents/cis-presentation-master.customize.yaml +41 -0
  20. package/_bmad/_config/agents/cis-storyteller.customize.yaml +41 -0
  21. package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
  22. package/_bmad/_config/files-manifest.csv +469 -0
  23. package/_bmad/_config/ides/claude-code.yaml +6 -0
  24. package/_bmad/_config/manifest.yaml +14 -0
  25. package/_bmad/_config/task-manifest.csv +6 -0
  26. package/_bmad/_config/tool-manifest.csv +1 -0
  27. package/_bmad/_config/workflow-manifest.csv +45 -0
  28. package/_bmad/_memory/config.yaml +11 -0
  29. package/_bmad/_memory/storyteller-sidecar/stories-told.md +7 -0
  30. package/_bmad/_memory/storyteller-sidecar/story-preferences.md +7 -0
  31. package/_bmad/bmb/README.md +25 -0
  32. package/_bmad/bmb/agents/agent-builder.md +57 -0
  33. package/_bmad/bmb/agents/module-builder.md +60 -0
  34. package/_bmad/bmb/agents/workflow-builder.md +56 -0
  35. package/_bmad/bmb/config.yaml +12 -0
  36. package/_bmad/bmb/docs/workflows/architecture.md +220 -0
  37. package/_bmad/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  38. package/_bmad/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  39. package/_bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  40. package/_bmad/bmb/docs/workflows/step-file-rules.md +469 -0
  41. package/_bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
  42. package/_bmad/bmb/docs/workflows/templates/step-1b-template.md +223 -0
  43. package/_bmad/bmb/docs/workflows/templates/step-file.md +139 -0
  44. package/_bmad/bmb/docs/workflows/templates/step-template.md +290 -0
  45. package/_bmad/bmb/docs/workflows/templates/workflow-template.md +104 -0
  46. package/_bmad/bmb/docs/workflows/templates/workflow.md +58 -0
  47. package/_bmad/bmb/docs/workflows/terms.md +97 -0
  48. package/_bmad/bmb/reference/agents/simple-examples/README.md +223 -0
  49. package/_bmad/bmb/reference/readme.md +3 -0
  50. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  51. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  52. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  53. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  54. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +121 -0
  55. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +165 -0
  56. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +154 -0
  57. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +183 -0
  58. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +168 -0
  59. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +195 -0
  60. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  61. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  62. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  63. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  64. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  65. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  66. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +59 -0
  67. package/_bmad/bmb/workflows/agent/data/agent-compilation.md +273 -0
  68. package/_bmad/bmb/workflows/agent/data/agent-menu-patterns.md +233 -0
  69. package/_bmad/bmb/workflows/agent/data/agent-metadata.md +208 -0
  70. package/_bmad/bmb/workflows/agent/data/brainstorm-context.md +146 -0
  71. package/_bmad/bmb/workflows/agent/data/communication-presets.csv +61 -0
  72. package/_bmad/bmb/workflows/agent/data/critical-actions.md +120 -0
  73. package/_bmad/bmb/workflows/agent/data/expert-agent-architecture.md +236 -0
  74. package/_bmad/bmb/workflows/agent/data/expert-agent-validation.md +173 -0
  75. package/_bmad/bmb/workflows/agent/data/module-agent-validation.md +124 -0
  76. package/_bmad/bmb/workflows/agent/data/persona-properties.md +266 -0
  77. package/_bmad/bmb/workflows/agent/data/principles-crafting.md +292 -0
  78. package/_bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +17 -0
  79. package/_bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -0
  80. package/_bmad/bmb/workflows/agent/data/simple-agent-architecture.md +204 -0
  81. package/_bmad/bmb/workflows/agent/data/simple-agent-validation.md +132 -0
  82. package/_bmad/bmb/workflows/agent/data/understanding-agent-types.md +222 -0
  83. package/_bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +126 -0
  84. package/_bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +168 -0
  85. package/_bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +294 -0
  86. package/_bmad/bmb/workflows/agent/steps-c/step-04-persona.md +210 -0
  87. package/_bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +176 -0
  88. package/_bmad/bmb/workflows/agent/steps-c/step-06-activation.md +275 -0
  89. package/_bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +185 -0
  90. package/_bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -0
  91. package/_bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -0
  92. package/_bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +203 -0
  93. package/_bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +135 -0
  94. package/_bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +161 -0
  95. package/_bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +158 -0
  96. package/_bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +306 -0
  97. package/_bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +462 -0
  98. package/_bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +244 -0
  99. package/_bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +214 -0
  100. package/_bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +191 -0
  101. package/_bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +78 -0
  102. package/_bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +76 -0
  103. package/_bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +75 -0
  104. package/_bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +75 -0
  105. package/_bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +78 -0
  106. package/_bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +119 -0
  107. package/_bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +122 -0
  108. package/_bmad/bmb/workflows/agent/steps-e/e-05-persona.md +132 -0
  109. package/_bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +120 -0
  110. package/_bmad/bmb/workflows/agent/steps-e/e-07-activation.md +122 -0
  111. package/_bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +134 -0
  112. package/_bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +117 -0
  113. package/_bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +120 -0
  114. package/_bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +70 -0
  115. package/_bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +70 -0
  116. package/_bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +69 -0
  117. package/_bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +69 -0
  118. package/_bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +70 -0
  119. package/_bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +111 -0
  120. package/_bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +150 -0
  121. package/_bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +128 -0
  122. package/_bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +73 -0
  123. package/_bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +72 -0
  124. package/_bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +71 -0
  125. package/_bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +71 -0
  126. package/_bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -0
  127. package/_bmad/bmb/workflows/agent/steps-v/v-03-summary.md +100 -0
  128. package/_bmad/bmb/workflows/agent/templates/agent-plan.template.md +5 -0
  129. package/_bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +76 -0
  130. package/_bmad/bmb/workflows/agent/templates/simple-agent.template.md +71 -0
  131. package/_bmad/bmb/workflows/agent/workflow.md +123 -0
  132. package/_bmad/bmb/workflows/create-module/steps/step-01-init.md +156 -0
  133. package/_bmad/bmb/workflows/create-module/steps/step-01b-continue.md +170 -0
  134. package/_bmad/bmb/workflows/create-module/steps/step-02-concept.md +218 -0
  135. package/_bmad/bmb/workflows/create-module/steps/step-03-components.md +268 -0
  136. package/_bmad/bmb/workflows/create-module/steps/step-04-structure.md +229 -0
  137. package/_bmad/bmb/workflows/create-module/steps/step-05-config.md +234 -0
  138. package/_bmad/bmb/workflows/create-module/steps/step-06-agents.md +297 -0
  139. package/_bmad/bmb/workflows/create-module/steps/step-07-workflows.md +229 -0
  140. package/_bmad/bmb/workflows/create-module/steps/step-08-installer.md +187 -0
  141. package/_bmad/bmb/workflows/create-module/steps/step-09-documentation.md +310 -0
  142. package/_bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +338 -0
  143. package/_bmad/bmb/workflows/create-module/steps/step-11-validate.md +336 -0
  144. package/_bmad/bmb/workflows/create-module/templates/agent.template.md +313 -0
  145. package/_bmad/bmb/workflows/create-module/templates/installer.template.js +47 -0
  146. package/_bmad/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
  147. package/_bmad/bmb/workflows/create-module/templates/module.template.yaml +53 -0
  148. package/_bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
  149. package/_bmad/bmb/workflows/create-module/validation.md +126 -0
  150. package/_bmad/bmb/workflows/create-module/workflow.md +56 -0
  151. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  152. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  153. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +28 -0
  154. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +177 -0
  155. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  156. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  157. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  158. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  159. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  160. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  161. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +25 -0
  162. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  163. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  164. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +47 -0
  165. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +37 -0
  166. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +18 -0
  167. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +58 -0
  168. package/_bmad/bmb/workflows/create-workflow/steps/step-01-init.md +158 -0
  169. package/_bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +212 -0
  170. package/_bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +251 -0
  171. package/_bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +217 -0
  172. package/_bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +290 -0
  173. package/_bmad/bmb/workflows/create-workflow/steps/step-06-design.md +272 -0
  174. package/_bmad/bmb/workflows/create-workflow/steps/step-07-build.md +323 -0
  175. package/_bmad/bmb/workflows/create-workflow/steps/step-08-review.md +285 -0
  176. package/_bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +188 -0
  177. package/_bmad/bmb/workflows/create-workflow/workflow.md +59 -0
  178. package/_bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -0
  179. package/_bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +254 -0
  180. package/_bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +218 -0
  181. package/_bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +194 -0
  182. package/_bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +246 -0
  183. package/_bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  184. package/_bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  185. package/_bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  186. package/_bmad/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  187. package/_bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  188. package/_bmad/bmb/workflows/edit-workflow/workflow.md +59 -0
  189. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +153 -0
  190. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +244 -0
  191. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +275 -0
  192. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +296 -0
  193. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +265 -0
  194. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +361 -0
  195. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +259 -0
  196. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +302 -0
  197. package/_bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  198. package/_bmad/bmb/workflows/workflow-compliance-check/workflow.md +59 -0
  199. package/_bmad/bmb/workflows-legacy/edit-module/README.md +171 -0
  200. package/_bmad/bmb/workflows-legacy/edit-module/checklist.md +163 -0
  201. package/_bmad/bmb/workflows-legacy/edit-module/instructions.md +340 -0
  202. package/_bmad/bmb/workflows-legacy/edit-module/workflow.yaml +33 -0
  203. package/_bmad/bmb/workflows-legacy/module-brief/README.md +264 -0
  204. package/_bmad/bmb/workflows-legacy/module-brief/checklist.md +116 -0
  205. package/_bmad/bmb/workflows-legacy/module-brief/instructions.md +268 -0
  206. package/_bmad/bmb/workflows-legacy/module-brief/template.md +275 -0
  207. package/_bmad/bmb/workflows-legacy/module-brief/workflow.yaml +35 -0
  208. package/_bmad/bmm/agents/analyst.md +76 -0
  209. package/_bmad/bmm/agents/architect.md +68 -0
  210. package/_bmad/bmm/agents/dev.md +70 -0
  211. package/_bmad/bmm/agents/pm.md +70 -0
  212. package/_bmad/bmm/agents/quick-flow-solo-dev.md +68 -0
  213. package/_bmad/bmm/agents/sm.md +71 -0
  214. package/_bmad/bmm/agents/tea.md +71 -0
  215. package/_bmad/bmm/agents/tech-writer.md +72 -0
  216. package/_bmad/bmm/agents/ux-designer.md +68 -0
  217. package/_bmad/bmm/config.yaml +18 -0
  218. package/_bmad/bmm/data/README.md +29 -0
  219. package/_bmad/bmm/data/documentation-standards.md +262 -0
  220. package/_bmad/bmm/data/project-context-template.md +40 -0
  221. package/_bmad/bmm/teams/default-party.csv +21 -0
  222. package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
  223. package/_bmad/bmm/testarch/knowledge/api-request.md +303 -0
  224. package/_bmad/bmm/testarch/knowledge/auth-session.md +356 -0
  225. package/_bmad/bmm/testarch/knowledge/burn-in.md +273 -0
  226. package/_bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  227. package/_bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  228. package/_bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  229. package/_bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  230. package/_bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  231. package/_bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  232. package/_bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  233. package/_bmad/bmm/testarch/knowledge/file-utils.md +260 -0
  234. package/_bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  235. package/_bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  236. package/_bmad/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  237. package/_bmad/bmm/testarch/knowledge/log.md +294 -0
  238. package/_bmad/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  239. package/_bmad/bmm/testarch/knowledge/network-first.md +486 -0
  240. package/_bmad/bmm/testarch/knowledge/network-recorder.md +265 -0
  241. package/_bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  242. package/_bmad/bmm/testarch/knowledge/overview.md +283 -0
  243. package/_bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  244. package/_bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  245. package/_bmad/bmm/testarch/knowledge/recurse.md +296 -0
  246. package/_bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  247. package/_bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  248. package/_bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  249. package/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  250. package/_bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  251. package/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  252. package/_bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  253. package/_bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  254. package/_bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  255. package/_bmad/bmm/testarch/tea-index.csv +33 -0
  256. package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  257. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
  258. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
  259. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
  260. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
  261. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
  262. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
  263. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
  264. package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  265. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  266. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  267. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  268. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  269. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  270. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  271. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  272. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  273. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  274. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  275. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  276. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  277. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  278. package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
  279. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  280. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  281. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  282. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  283. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  284. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  285. package/_bmad/bmm/workflows/1-analysis/research/workflow.md +173 -0
  286. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  287. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  288. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  289. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  290. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  291. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  292. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  293. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  294. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  295. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  296. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  297. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  298. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  299. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  300. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  301. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  302. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  303. package/_bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  304. package/_bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
  305. package/_bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  306. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
  307. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
  308. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
  309. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
  310. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
  311. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
  312. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
  313. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
  314. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
  315. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
  316. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
  317. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
  318. package/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
  319. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  320. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  321. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  322. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  323. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  324. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  325. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  326. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  327. package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  328. package/{bmad-core/data → _bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards}/architecture-patterns.md +415 -415
  329. package/{bmad-core/data → _bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards}/backend-standards.md +811 -811
  330. package/{bmad-core/data → _bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards}/frontend-standards.md +375 -373
  331. package/{bmad-core/data → _bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards}/technical-preferences-ux.md +422 -422
  332. package/{bmad-core/data → _bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards}/technology-stack.md +235 -235
  333. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  334. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  335. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +166 -0
  336. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  337. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  338. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +342 -0
  339. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +328 -0
  340. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +368 -0
  341. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  342. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +366 -0
  343. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  344. package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +51 -0
  345. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  346. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  347. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  348. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  349. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  350. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  351. package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  352. package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
  353. package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  354. package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  355. package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  356. package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  357. package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  358. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -0
  359. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -0
  360. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -0
  361. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -0
  362. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -0
  363. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +66 -0
  364. package/_bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
  365. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.md +58 -0
  366. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +63 -0
  367. package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +85 -0
  368. package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +471 -0
  369. package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  370. package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  371. package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  372. package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  373. package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  374. package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  375. package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  376. package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  377. package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  378. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
  379. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
  380. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
  381. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
  382. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
  383. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
  384. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  385. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  386. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  387. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  388. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  389. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  390. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  391. package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
  392. package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  393. package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
  394. package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  395. package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  396. package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  397. package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  398. package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  399. package/_bmad/bmm/workflows/document-project/workflow.yaml +28 -0
  400. package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  401. package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  402. package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  403. package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  404. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  405. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  406. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  407. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  408. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  409. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  410. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  411. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  412. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  413. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  414. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  415. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  416. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  417. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  418. package/_bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  419. package/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +218 -0
  420. package/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  421. package/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  422. package/_bmad/bmm/workflows/generate-project-context/workflow.md +50 -0
  423. package/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  424. package/_bmad/bmm/workflows/testarch/atdd/checklist.md +374 -0
  425. package/_bmad/bmm/workflows/testarch/atdd/instructions.md +806 -0
  426. package/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  427. package/_bmad/bmm/workflows/testarch/automate/checklist.md +582 -0
  428. package/_bmad/bmm/workflows/testarch/automate/instructions.md +1324 -0
  429. package/_bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  430. package/_bmad/bmm/workflows/testarch/ci/checklist.md +248 -0
  431. package/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  432. package/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  433. package/_bmad/bmm/workflows/testarch/ci/instructions.md +536 -0
  434. package/_bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  435. package/_bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  436. package/_bmad/bmm/workflows/testarch/framework/instructions.md +481 -0
  437. package/_bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  438. package/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  439. package/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  440. package/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  441. package/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  442. package/_bmad/bmm/workflows/testarch/test-design/checklist.md +235 -0
  443. package/_bmad/bmm/workflows/testarch/test-design/instructions.md +788 -0
  444. package/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  445. package/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  446. package/_bmad/bmm/workflows/testarch/test-review/checklist.md +472 -0
  447. package/_bmad/bmm/workflows/testarch/test-review/instructions.md +628 -0
  448. package/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  449. package/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  450. package/_bmad/bmm/workflows/testarch/trace/checklist.md +655 -0
  451. package/_bmad/bmm/workflows/testarch/trace/instructions.md +1047 -0
  452. package/_bmad/bmm/workflows/testarch/trace/trace-template.md +675 -0
  453. package/_bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  454. package/_bmad/bmm/workflows/workflow-status/init/instructions.md +346 -0
  455. package/_bmad/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
  456. package/_bmad/bmm/workflows/workflow-status/instructions.md +395 -0
  457. package/_bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  458. package/_bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  459. package/_bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  460. package/_bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  461. package/_bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  462. package/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  463. package/_bmad/bmm/workflows/workflow-status/workflow.yaml +30 -0
  464. package/_bmad/cis/agents/brainstorming-coach.md +60 -0
  465. package/_bmad/cis/agents/creative-problem-solver.md +60 -0
  466. package/_bmad/cis/agents/design-thinking-coach.md +60 -0
  467. package/_bmad/cis/agents/innovation-strategist.md +60 -0
  468. package/_bmad/cis/agents/presentation-master.md +66 -0
  469. package/_bmad/cis/agents/storyteller/storyteller.md +57 -0
  470. package/_bmad/cis/config.yaml +11 -0
  471. package/_bmad/cis/teams/creative-squad.yaml +7 -0
  472. package/_bmad/cis/teams/default-party.csv +12 -0
  473. package/_bmad/cis/workflows/README.md +139 -0
  474. package/_bmad/cis/workflows/design-thinking/README.md +56 -0
  475. package/_bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
  476. package/_bmad/cis/workflows/design-thinking/instructions.md +202 -0
  477. package/_bmad/cis/workflows/design-thinking/template.md +111 -0
  478. package/_bmad/cis/workflows/design-thinking/workflow.yaml +27 -0
  479. package/_bmad/cis/workflows/innovation-strategy/README.md +56 -0
  480. package/_bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  481. package/_bmad/cis/workflows/innovation-strategy/instructions.md +276 -0
  482. package/_bmad/cis/workflows/innovation-strategy/template.md +189 -0
  483. package/_bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -0
  484. package/_bmad/cis/workflows/problem-solving/README.md +56 -0
  485. package/_bmad/cis/workflows/problem-solving/instructions.md +252 -0
  486. package/_bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
  487. package/_bmad/cis/workflows/problem-solving/template.md +165 -0
  488. package/_bmad/cis/workflows/problem-solving/workflow.yaml +27 -0
  489. package/_bmad/cis/workflows/storytelling/README.md +58 -0
  490. package/_bmad/cis/workflows/storytelling/instructions.md +293 -0
  491. package/_bmad/cis/workflows/storytelling/story-types.csv +26 -0
  492. package/_bmad/cis/workflows/storytelling/template.md +113 -0
  493. package/_bmad/cis/workflows/storytelling/workflow.yaml +27 -0
  494. package/_bmad/core/agents/bmad-master.md +57 -0
  495. package/_bmad/core/config.yaml +9 -0
  496. package/_bmad/core/resources/excalidraw/README.md +160 -0
  497. package/_bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  498. package/_bmad/core/resources/excalidraw/library-loader.md +50 -0
  499. package/_bmad/core/resources/excalidraw/validate-json-instructions.md +79 -0
  500. package/_bmad/core/tasks/index-docs.xml +65 -0
  501. package/_bmad/core/tasks/review-adversarial-general.xml +41 -0
  502. package/_bmad/core/tasks/shard-doc.xml +109 -0
  503. package/_bmad/core/tasks/validate-workflow.xml +89 -0
  504. package/_bmad/core/tasks/workflow.xml +235 -0
  505. package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
  506. package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
  507. package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
  508. package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  509. package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  510. package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  511. package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  512. package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  513. package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  514. package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +340 -0
  515. package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  516. package/_bmad/core/workflows/brainstorming/template.md +15 -0
  517. package/_bmad/core/workflows/brainstorming/workflow.md +51 -0
  518. package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -0
  519. package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -0
  520. package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  521. package/_bmad/core/workflows/party-mode/workflow.md +206 -0
  522. package/bin/install.js +507 -508
  523. package/bin/prepare-publish.js +26 -26
  524. package/bin/restore-folders.js +26 -26
  525. package/claude/commands/bmad/bmb/agents/agent-builder.md +14 -0
  526. package/claude/commands/bmad/bmb/agents/module-builder.md +14 -0
  527. package/claude/commands/bmad/bmb/agents/workflow-builder.md +14 -0
  528. package/claude/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md +5 -0
  529. package/claude/commands/bmad/bmb/workflows/agent.md +5 -0
  530. package/claude/commands/bmad/bmb/workflows/create-module.md +5 -0
  531. package/claude/commands/bmad/bmb/workflows/create-workflow.md +5 -0
  532. package/claude/commands/bmad/bmb/workflows/edit-workflow.md +5 -0
  533. package/claude/commands/bmad/bmb/workflows/workflow-compliance-check.md +5 -0
  534. package/claude/commands/bmad/bmm/agents/analyst.md +14 -0
  535. package/claude/commands/bmad/bmm/agents/architect.md +14 -0
  536. package/claude/commands/bmad/bmm/agents/dev.md +14 -0
  537. package/claude/commands/bmad/bmm/agents/pm.md +14 -0
  538. package/claude/commands/bmad/bmm/agents/quick-flow-solo-dev.md +14 -0
  539. package/claude/commands/bmad/bmm/agents/sm.md +14 -0
  540. package/claude/commands/bmad/bmm/agents/tea.md +14 -0
  541. package/claude/commands/bmad/bmm/agents/tech-writer.md +14 -0
  542. package/claude/commands/bmad/bmm/agents/ux-designer.md +14 -0
  543. package/claude/commands/bmad/bmm/workflows/check-implementation-readiness.md +5 -0
  544. package/claude/commands/bmad/bmm/workflows/code-review.md +13 -0
  545. package/claude/commands/bmad/bmm/workflows/correct-course.md +13 -0
  546. package/claude/commands/bmad/bmm/workflows/create-architecture.md +5 -0
  547. package/claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +5 -0
  548. package/claude/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md +13 -0
  549. package/claude/commands/bmad/bmm/workflows/create-excalidraw-diagram.md +13 -0
  550. package/claude/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md +13 -0
  551. package/claude/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md +13 -0
  552. package/claude/commands/bmad/bmm/workflows/create-prd.md +5 -0
  553. package/claude/commands/bmad/bmm/workflows/create-product-brief.md +5 -0
  554. package/claude/commands/bmad/bmm/workflows/create-story.md +13 -0
  555. package/claude/commands/bmad/bmm/workflows/create-tech-spec.md +5 -0
  556. package/claude/commands/bmad/bmm/workflows/create-ux-design.md +5 -0
  557. package/claude/commands/bmad/bmm/workflows/dev-story.md +13 -0
  558. package/claude/commands/bmad/bmm/workflows/document-project.md +13 -0
  559. package/claude/commands/bmad/bmm/workflows/generate-project-context.md +5 -0
  560. package/claude/commands/bmad/bmm/workflows/quick-dev.md +5 -0
  561. package/claude/commands/bmad/bmm/workflows/research.md +5 -0
  562. package/claude/commands/bmad/bmm/workflows/retrospective.md +13 -0
  563. package/claude/commands/bmad/bmm/workflows/sprint-planning.md +13 -0
  564. package/claude/commands/bmad/bmm/workflows/sprint-status.md +13 -0
  565. package/claude/commands/bmad/bmm/workflows/testarch-atdd.md +13 -0
  566. package/claude/commands/bmad/bmm/workflows/testarch-automate.md +13 -0
  567. package/claude/commands/bmad/bmm/workflows/testarch-ci.md +13 -0
  568. package/claude/commands/bmad/bmm/workflows/testarch-framework.md +13 -0
  569. package/claude/commands/bmad/bmm/workflows/testarch-nfr.md +13 -0
  570. package/claude/commands/bmad/bmm/workflows/testarch-test-design.md +13 -0
  571. package/claude/commands/bmad/bmm/workflows/testarch-test-review.md +13 -0
  572. package/claude/commands/bmad/bmm/workflows/testarch-trace.md +13 -0
  573. package/claude/commands/bmad/bmm/workflows/workflow-init.md +13 -0
  574. package/claude/commands/bmad/bmm/workflows/workflow-status.md +13 -0
  575. package/claude/commands/bmad/cis/agents/brainstorming-coach.md +14 -0
  576. package/claude/commands/bmad/cis/agents/creative-problem-solver.md +14 -0
  577. package/claude/commands/bmad/cis/agents/design-thinking-coach.md +14 -0
  578. package/claude/commands/bmad/cis/agents/innovation-strategist.md +14 -0
  579. package/claude/commands/bmad/cis/agents/presentation-master.md +14 -0
  580. package/claude/commands/bmad/cis/agents/storyteller.md +14 -0
  581. package/claude/commands/bmad/cis/workflows/design-thinking.md +13 -0
  582. package/claude/commands/bmad/cis/workflows/innovation-strategy.md +13 -0
  583. package/claude/commands/bmad/cis/workflows/problem-solving.md +13 -0
  584. package/claude/commands/bmad/cis/workflows/storytelling.md +13 -0
  585. package/claude/commands/bmad/core/agents/bmad-master.md +14 -0
  586. package/claude/commands/bmad/core/tasks/index-docs.md +9 -0
  587. package/claude/commands/bmad/core/workflows/brainstorming.md +5 -0
  588. package/claude/commands/bmad/core/workflows/party-mode.md +5 -0
  589. package/claude/hooks/file-restriction-hook.py +51 -51
  590. package/claude/hooks/track-agent.py +67 -67
  591. package/claude/settings.local.json +76 -76
  592. package/gemini/commands/bmad-agent-bmb-agent-builder.toml +12 -0
  593. package/gemini/commands/bmad-agent-bmb-module-builder.toml +12 -0
  594. package/gemini/commands/bmad-agent-bmb-workflow-builder.toml +12 -0
  595. package/gemini/commands/bmad-agent-bmm-analyst.toml +12 -0
  596. package/gemini/commands/bmad-agent-bmm-architect.toml +12 -0
  597. package/gemini/commands/bmad-agent-bmm-dev.toml +12 -0
  598. package/gemini/commands/bmad-agent-bmm-pm.toml +12 -0
  599. package/gemini/commands/bmad-agent-bmm-quick-flow-solo-dev.toml +12 -0
  600. package/gemini/commands/bmad-agent-bmm-sm.toml +12 -0
  601. package/gemini/commands/bmad-agent-bmm-tea.toml +12 -0
  602. package/gemini/commands/bmad-agent-bmm-tech-writer.toml +12 -0
  603. package/gemini/commands/bmad-agent-bmm-ux-designer.toml +12 -0
  604. package/gemini/commands/bmad-agent-cis-brainstorming-coach.toml +12 -0
  605. package/gemini/commands/bmad-agent-cis-creative-problem-solver.toml +12 -0
  606. package/gemini/commands/bmad-agent-cis-design-thinking-coach.toml +12 -0
  607. package/gemini/commands/bmad-agent-cis-innovation-strategist.toml +12 -0
  608. package/gemini/commands/bmad-agent-cis-presentation-master.toml +12 -0
  609. package/gemini/commands/bmad-agent-cis-storyteller.toml +12 -0
  610. package/gemini/commands/bmad-agent-core-bmad-master.toml +12 -0
  611. package/gemini/commands/bmad-task-core-index-docs.toml +12 -0
  612. package/gemini/commands/bmad-task-core-review-adversarial-general.toml +12 -0
  613. package/gemini/commands/bmad-task-core-shard-doc.toml +12 -0
  614. package/gemini/commands/bmad-task-core-validate-workflow.toml +12 -0
  615. package/gemini/commands/bmad-task-core-workflow.toml +12 -0
  616. package/gemini/commands/bmad-workflow-bmb-Meal Prep & Nutrition Plan.toml +4 -0
  617. package/gemini/commands/bmad-workflow-bmb-agent.toml +4 -0
  618. package/gemini/commands/bmad-workflow-bmb-create-module.toml +4 -0
  619. package/gemini/commands/bmad-workflow-bmb-create-workflow.toml +4 -0
  620. package/gemini/commands/bmad-workflow-bmb-edit-workflow.toml +4 -0
  621. package/gemini/commands/bmad-workflow-bmb-workflow-compliance-check.toml +4 -0
  622. package/gemini/commands/bmad-workflow-bmm-check-implementation-readiness.toml +4 -0
  623. package/gemini/commands/bmad-workflow-bmm-code-review.toml +12 -0
  624. package/gemini/commands/bmad-workflow-bmm-correct-course.toml +12 -0
  625. package/gemini/commands/bmad-workflow-bmm-create-architecture.toml +4 -0
  626. package/gemini/commands/bmad-workflow-bmm-create-epics-and-stories.toml +4 -0
  627. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-dataflow.toml +12 -0
  628. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-diagram.toml +12 -0
  629. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-flowchart.toml +12 -0
  630. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-wireframe.toml +12 -0
  631. package/gemini/commands/bmad-workflow-bmm-create-prd.toml +4 -0
  632. package/gemini/commands/bmad-workflow-bmm-create-product-brief.toml +4 -0
  633. package/gemini/commands/bmad-workflow-bmm-create-story.toml +12 -0
  634. package/gemini/commands/bmad-workflow-bmm-create-tech-spec.toml +4 -0
  635. package/gemini/commands/bmad-workflow-bmm-create-ux-design.toml +4 -0
  636. package/gemini/commands/bmad-workflow-bmm-dev-story.toml +12 -0
  637. package/gemini/commands/bmad-workflow-bmm-document-project.toml +12 -0
  638. package/gemini/commands/bmad-workflow-bmm-generate-project-context.toml +4 -0
  639. package/gemini/commands/bmad-workflow-bmm-quick-dev.toml +4 -0
  640. package/gemini/commands/bmad-workflow-bmm-research.toml +4 -0
  641. package/gemini/commands/bmad-workflow-bmm-retrospective.toml +12 -0
  642. package/gemini/commands/bmad-workflow-bmm-sprint-planning.toml +12 -0
  643. package/gemini/commands/bmad-workflow-bmm-sprint-status.toml +12 -0
  644. package/gemini/commands/bmad-workflow-bmm-testarch-atdd.toml +12 -0
  645. package/gemini/commands/bmad-workflow-bmm-testarch-automate.toml +12 -0
  646. package/gemini/commands/bmad-workflow-bmm-testarch-ci.toml +12 -0
  647. package/gemini/commands/bmad-workflow-bmm-testarch-framework.toml +12 -0
  648. package/gemini/commands/bmad-workflow-bmm-testarch-nfr.toml +12 -0
  649. package/gemini/commands/bmad-workflow-bmm-testarch-test-design.toml +12 -0
  650. package/gemini/commands/bmad-workflow-bmm-testarch-test-review.toml +12 -0
  651. package/gemini/commands/bmad-workflow-bmm-testarch-trace.toml +12 -0
  652. package/gemini/commands/bmad-workflow-bmm-workflow-init.toml +12 -0
  653. package/gemini/commands/bmad-workflow-bmm-workflow-status.toml +12 -0
  654. package/gemini/commands/bmad-workflow-cis-design-thinking.toml +12 -0
  655. package/gemini/commands/bmad-workflow-cis-innovation-strategy.toml +12 -0
  656. package/gemini/commands/bmad-workflow-cis-problem-solving.toml +12 -0
  657. package/gemini/commands/bmad-workflow-cis-storytelling.toml +12 -0
  658. package/gemini/commands/bmad-workflow-core-brainstorming.toml +4 -0
  659. package/gemini/commands/bmad-workflow-core-party-mode.toml +4 -0
  660. package/github/CODEOWNERS +7 -0
  661. package/github/agents/bmd-custom-bmb-agent-builder.agent.md +17 -0
  662. package/github/agents/bmd-custom-bmb-module-builder.agent.md +17 -0
  663. package/github/agents/bmd-custom-bmb-workflow-builder.agent.md +17 -0
  664. package/github/agents/bmd-custom-bmm-analyst.agent.md +17 -0
  665. package/github/agents/bmd-custom-bmm-architect.agent.md +17 -0
  666. package/github/agents/bmd-custom-bmm-dev.agent.md +17 -0
  667. package/github/agents/bmd-custom-bmm-pm.agent.md +17 -0
  668. package/github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md +17 -0
  669. package/github/agents/bmd-custom-bmm-sm.agent.md +17 -0
  670. package/github/agents/bmd-custom-bmm-tea.agent.md +17 -0
  671. package/github/agents/bmd-custom-bmm-tech-writer.agent.md +17 -0
  672. package/github/agents/bmd-custom-bmm-ux-designer.agent.md +17 -0
  673. package/github/agents/bmd-custom-cis-brainstorming-coach.agent.md +17 -0
  674. package/github/agents/bmd-custom-cis-creative-problem-solver.agent.md +17 -0
  675. package/github/agents/bmd-custom-cis-design-thinking-coach.agent.md +17 -0
  676. package/github/agents/bmd-custom-cis-innovation-strategist.agent.md +17 -0
  677. package/github/agents/bmd-custom-cis-presentation-master.agent.md +17 -0
  678. package/github/agents/bmd-custom-cis-storyteller.agent.md +17 -0
  679. package/github/agents/bmd-custom-core-bmad-master.agent.md +17 -0
  680. package/github/workflows/publish.yml +150 -0
  681. package/index.js +9 -9
  682. package/mcp.json +14 -14
  683. package/package.json +40 -41
  684. package/resources/images/Siesa_Logosimbolo_Azul.svg +24 -24
  685. package/resources/images/Siesa_Logosimbolo_Blanco.svg +24 -24
  686. package/resources/images/Siesa_Simbolo_Azul.svg +14 -14
  687. package/resources/images/Siesa_Simbolo_Blanco.svg +14 -14
  688. package/vscode/mcp.json +15 -15
  689. package/vscode/settings.json +12 -12
  690. package/bmad-core/agent-teams/team-all.yaml +0 -15
  691. package/bmad-core/agent-teams/team-fullstack.yaml +0 -19
  692. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -11
  693. package/bmad-core/agent-teams/team-no-ui.yaml +0 -14
  694. package/bmad-core/agents/analyst.md +0 -84
  695. package/bmad-core/agents/architect.md +0 -116
  696. package/bmad-core/agents/backend-agent.md +0 -178
  697. package/bmad-core/agents/bmad-master.md +0 -110
  698. package/bmad-core/agents/bmad-orchestrator.md +0 -147
  699. package/bmad-core/agents/dev.md +0 -86
  700. package/bmad-core/agents/frontend-agent.md +0 -169
  701. package/bmad-core/agents/pm.md +0 -106
  702. package/bmad-core/agents/po.md +0 -105
  703. package/bmad-core/agents/qa.md +0 -91
  704. package/bmad-core/agents/sm.md +0 -65
  705. package/bmad-core/agents/ux-expert.md +0 -71
  706. package/bmad-core/checklists/architect-checklist.md +0 -442
  707. package/bmad-core/checklists/backend-checklist.md +0 -147
  708. package/bmad-core/checklists/change-checklist.md +0 -184
  709. package/bmad-core/checklists/frontend-checklist.md +0 -106
  710. package/bmad-core/checklists/pm-checklist.md +0 -372
  711. package/bmad-core/checklists/po-master-checklist.md +0 -434
  712. package/bmad-core/checklists/story-dod-checklist.md +0 -97
  713. package/bmad-core/checklists/story-draft-checklist.md +0 -155
  714. package/bmad-core/core-config.yaml +0 -22
  715. package/bmad-core/data/bmad-kb.md +0 -809
  716. package/bmad-core/data/brainstorming-techniques.md +0 -38
  717. package/bmad-core/data/elicitation-methods.md +0 -156
  718. package/bmad-core/data/jira-preferences.md +0 -153
  719. package/bmad-core/data/technical-preferences.md +0 -110
  720. package/bmad-core/data/test-levels-framework.md +0 -148
  721. package/bmad-core/data/test-priorities-matrix.md +0 -174
  722. package/bmad-core/enhanced-ide-development-workflow.md +0 -248
  723. package/bmad-core/install-manifest.yaml +0 -230
  724. package/bmad-core/tasks/advanced-elicitation.md +0 -119
  725. package/bmad-core/tasks/apply-qa-fixes.md +0 -150
  726. package/bmad-core/tasks/brownfield-create-epic.md +0 -162
  727. package/bmad-core/tasks/brownfield-create-story.md +0 -149
  728. package/bmad-core/tasks/correct-course.md +0 -72
  729. package/bmad-core/tasks/create-brownfield-story.md +0 -314
  730. package/bmad-core/tasks/create-component.md +0 -103
  731. package/bmad-core/tasks/create-deep-research-prompt.md +0 -280
  732. package/bmad-core/tasks/create-doc.md +0 -206
  733. package/bmad-core/tasks/create-entity.md +0 -133
  734. package/bmad-core/tasks/create-feature.md +0 -91
  735. package/bmad-core/tasks/create-next-story.md +0 -145
  736. package/bmad-core/tasks/create-service.md +0 -118
  737. package/bmad-core/tasks/create-use-case.md +0 -141
  738. package/bmad-core/tasks/create-user-guide.md +0 -605
  739. package/bmad-core/tasks/document-project.md +0 -345
  740. package/bmad-core/tasks/execute-checklist.md +0 -88
  741. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -138
  742. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -53
  743. package/bmad-core/tasks/index-docs.md +0 -175
  744. package/bmad-core/tasks/jira-setup.md +0 -396
  745. package/bmad-core/tasks/kb-mode-interaction.md +0 -77
  746. package/bmad-core/tasks/nfr-assess.md +0 -345
  747. package/bmad-core/tasks/qa-gate.md +0 -163
  748. package/bmad-core/tasks/review-story.md +0 -316
  749. package/bmad-core/tasks/risk-profile.md +0 -355
  750. package/bmad-core/tasks/scaffold-backend.md +0 -115
  751. package/bmad-core/tasks/scaffold-frontend.md +0 -79
  752. package/bmad-core/tasks/shard-doc.md +0 -187
  753. package/bmad-core/tasks/sync-epic-files-to-jira.md +0 -632
  754. package/bmad-core/tasks/sync-prd-to-jira.md +0 -439
  755. package/bmad-core/tasks/sync-stories-batch-to-jira.md +0 -561
  756. package/bmad-core/tasks/sync-story-to-jira.md +0 -628
  757. package/bmad-core/tasks/test-design.md +0 -176
  758. package/bmad-core/tasks/trace-requirements.md +0 -266
  759. package/bmad-core/tasks/update-epic-stories-jira-status.md +0 -799
  760. package/bmad-core/tasks/update-story-jira-status.md +0 -600
  761. package/bmad-core/tasks/validate-jira-auth.md +0 -251
  762. package/bmad-core/tasks/validate-next-story.md +0 -136
  763. package/bmad-core/templates/architecture-tmpl.yaml +0 -662
  764. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  765. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -477
  766. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -281
  767. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -307
  768. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -258
  769. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -350
  770. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -824
  771. package/bmad-core/templates/jira-conf-tmpl.md +0 -13
  772. package/bmad-core/templates/market-research-tmpl.yaml +0 -253
  773. package/bmad-core/templates/prd-tmpl.yaml +0 -203
  774. package/bmad-core/templates/project-brief-tmpl.yaml +0 -222
  775. package/bmad-core/templates/qa-gate-tmpl.yaml +0 -103
  776. package/bmad-core/templates/story-tmpl.yaml +0 -138
  777. package/bmad-core/user-guide.md +0 -530
  778. package/bmad-core/utils/bmad-doc-template.md +0 -327
  779. package/bmad-core/utils/workflow-management.md +0 -71
  780. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -298
  781. package/bmad-core/workflows/brownfield-service.yaml +0 -188
  782. package/bmad-core/workflows/brownfield-ui.yaml +0 -198
  783. package/bmad-core/workflows/greenfield-fullstack.yaml +0 -241
  784. package/bmad-core/workflows/greenfield-service.yaml +0 -207
  785. package/bmad-core/workflows/greenfield-ui.yaml +0 -236
  786. package/bmad-core/working-in-the-brownfield.md +0 -606
  787. package/claude/commands/BMad/agents/analyst.md +0 -88
  788. package/claude/commands/BMad/agents/architect.md +0 -109
  789. package/claude/commands/BMad/agents/backend.md +0 -175
  790. package/claude/commands/BMad/agents/bmad-master.md +0 -114
  791. package/claude/commands/BMad/agents/bmad-orchestrator.md +0 -151
  792. package/claude/commands/BMad/agents/dev.md +0 -88
  793. package/claude/commands/BMad/agents/frontend.md +0 -151
  794. package/claude/commands/BMad/agents/pm.md +0 -100
  795. package/claude/commands/BMad/agents/po.md +0 -108
  796. package/claude/commands/BMad/agents/qa.md +0 -95
  797. package/claude/commands/BMad/agents/sm.md +0 -69
  798. package/claude/commands/BMad/agents/ux-expert.md +0 -73
  799. package/claude/commands/BMad/tasks/advanced-elicitation.md +0 -123
  800. package/claude/commands/BMad/tasks/apply-qa-fixes.md +0 -154
  801. package/claude/commands/BMad/tasks/brownfield-create-epic.md +0 -166
  802. package/claude/commands/BMad/tasks/brownfield-create-story.md +0 -153
  803. package/claude/commands/BMad/tasks/correct-course.md +0 -76
  804. package/claude/commands/BMad/tasks/create-brownfield-story.md +0 -318
  805. package/claude/commands/BMad/tasks/create-deep-research-prompt.md +0 -284
  806. package/claude/commands/BMad/tasks/create-doc.md +0 -195
  807. package/claude/commands/BMad/tasks/create-next-story.md +0 -118
  808. package/claude/commands/BMad/tasks/document-project.md +0 -349
  809. package/claude/commands/BMad/tasks/execute-checklist.md +0 -92
  810. package/claude/commands/BMad/tasks/facilitate-brainstorming-session.md +0 -142
  811. package/claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +0 -57
  812. package/claude/commands/BMad/tasks/index-docs.md +0 -179
  813. package/claude/commands/BMad/tasks/kb-mode-interaction.md +0 -81
  814. package/claude/commands/BMad/tasks/nfr-assess.md +0 -349
  815. package/claude/commands/BMad/tasks/qa-gate.md +0 -167
  816. package/claude/commands/BMad/tasks/review-story.md +0 -320
  817. package/claude/commands/BMad/tasks/risk-profile.md +0 -359
  818. package/claude/commands/BMad/tasks/shard-doc.md +0 -191
  819. package/claude/commands/BMad/tasks/test-design.md +0 -180
  820. package/claude/commands/BMad/tasks/trace-requirements.md +0 -270
  821. package/claude/commands/BMad/tasks/validate-next-story.md +0 -140
  822. package/gemini/commands/BMad/agents/analyst.toml +0 -6
  823. package/gemini/commands/BMad/agents/architect.toml +0 -6
  824. package/gemini/commands/BMad/agents/bmad-master.toml +0 -6
  825. package/gemini/commands/BMad/agents/bmad-orchestrator.toml +0 -6
  826. package/gemini/commands/BMad/agents/dev.toml +0 -6
  827. package/gemini/commands/BMad/agents/pm.toml +0 -6
  828. package/gemini/commands/BMad/agents/po.toml +0 -6
  829. package/gemini/commands/BMad/agents/qa.toml +0 -6
  830. package/gemini/commands/BMad/agents/sm.toml +0 -6
  831. package/gemini/commands/BMad/agents/ux-expert.toml +0 -6
  832. package/gemini/commands/BMad/tasks/advanced-elicitation.toml +0 -6
  833. package/gemini/commands/BMad/tasks/apply-qa-fixes.toml +0 -6
  834. package/gemini/commands/BMad/tasks/brownfield-create-epic.toml +0 -6
  835. package/gemini/commands/BMad/tasks/brownfield-create-story.toml +0 -6
  836. package/gemini/commands/BMad/tasks/correct-course.toml +0 -6
  837. package/gemini/commands/BMad/tasks/create-brownfield-story.toml +0 -6
  838. package/gemini/commands/BMad/tasks/create-deep-research-prompt.toml +0 -6
  839. package/gemini/commands/BMad/tasks/create-doc.toml +0 -6
  840. package/gemini/commands/BMad/tasks/create-next-story.toml +0 -6
  841. package/gemini/commands/BMad/tasks/document-project.toml +0 -6
  842. package/gemini/commands/BMad/tasks/execute-checklist.toml +0 -6
  843. package/gemini/commands/BMad/tasks/facilitate-brainstorming-session.toml +0 -6
  844. package/gemini/commands/BMad/tasks/generate-ai-frontend-prompt.toml +0 -6
  845. package/gemini/commands/BMad/tasks/index-docs.toml +0 -6
  846. package/gemini/commands/BMad/tasks/kb-mode-interaction.toml +0 -6
  847. package/gemini/commands/BMad/tasks/nfr-assess.toml +0 -6
  848. package/gemini/commands/BMad/tasks/qa-gate.toml +0 -6
  849. package/gemini/commands/BMad/tasks/review-story.toml +0 -6
  850. package/gemini/commands/BMad/tasks/risk-profile.toml +0 -6
  851. package/gemini/commands/BMad/tasks/shard-doc.toml +0 -6
  852. package/gemini/commands/BMad/tasks/test-design.toml +0 -6
  853. package/gemini/commands/BMad/tasks/trace-requirements.toml +0 -6
  854. package/gemini/commands/BMad/tasks/validate-next-story.toml +0 -6
  855. package/github/b-mad-expert.md +0 -742
  856. package/github/chatmodes/analyst.chatmode.md +0 -89
  857. package/github/chatmodes/architect.chatmode.md +0 -103
  858. package/github/chatmodes/backend.chatmode.md +0 -219
  859. package/github/chatmodes/bmad-master.chatmode.md +0 -115
  860. package/github/chatmodes/bmad-orchestrator.chatmode.md +0 -152
  861. package/github/chatmodes/dev.chatmode.md +0 -97
  862. package/github/chatmodes/frontend.chatmode.md +0 -158
  863. package/github/chatmodes/pm.chatmode.md +0 -98
  864. package/github/chatmodes/po.chatmode.md +0 -100
  865. package/github/chatmodes/qa.chatmode.md +0 -102
  866. package/github/chatmodes/sm.chatmode.md +0 -70
  867. package/github/chatmodes/ux-expert.chatmode.md +0 -74
  868. package/kiro/README.md +0 -13
  869. package/kiro/steering/agent-detection.md +0 -46
package/bin/install.js CHANGED
@@ -1,510 +1,509 @@
1
1
  #!/usr/bin/env node
2
-
3
- const fs = require('fs-extra');
4
- const path = require('path');
5
- const { sourceMapsEnabled } = require('process');
6
- const readline = require('readline');
7
-
8
- class SiesaBmadInstaller {
9
- constructor() {
10
- // Definir las carpetas primero (nombres en el paquete vs nombres finales)
11
- this.folderMappings = [
12
- { source: 'bmad-core', target: '.bmad-core' },
13
- { source: 'vscode', target: '.vscode' },
14
- { source: 'github', target: '.github' },
15
- { source: 'claude', target: '.claude' },
16
- { source: 'gemini', target: '.gemini' },
17
- { source: 'kiro', target: '.kiro' },
18
- { source: 'resources', target: '.resources' },
19
- { source: 'mcp.json', target: '.mcp.json' }
20
- ];
21
-
22
- // Lista de archivos que se preservan automáticamente (no se crean backups)
23
- this.ignoredFiles = [
24
- 'data/technical-preferences.md'
25
- ];
26
-
27
- this.targetDir = process.cwd();
28
- // Intentar múltiples ubicaciones posibles para el paquete
29
- this.packageDir = this.findPackageDir();
30
-
31
- // Almacenamiento temporal para contenido de archivos ignorados
32
- this.preservedContent = new Map();
33
- }
34
-
35
-
36
- showBanner() {
37
- console.log('\n');
38
- console.log('███████╗██╗███████╗███████╗ █████╗ █████╗ ██████╗ ███████╗███╗ ██╗████████╗███████╗');
39
- console.log('██╔════╝██║██╔════╝██╔════╝██╔══██╗ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝');
40
- console.log('███████╗██║█████╗ ███████╗███████║ ███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ███████╗');
41
- console.log('╚════██║██║██╔══╝ ╚════██║██╔══██║ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ╚════██║');
42
- console.log('███████║██║███████╗███████║██║ ██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ███████║');
43
- console.log('╚══════╝╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝');
44
- console.log('');
45
- }
46
-
47
- findPackageDir() {
48
- // Opción 1: directorio padre del bin (instalación normal)
49
- let packageDir = path.dirname(__dirname);
50
-
51
- // Opción 2: si estamos en npx, buscar en node_modules
52
- if (!this.hasRequiredFolders(packageDir)) {
53
- // Para npm 6.14+ y npx, intentar ubicaciones alternativas
54
- const possiblePaths = [
55
- path.join(__dirname, '..'), // bin -> paquete
56
- path.resolve(__dirname, '..'), // alternativa con resolve
57
- path.resolve(__dirname, '..', '..', 'siesa-bmad-agents'), // desde node_modules
58
- // Intentar buscar basado en __dirname específicamente para npx
59
- path.resolve(__dirname.replace(/\\bin$|\/bin$/, '')),
60
- process.cwd(), // directorio actual como último recurso
61
- ];
62
-
63
- for (const possiblePath of possiblePaths) {
64
- if (this.hasRequiredFolders(possiblePath)) {
65
- packageDir = possiblePath;
66
- break;
67
- }
68
- }
69
- }
70
-
71
- return packageDir;
72
- }
73
-
74
- hasRequiredFolders(dir) {
75
- return this.folderMappings.some(mapping => {
76
- const folderPath = path.join(dir, mapping.source);
77
- return fs.existsSync(folderPath);
78
- });
79
- }
80
-
81
- async install() {
82
- this.showBanner();
83
- console.log(' Instalando SIESA Agents...');
84
-
85
- try {
86
- // Verificar si ya existe una instalación
87
- const hasExistingInstallation = this.checkExistingInstallation();
88
-
89
- if (hasExistingInstallation) {
90
- console.log('🔄 Instalación existente detectada. Actualizando...');
91
- await this.update();
92
- } else {
93
- console.log('✨ Nueva instalación...');
94
- await this.performInstallation();
95
- }
96
-
97
- console.log('✅ SIESA Agents instalado correctamente!');
98
- this.showPostInstallMessage();
99
-
100
- } catch (error) {
101
- console.error('❌ Error durante la instalación:', error.message);
102
- process.exit(1);
103
- }
104
- }
105
-
106
- checkExistingInstallation() {
107
- return this.folderMappings.some(mapping => {
108
- const targetPath = path.join(this.targetDir, mapping.target);
109
- return fs.existsSync(targetPath);
110
- });
111
- }
112
-
113
- async checkModifiedFiles() {
114
- const modifiedFiles = [];
115
-
116
- for (const mapping of this.folderMappings) {
117
- const sourcePath = path.join(this.packageDir, mapping.source);
118
- const targetPath = path.join(this.targetDir, mapping.target);
119
-
120
- if (!fs.existsSync(sourcePath) || !fs.existsSync(targetPath)) {
121
- continue;
122
- }
123
-
124
- // Obtener todos los archivos recursivamente
125
- const sourceFiles = await this.getAllFiles(sourcePath);
126
-
127
- for (const sourceFile of sourceFiles) {
128
- const relativePath = path.relative(sourcePath, sourceFile);
129
- const targetFile = path.join(targetPath, relativePath);
130
-
131
- if (fs.existsSync(targetFile)) {
132
- try {
133
- // Comparar contenido de archivos
134
- const sourceContent = await fs.readFile(sourceFile, 'utf8');
135
- const targetContent = await fs.readFile(targetFile, 'utf8');
136
-
137
- if (sourceContent !== targetContent) {
138
- modifiedFiles.push({
139
- folder: mapping.target,
140
- file: relativePath,
141
- fullPath: targetFile,
142
- is_ignored: this.ignoredFiles.includes(relativePath)
143
- });
144
- }
145
- } catch (error) {
146
- // Si no se puede leer como texto, comparar como buffer (archivos binarios)
147
- const sourceBuffer = await fs.readFile(sourceFile);
148
- const targetBuffer = await fs.readFile(targetFile);
149
-
150
- if (!sourceBuffer.equals(targetBuffer)) {
151
- modifiedFiles.push({
152
- folder: mapping.target,
153
- file: relativePath,
154
- fullPath: targetFile,
155
- is_ignored: this.ignoredFiles.includes(relativePath)
156
- });
157
- }
158
- }
159
- }
160
- }
161
- }
162
-
163
- return modifiedFiles;
164
- }
165
-
166
- async getAllFiles(dir) {
167
- const files = [];
168
- const stat = await fs.stat(dir);
169
- if (stat.isFile()) {
170
- files.push(dir);
171
- return files;
172
- }
173
- const items = await fs.readdir(dir);
174
- for (const item of items) {
175
- const fullPath = path.join(dir, item);
176
- const stat = await fs.stat(fullPath);
177
-
178
- if (stat.isDirectory()) {
179
- const subFiles = await this.getAllFiles(fullPath);
180
- files.push(...subFiles);
181
- } else {
182
- files.push(fullPath);
183
- }
184
- }
185
-
186
- return files;
187
- }
188
-
189
- async promptUser(modifiedFiles) {
190
-
191
- const hasNonIgnoredFiles = modifiedFiles.some(file => file.is_ignored == false)
192
- if (!hasNonIgnoredFiles) return '2'
193
-
194
- console.log('\n⚠️ Se detectaron archivos modificados:');
195
-
196
- // Agrupar por carpeta
197
- const filesByFolder = {};
198
- modifiedFiles.forEach(item => {
199
- if (!filesByFolder[item.folder]) {
200
- filesByFolder[item.folder] = [];
201
- }
202
- filesByFolder[item.folder].push(item.file);
203
- });
204
-
205
- // Mostrar archivos modificados por carpeta
206
- Object.keys(filesByFolder).forEach(folder => {
207
- console.log(`\n📁 ${folder}:`);
208
- filesByFolder[folder].forEach(file => {
209
- console.log(` - ${file}`);
210
- });
211
- });
212
-
213
- console.log('\n¿Qué deseas hacer?');
214
- console.log('1. Reemplazar todos los archivos (se perderán las modificaciones)');
215
- console.log('2. Hacer backup de archivos modificados (se agregarán con sufijo _bk)');
216
-
217
- const rl = readline.createInterface({
218
- input: process.stdin,
219
- output: process.stdout
220
- });
221
-
222
- return new Promise((resolve) => {
223
- rl.question('\nElige una opción (1 o 2): ', (answer) => {
224
- rl.close();
225
- resolve(answer.trim());
226
- });
227
- });
228
- }
229
-
230
- async backupModifiedFiles(modifiedFiles) {
231
- console.log('\n🔄 Creando backup de archivos modificados...');
232
-
233
- for (const item of modifiedFiles) {
234
- // No crear backup de archivos ignorados
235
- if (item.is_ignored) {
236
- console.log(`✓ Preservando: ${item.file} (sin backup)`);
237
- continue;
238
- }
239
-
240
- const originalPath = item.fullPath;
241
- const backupPath = this.getBackupPath(originalPath);
242
-
243
- try {
244
- await fs.copy(originalPath, backupPath);
245
-
246
- // Determinar tipo de backup para mostrar mensaje apropiado
247
- const backupName = path.basename(backupPath);
248
- const isVersionedBackup = backupName.includes('_bk_');
249
-
250
- if (isVersionedBackup) {
251
- console.log(`✓ Backup versionado: ${path.relative(this.targetDir, backupPath)}`);
252
- } else {
253
- console.log(`✓ Backup creado: ${path.relative(this.targetDir, backupPath)}`);
254
- }
255
- } catch (error) {
256
- console.warn(`⚠️ Error creando backup de ${item.file}: ${error.message}`);
257
- }
258
- }
259
- }
260
-
261
- getBackupPath(filePath) {
262
- const dir = path.dirname(filePath);
263
- const ext = path.extname(filePath);
264
- const name = path.basename(filePath, ext);
265
-
266
- // Primer intento: archivo_bk.ext
267
- const basicBackupPath = path.join(dir, `${name}_bk${ext}`);
268
-
269
- // Si no existe, usar el nombre básico
270
- if (!fs.existsSync(basicBackupPath)) {
271
- return basicBackupPath;
272
- }
273
-
274
- // Si ya existe _bk, crear versión con timestamp
275
- const now = new Date();
276
- const timestamp = now.getFullYear().toString() +
277
- (now.getMonth() + 1).toString().padStart(2, '0') +
278
- now.getDate().toString().padStart(2, '0') + '_' +
279
- now.getHours().toString().padStart(2, '0') +
280
- now.getMinutes().toString().padStart(2, '0') +
281
- now.getSeconds().toString().padStart(2, '0');
282
-
283
- return path.join(dir, `${name}_bk_${timestamp}${ext}`);
284
- }
285
-
286
- async performUpdateWithBackups() {
287
- for (const mapping of this.folderMappings) {
288
- const sourcePath = path.join(this.packageDir, mapping.source);
289
- const targetPath = path.join(this.targetDir, mapping.target);
290
-
291
- if (fs.existsSync(sourcePath)) {
292
- // Copiar archivos selectivamente, preservando los _bk
293
- await this.copyWithBackupPreservation(sourcePath, targetPath);
294
- } else {
295
- console.warn(`⚠️ Carpeta ${mapping.source} no encontrada en el paquete`);
296
- }
297
- }
298
- }
299
-
300
- async copyWithBackupPreservation(sourcePath, targetPath) {
301
- // Obtener todos los archivos backup existentes
302
- const backupFiles = await this.findBackupFiles(targetPath);
303
-
304
- // Copiar la carpeta preservando technical-preferences.md
305
- await fs.copy(sourcePath, targetPath, {
306
- overwrite: true,
307
- recursive: true,
308
- filter: (src) => {
309
- const relativePath = path.relative(sourcePath, src);
310
- // No sobrescribir archivos ignorados si ya existen
311
- if (this.ignoredFiles.includes(relativePath)) {
312
- const targetFile = path.join(targetPath, relativePath);
313
- return !fs.existsSync(targetFile);
314
- }
315
- return true;
316
- }
317
- });
318
-
319
- // Restaurar los archivos backup
320
- for (const backupFile of backupFiles) {
321
- const backupSourcePath = backupFile.tempPath;
322
- const backupTargetPath = backupFile.originalPath;
323
-
324
- try {
325
- await fs.copy(backupSourcePath, backupTargetPath);
326
- // Limpiar archivo temporal
327
- await fs.remove(backupSourcePath);
328
- } catch (error) {
329
- console.warn(`⚠️ Error restaurando backup ${backupFile.relativePath}: ${error.message}`);
330
- }
331
- }
332
- }
333
-
334
- async findBackupFiles(targetPath) {
335
- if (!fs.existsSync(targetPath)) {
336
- return [];
337
- }
338
-
339
- const backupFiles = [];
340
- const allFiles = await this.getAllFiles(targetPath);
341
-
342
- for (const filePath of allFiles) {
343
- const fileName = path.basename(filePath);
344
- // Detectar archivos _bk y _bk_timestamp
345
- if (fileName.includes('_bk')) {
346
- const tempPath = path.join(require('os').tmpdir(), `backup_${Date.now()}_${fileName}`);
347
- const relativePath = path.relative(targetPath, filePath);
348
-
349
- // Crear copia temporal del backup
350
- await fs.copy(filePath, tempPath);
351
-
352
- backupFiles.push({
353
- originalPath: filePath,
354
- tempPath: tempPath,
355
- relativePath: relativePath
356
- });
357
- }
358
- }
359
-
360
- return backupFiles;
361
- }
362
-
363
- async performInstallation() {
364
- for (const mapping of this.folderMappings) {
365
- const sourcePath = path.join(this.packageDir, mapping.source);
366
- const targetPath = path.join(this.targetDir, mapping.target);
367
-
368
- if (fs.existsSync(sourcePath)) {
369
- await fs.copy(sourcePath, targetPath, {
370
- overwrite: true,
371
- recursive: true,
372
- filter: (src) => {
373
- const relativePath = path.relative(sourcePath, src);
374
- // No sobrescribir archivos ignorados si ya existen
375
- if (this.ignoredFiles.includes(relativePath)) {
376
- const targetFile = path.join(targetPath, relativePath);
377
- return !fs.existsSync(targetFile);
378
- }
379
- return true;
380
- }
381
- });
382
- } else {
383
- console.warn(`⚠️ Carpeta ${mapping.source} no encontrada en el paquete`);
384
- }
385
- }
386
- }
387
-
388
- async update() {
389
- // Verificar archivos modificados
390
- console.log('🔍 Verificando archivos modificados...');
391
- const modifiedFiles = await this.checkModifiedFiles();
392
-
393
- let hasBackups = false;
394
- if (modifiedFiles.length > 0) {
395
- const userChoice = await this.promptUser(modifiedFiles);
396
-
397
- if (userChoice === '2') {
398
- // Crear backup de archivos modificados
399
- await this.backupModifiedFiles(modifiedFiles);
400
- hasBackups = true;
401
- } else if (userChoice !== '1') {
402
- console.log('❌ Opción no válida. Cancelando actualización.');
403
- return;
404
- }
405
-
406
- console.log('\n🔄 Procediendo con la actualización...');
407
- } else {
408
- console.log('✓ No se detectaron archivos modificados.');
409
- }
410
-
411
- // Si hay backups, hacer actualización preservando backups
412
- if (hasBackups) {
413
- await this.performUpdateWithBackups();
414
- } else {
415
- // Si no hay backups, hacer actualización normal (remover y copiar)
416
- // Pero primero preservar archivos ignorados
417
- await this.preserveIgnoredFiles();
418
-
419
- for (const mapping of this.folderMappings) {
420
- const targetPath = path.join(this.targetDir, mapping.target);
421
-
422
- if (fs.existsSync(targetPath)) {
423
- await fs.remove(targetPath);
424
- }
425
- }
426
-
427
- // Realizar instalación nueva
428
- await this.performInstallation();
429
-
430
- // Restaurar archivos ignorados
431
- await this.restoreIgnoredFiles();
432
- }
433
- }
434
-
435
- async preserveIgnoredFiles() {
436
- console.log('🔒 Preservando archivos de configuración...');
437
-
438
- for (const mapping of this.folderMappings) {
439
- const targetFolderPath = path.join(this.targetDir, mapping.target);
440
-
441
- if (!fs.existsSync(targetFolderPath)) {
442
- continue;
443
- }
444
-
445
- for (const ignoredFile of this.ignoredFiles) {
446
- const filePath = path.join(targetFolderPath, ignoredFile);
447
-
448
- if (fs.existsSync(filePath)) {
449
- try {
450
- const content = await fs.readFile(filePath, 'utf8');
451
- const key = `${mapping.target}/${ignoredFile}`;
452
- this.preservedContent.set(key, content);
453
- console.log(`✓ Preservando: ${ignoredFile}`);
454
- } catch (error) {
455
- console.warn(`⚠️ Error leyendo ${ignoredFile}: ${error.message}`);
456
- }
457
- }
458
- }
459
- }
460
- }
461
-
462
- async restoreIgnoredFiles() {
463
- if (this.preservedContent.size === 0) {
464
- return;
465
- }
466
-
467
- console.log('🔄 Restaurando archivos de configuración...');
468
-
469
- for (const [key, content] of this.preservedContent) {
470
- const [targetFolder, ...filePathParts] = key.split('/');
471
- const filePath = path.join(this.targetDir, targetFolder, ...filePathParts);
472
-
473
- try {
474
- // Asegurar que el directorio existe
475
- await fs.ensureDir(path.dirname(filePath));
476
-
477
- // Restaurar el contenido
478
- await fs.writeFile(filePath, content, 'utf8');
479
- console.log(`✓ Restaurado: ${filePathParts.join('/')}`);
480
- } catch (error) {
481
- console.warn(`⚠️ Error restaurando ${filePathParts.join('/')}: ${error.message}`);
482
- }
483
- }
484
-
485
- // Limpiar el mapa después de restaurar
486
- this.preservedContent.clear();
487
- }
488
-
489
- showPostInstallMessage() {
490
- console.log('\n📚 Carpetas instaladas:');
491
- this.folderMappings.forEach(mapping => {
492
- const targetPath = path.join(this.targetDir, mapping.target);
493
- if (fs.existsSync(targetPath)) {
494
- console.log(` ✓ ${mapping.target}`);
495
- }
496
- });
497
-
498
- console.log('\n🎉 ¡Instalación completada!');
499
- console.log('💡 Las carpetas han sido instaladas en tu directorio actual.');
500
- console.log('🔧 Puedes ejecutar "npx siesa-agents" nuevamente para actualizar.');
501
- }
502
- }
503
-
504
- // Ejecutar instalación si el script es llamado directamente
505
- if (require.main === module) {
506
- const installer = new SiesaBmadInstaller();
507
- installer.install();
508
- }
509
-
2
+
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const { sourceMapsEnabled } = require('process');
6
+ const readline = require('readline');
7
+
8
+ class SiesaBmadInstaller {
9
+ constructor() {
10
+ // Definir las carpetas primero (nombres en el paquete vs nombres finales)
11
+ this.folderMappings = [
12
+ { source: '_bmad', target: '_bmad' },
13
+ { source: 'vscode', target: '.vscode' },
14
+ { source: 'github', target: '.github' },
15
+ { source: 'claude', target: '.claude' },
16
+ { source: 'gemini', target: '.gemini' },
17
+ { source: 'resources', target: '.resources' },
18
+ { source: 'mcp.json', target: '.mcp.json' }
19
+ ];
20
+
21
+ // Lista de archivos que se preservan automáticamente (no se crean backups)
22
+ this.ignoredFiles = [
23
+ 'data/technical-preferences.md'
24
+ ];
25
+
26
+ this.targetDir = process.cwd();
27
+ // Intentar múltiples ubicaciones posibles para el paquete
28
+ this.packageDir = this.findPackageDir();
29
+
30
+ // Almacenamiento temporal para contenido de archivos ignorados
31
+ this.preservedContent = new Map();
32
+ }
33
+
34
+
35
+ showBanner() {
36
+ console.log('\n');
37
+ console.log('███████╗██╗███████╗███████╗ █████╗ █████╗ ██████╗ ███████╗███╗ ██╗████████╗███████╗');
38
+ console.log('██╔════╝██║██╔════╝██╔════╝██╔══██╗ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝');
39
+ console.log('███████╗██║█████╗ ███████╗███████║ ███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ███████╗');
40
+ console.log('╚════██║██║██╔══╝ ╚════██║██╔══██║ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ╚════██║');
41
+ console.log('███████║██║███████╗███████║██║ ██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ███████║');
42
+ console.log('╚══════╝╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝');
43
+ console.log('');
44
+ }
45
+
46
+ findPackageDir() {
47
+ // Opción 1: directorio padre del bin (instalación normal)
48
+ let packageDir = path.dirname(__dirname);
49
+
50
+ // Opción 2: si estamos en npx, buscar en node_modules
51
+ if (!this.hasRequiredFolders(packageDir)) {
52
+ // Para npm 6.14+ y npx, intentar ubicaciones alternativas
53
+ const possiblePaths = [
54
+ path.join(__dirname, '..'), // bin -> paquete
55
+ path.resolve(__dirname, '..'), // alternativa con resolve
56
+ path.resolve(__dirname, '..', '..', 'siesa-bmad-agents'), // desde node_modules
57
+ // Intentar buscar basado en __dirname específicamente para npx
58
+ path.resolve(__dirname.replace(/\\bin$|\/bin$/, '')),
59
+ process.cwd(), // directorio actual como último recurso
60
+ ];
61
+
62
+ for (const possiblePath of possiblePaths) {
63
+ if (this.hasRequiredFolders(possiblePath)) {
64
+ packageDir = possiblePath;
65
+ break;
66
+ }
67
+ }
68
+ }
69
+
70
+ return packageDir;
71
+ }
72
+
73
+ hasRequiredFolders(dir) {
74
+ return this.folderMappings.some(mapping => {
75
+ const folderPath = path.join(dir, mapping.source);
76
+ return fs.existsSync(folderPath);
77
+ });
78
+ }
79
+
80
+ async install() {
81
+ this.showBanner();
82
+ console.log(' Instalando SIESA Agents...');
83
+
84
+ try {
85
+ // Verificar si ya existe una instalación
86
+ const hasExistingInstallation = this.checkExistingInstallation();
87
+
88
+ if (hasExistingInstallation) {
89
+ console.log('🔄 Instalación existente detectada. Actualizando...');
90
+ await this.update();
91
+ } else {
92
+ console.log('✨ Nueva instalación...');
93
+ await this.performInstallation();
94
+ }
95
+
96
+ console.log('✅ SIESA Agents instalado correctamente!');
97
+ this.showPostInstallMessage();
98
+
99
+ } catch (error) {
100
+ console.error('❌ Error durante la instalación:', error.message);
101
+ process.exit(1);
102
+ }
103
+ }
104
+
105
+ checkExistingInstallation() {
106
+ return this.folderMappings.some(mapping => {
107
+ const targetPath = path.join(this.targetDir, mapping.target);
108
+ return fs.existsSync(targetPath);
109
+ });
110
+ }
111
+
112
+ async checkModifiedFiles() {
113
+ const modifiedFiles = [];
114
+
115
+ for (const mapping of this.folderMappings) {
116
+ const sourcePath = path.join(this.packageDir, mapping.source);
117
+ const targetPath = path.join(this.targetDir, mapping.target);
118
+
119
+ if (!fs.existsSync(sourcePath) || !fs.existsSync(targetPath)) {
120
+ continue;
121
+ }
122
+
123
+ // Obtener todos los archivos recursivamente
124
+ const sourceFiles = await this.getAllFiles(sourcePath);
125
+
126
+ for (const sourceFile of sourceFiles) {
127
+ const relativePath = path.relative(sourcePath, sourceFile);
128
+ const targetFile = path.join(targetPath, relativePath);
129
+
130
+ if (fs.existsSync(targetFile)) {
131
+ try {
132
+ // Comparar contenido de archivos
133
+ const sourceContent = await fs.readFile(sourceFile, 'utf8');
134
+ const targetContent = await fs.readFile(targetFile, 'utf8');
135
+
136
+ if (sourceContent !== targetContent) {
137
+ modifiedFiles.push({
138
+ folder: mapping.target,
139
+ file: relativePath,
140
+ fullPath: targetFile,
141
+ is_ignored: this.ignoredFiles.includes(relativePath)
142
+ });
143
+ }
144
+ } catch (error) {
145
+ // Si no se puede leer como texto, comparar como buffer (archivos binarios)
146
+ const sourceBuffer = await fs.readFile(sourceFile);
147
+ const targetBuffer = await fs.readFile(targetFile);
148
+
149
+ if (!sourceBuffer.equals(targetBuffer)) {
150
+ modifiedFiles.push({
151
+ folder: mapping.target,
152
+ file: relativePath,
153
+ fullPath: targetFile,
154
+ is_ignored: this.ignoredFiles.includes(relativePath)
155
+ });
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ return modifiedFiles;
163
+ }
164
+
165
+ async getAllFiles(dir) {
166
+ const files = [];
167
+ const stat = await fs.stat(dir);
168
+ if (stat.isFile()) {
169
+ files.push(dir);
170
+ return files;
171
+ }
172
+ const items = await fs.readdir(dir);
173
+ for (const item of items) {
174
+ const fullPath = path.join(dir, item);
175
+ const stat = await fs.stat(fullPath);
176
+
177
+ if (stat.isDirectory()) {
178
+ const subFiles = await this.getAllFiles(fullPath);
179
+ files.push(...subFiles);
180
+ } else {
181
+ files.push(fullPath);
182
+ }
183
+ }
184
+
185
+ return files;
186
+ }
187
+
188
+ async promptUser(modifiedFiles) {
189
+
190
+ const hasNonIgnoredFiles = modifiedFiles.some(file => file.is_ignored == false)
191
+ if (!hasNonIgnoredFiles) return '2'
192
+
193
+ console.log('\n⚠️ Se detectaron archivos modificados:');
194
+
195
+ // Agrupar por carpeta
196
+ const filesByFolder = {};
197
+ modifiedFiles.forEach(item => {
198
+ if (!filesByFolder[item.folder]) {
199
+ filesByFolder[item.folder] = [];
200
+ }
201
+ filesByFolder[item.folder].push(item.file);
202
+ });
203
+
204
+ // Mostrar archivos modificados por carpeta
205
+ Object.keys(filesByFolder).forEach(folder => {
206
+ console.log(`\n📁 ${folder}:`);
207
+ filesByFolder[folder].forEach(file => {
208
+ console.log(` - ${file}`);
209
+ });
210
+ });
211
+
212
+ console.log('\n¿Qué deseas hacer?');
213
+ console.log('1. Reemplazar todos los archivos (se perderán las modificaciones)');
214
+ console.log('2. Hacer backup de archivos modificados (se agregarán con sufijo _bk)');
215
+
216
+ const rl = readline.createInterface({
217
+ input: process.stdin,
218
+ output: process.stdout
219
+ });
220
+
221
+ return new Promise((resolve) => {
222
+ rl.question('\nElige una opción (1 o 2): ', (answer) => {
223
+ rl.close();
224
+ resolve(answer.trim());
225
+ });
226
+ });
227
+ }
228
+
229
+ async backupModifiedFiles(modifiedFiles) {
230
+ console.log('\n🔄 Creando backup de archivos modificados...');
231
+
232
+ for (const item of modifiedFiles) {
233
+ // No crear backup de archivos ignorados
234
+ if (item.is_ignored) {
235
+ console.log(`✓ Preservando: ${item.file} (sin backup)`);
236
+ continue;
237
+ }
238
+
239
+ const originalPath = item.fullPath;
240
+ const backupPath = this.getBackupPath(originalPath);
241
+
242
+ try {
243
+ await fs.copy(originalPath, backupPath);
244
+
245
+ // Determinar tipo de backup para mostrar mensaje apropiado
246
+ const backupName = path.basename(backupPath);
247
+ const isVersionedBackup = backupName.includes('_bk_');
248
+
249
+ if (isVersionedBackup) {
250
+ console.log(`✓ Backup versionado: ${path.relative(this.targetDir, backupPath)}`);
251
+ } else {
252
+ console.log(`✓ Backup creado: ${path.relative(this.targetDir, backupPath)}`);
253
+ }
254
+ } catch (error) {
255
+ console.warn(`⚠️ Error creando backup de ${item.file}: ${error.message}`);
256
+ }
257
+ }
258
+ }
259
+
260
+ getBackupPath(filePath) {
261
+ const dir = path.dirname(filePath);
262
+ const ext = path.extname(filePath);
263
+ const name = path.basename(filePath, ext);
264
+
265
+ // Primer intento: archivo_bk.ext
266
+ const basicBackupPath = path.join(dir, `${name}_bk${ext}`);
267
+
268
+ // Si no existe, usar el nombre básico
269
+ if (!fs.existsSync(basicBackupPath)) {
270
+ return basicBackupPath;
271
+ }
272
+
273
+ // Si ya existe _bk, crear versión con timestamp
274
+ const now = new Date();
275
+ const timestamp = now.getFullYear().toString() +
276
+ (now.getMonth() + 1).toString().padStart(2, '0') +
277
+ now.getDate().toString().padStart(2, '0') + '_' +
278
+ now.getHours().toString().padStart(2, '0') +
279
+ now.getMinutes().toString().padStart(2, '0') +
280
+ now.getSeconds().toString().padStart(2, '0');
281
+
282
+ return path.join(dir, `${name}_bk_${timestamp}${ext}`);
283
+ }
284
+
285
+ async performUpdateWithBackups() {
286
+ for (const mapping of this.folderMappings) {
287
+ const sourcePath = path.join(this.packageDir, mapping.source);
288
+ const targetPath = path.join(this.targetDir, mapping.target);
289
+
290
+ if (fs.existsSync(sourcePath)) {
291
+ // Copiar archivos selectivamente, preservando los _bk
292
+ await this.copyWithBackupPreservation(sourcePath, targetPath);
293
+ } else {
294
+ console.warn(`⚠️ Carpeta ${mapping.source} no encontrada en el paquete`);
295
+ }
296
+ }
297
+ }
298
+
299
+ async copyWithBackupPreservation(sourcePath, targetPath) {
300
+ // Obtener todos los archivos backup existentes
301
+ const backupFiles = await this.findBackupFiles(targetPath);
302
+
303
+ // Copiar la carpeta preservando technical-preferences.md
304
+ await fs.copy(sourcePath, targetPath, {
305
+ overwrite: true,
306
+ recursive: true,
307
+ filter: (src) => {
308
+ const relativePath = path.relative(sourcePath, src);
309
+ // No sobrescribir archivos ignorados si ya existen
310
+ if (this.ignoredFiles.includes(relativePath)) {
311
+ const targetFile = path.join(targetPath, relativePath);
312
+ return !fs.existsSync(targetFile);
313
+ }
314
+ return true;
315
+ }
316
+ });
317
+
318
+ // Restaurar los archivos backup
319
+ for (const backupFile of backupFiles) {
320
+ const backupSourcePath = backupFile.tempPath;
321
+ const backupTargetPath = backupFile.originalPath;
322
+
323
+ try {
324
+ await fs.copy(backupSourcePath, backupTargetPath);
325
+ // Limpiar archivo temporal
326
+ await fs.remove(backupSourcePath);
327
+ } catch (error) {
328
+ console.warn(`⚠️ Error restaurando backup ${backupFile.relativePath}: ${error.message}`);
329
+ }
330
+ }
331
+ }
332
+
333
+ async findBackupFiles(targetPath) {
334
+ if (!fs.existsSync(targetPath)) {
335
+ return [];
336
+ }
337
+
338
+ const backupFiles = [];
339
+ const allFiles = await this.getAllFiles(targetPath);
340
+
341
+ for (const filePath of allFiles) {
342
+ const fileName = path.basename(filePath);
343
+ // Detectar archivos _bk y _bk_timestamp
344
+ if (fileName.includes('_bk')) {
345
+ const tempPath = path.join(require('os').tmpdir(), `backup_${Date.now()}_${fileName}`);
346
+ const relativePath = path.relative(targetPath, filePath);
347
+
348
+ // Crear copia temporal del backup
349
+ await fs.copy(filePath, tempPath);
350
+
351
+ backupFiles.push({
352
+ originalPath: filePath,
353
+ tempPath: tempPath,
354
+ relativePath: relativePath
355
+ });
356
+ }
357
+ }
358
+
359
+ return backupFiles;
360
+ }
361
+
362
+ async performInstallation() {
363
+ for (const mapping of this.folderMappings) {
364
+ const sourcePath = path.join(this.packageDir, mapping.source);
365
+ const targetPath = path.join(this.targetDir, mapping.target);
366
+
367
+ if (fs.existsSync(sourcePath)) {
368
+ await fs.copy(sourcePath, targetPath, {
369
+ overwrite: true,
370
+ recursive: true,
371
+ filter: (src) => {
372
+ const relativePath = path.relative(sourcePath, src);
373
+ // No sobrescribir archivos ignorados si ya existen
374
+ if (this.ignoredFiles.includes(relativePath)) {
375
+ const targetFile = path.join(targetPath, relativePath);
376
+ return !fs.existsSync(targetFile);
377
+ }
378
+ return true;
379
+ }
380
+ });
381
+ } else {
382
+ console.warn(`⚠️ Carpeta ${mapping.source} no encontrada en el paquete`);
383
+ }
384
+ }
385
+ }
386
+
387
+ async update() {
388
+ // Verificar archivos modificados
389
+ console.log('🔍 Verificando archivos modificados...');
390
+ const modifiedFiles = await this.checkModifiedFiles();
391
+
392
+ let hasBackups = false;
393
+ if (modifiedFiles.length > 0) {
394
+ const userChoice = await this.promptUser(modifiedFiles);
395
+
396
+ if (userChoice === '2') {
397
+ // Crear backup de archivos modificados
398
+ await this.backupModifiedFiles(modifiedFiles);
399
+ hasBackups = true;
400
+ } else if (userChoice !== '1') {
401
+ console.log('❌ Opción no válida. Cancelando actualización.');
402
+ return;
403
+ }
404
+
405
+ console.log('\n🔄 Procediendo con la actualización...');
406
+ } else {
407
+ console.log('✓ No se detectaron archivos modificados.');
408
+ }
409
+
410
+ // Si hay backups, hacer actualización preservando backups
411
+ if (hasBackups) {
412
+ await this.performUpdateWithBackups();
413
+ } else {
414
+ // Si no hay backups, hacer actualización normal (remover y copiar)
415
+ // Pero primero preservar archivos ignorados
416
+ await this.preserveIgnoredFiles();
417
+
418
+ for (const mapping of this.folderMappings) {
419
+ const targetPath = path.join(this.targetDir, mapping.target);
420
+
421
+ if (fs.existsSync(targetPath)) {
422
+ await fs.remove(targetPath);
423
+ }
424
+ }
425
+
426
+ // Realizar instalación nueva
427
+ await this.performInstallation();
428
+
429
+ // Restaurar archivos ignorados
430
+ await this.restoreIgnoredFiles();
431
+ }
432
+ }
433
+
434
+ async preserveIgnoredFiles() {
435
+ console.log('🔒 Preservando archivos de configuración...');
436
+
437
+ for (const mapping of this.folderMappings) {
438
+ const targetFolderPath = path.join(this.targetDir, mapping.target);
439
+
440
+ if (!fs.existsSync(targetFolderPath)) {
441
+ continue;
442
+ }
443
+
444
+ for (const ignoredFile of this.ignoredFiles) {
445
+ const filePath = path.join(targetFolderPath, ignoredFile);
446
+
447
+ if (fs.existsSync(filePath)) {
448
+ try {
449
+ const content = await fs.readFile(filePath, 'utf8');
450
+ const key = `${mapping.target}/${ignoredFile}`;
451
+ this.preservedContent.set(key, content);
452
+ console.log(`✓ Preservando: ${ignoredFile}`);
453
+ } catch (error) {
454
+ console.warn(`⚠️ Error leyendo ${ignoredFile}: ${error.message}`);
455
+ }
456
+ }
457
+ }
458
+ }
459
+ }
460
+
461
+ async restoreIgnoredFiles() {
462
+ if (this.preservedContent.size === 0) {
463
+ return;
464
+ }
465
+
466
+ console.log('🔄 Restaurando archivos de configuración...');
467
+
468
+ for (const [key, content] of this.preservedContent) {
469
+ const [targetFolder, ...filePathParts] = key.split('/');
470
+ const filePath = path.join(this.targetDir, targetFolder, ...filePathParts);
471
+
472
+ try {
473
+ // Asegurar que el directorio existe
474
+ await fs.ensureDir(path.dirname(filePath));
475
+
476
+ // Restaurar el contenido
477
+ await fs.writeFile(filePath, content, 'utf8');
478
+ console.log(`✓ Restaurado: ${filePathParts.join('/')}`);
479
+ } catch (error) {
480
+ console.warn(`⚠️ Error restaurando ${filePathParts.join('/')}: ${error.message}`);
481
+ }
482
+ }
483
+
484
+ // Limpiar el mapa después de restaurar
485
+ this.preservedContent.clear();
486
+ }
487
+
488
+ showPostInstallMessage() {
489
+ console.log('\n📚 Carpetas instaladas:');
490
+ this.folderMappings.forEach(mapping => {
491
+ const targetPath = path.join(this.targetDir, mapping.target);
492
+ if (fs.existsSync(targetPath)) {
493
+ console.log(` ✓ ${mapping.target}`);
494
+ }
495
+ });
496
+
497
+ console.log('\n🎉 ¡Instalación completada!');
498
+ console.log('💡 Las carpetas han sido instaladas en tu directorio actual.');
499
+ console.log('🔧 Puedes ejecutar "npx siesa-agents" nuevamente para actualizar.');
500
+ }
501
+ }
502
+
503
+ // Ejecutar instalación si el script es llamado directamente
504
+ if (require.main === module) {
505
+ const installer = new SiesaBmadInstaller();
506
+ installer.install();
507
+ }
508
+
510
509
  module.exports = SiesaBmadInstaller;