siesa-agents 2.1.78 → 2.1.80

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 (968) hide show
  1. package/bmad/bmm/config.yaml +3 -5
  2. package/claude/agent-memory/sa-quick-dev/company-standards.md +1 -1
  3. package/claude/agents/sa-code-review.md +1 -1
  4. package/claude/agents/sa-create-story.md +1 -1
  5. package/claude/agents/sa-dev-story.md +1 -1
  6. package/claude/agents/sa-tea-atdd-run.md +76 -0
  7. package/claude/agents/sa-tea-atdd.md +40 -0
  8. package/claude/agents/sa-tea-automate.md +39 -0
  9. package/claude/agents/sa-tea-framework.md +36 -0
  10. package/claude/agents/sa-tea-nfr.md +40 -0
  11. package/claude/agents/sa-tea-review.md +44 -0
  12. package/claude/agents/sa-tea-test-design.md +37 -0
  13. package/claude/agents/sa-tea-trace.md +41 -0
  14. package/claude/commands/sa-quick-dev.md +233 -27
  15. package/claude/skills/bmad-advanced-elicitation/SKILL.md +142 -0
  16. package/claude/skills/bmad-agent-analyst/SKILL.md +74 -0
  17. package/claude/skills/bmad-agent-analyst/customize.toml +90 -0
  18. package/claude/skills/bmad-agent-architect/SKILL.md +74 -0
  19. package/claude/skills/bmad-agent-architect/customize.toml +65 -0
  20. package/claude/skills/bmad-agent-dev/SKILL.md +74 -0
  21. package/claude/skills/bmad-agent-dev/customize.toml +90 -0
  22. package/claude/skills/bmad-agent-pm/SKILL.md +74 -0
  23. package/claude/skills/bmad-agent-pm/customize.toml +85 -0
  24. package/claude/skills/bmad-agent-tech-writer/SKILL.md +74 -0
  25. package/claude/skills/bmad-agent-tech-writer/customize.toml +81 -0
  26. package/claude/skills/bmad-agent-tech-writer/explain-concept.md +20 -0
  27. package/claude/skills/bmad-agent-tech-writer/mermaid-gen.md +20 -0
  28. package/claude/skills/bmad-agent-tech-writer/validate-doc.md +19 -0
  29. package/claude/skills/bmad-agent-tech-writer/write-document.md +20 -0
  30. package/claude/skills/bmad-agent-ux-designer/SKILL.md +74 -0
  31. package/claude/skills/bmad-agent-ux-designer/customize.toml +60 -0
  32. package/claude/skills/bmad-brainstorming/SKILL.md +6 -0
  33. package/claude/skills/bmad-brainstorming/steps/step-01-session-setup.md +214 -0
  34. package/claude/skills/bmad-brainstorming/steps/step-01b-continue.md +124 -0
  35. package/claude/skills/bmad-brainstorming/steps/step-02a-user-selected.md +229 -0
  36. package/claude/skills/bmad-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  37. package/claude/skills/bmad-brainstorming/steps/step-02c-random-selection.md +211 -0
  38. package/claude/skills/bmad-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  39. package/claude/skills/bmad-brainstorming/steps/step-03-technique-execution.md +401 -0
  40. package/claude/skills/bmad-brainstorming/steps/step-04-idea-organization.md +305 -0
  41. package/claude/skills/bmad-brainstorming/workflow.md +53 -0
  42. package/claude/skills/bmad-check-implementation-readiness/SKILL.md +91 -0
  43. package/claude/skills/bmad-check-implementation-readiness/customize.toml +41 -0
  44. package/claude/skills/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  45. package/claude/skills/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  46. package/claude/skills/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  47. package/claude/skills/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  48. package/claude/skills/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  49. package/claude/skills/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +132 -0
  50. package/claude/skills/bmad-checkpoint-preview/SKILL.md +68 -0
  51. package/claude/skills/bmad-checkpoint-preview/customize.toml +41 -0
  52. package/claude/skills/bmad-checkpoint-preview/generate-trail.md +38 -0
  53. package/claude/skills/bmad-checkpoint-preview/step-01-orientation.md +105 -0
  54. package/claude/skills/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
  55. package/claude/skills/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
  56. package/claude/skills/bmad-checkpoint-preview/step-04-testing.md +74 -0
  57. package/claude/skills/bmad-checkpoint-preview/step-05-wrapup.md +30 -0
  58. package/claude/skills/bmad-code-review/SKILL.md +90 -0
  59. package/claude/skills/bmad-code-review/customize.toml +41 -0
  60. package/claude/skills/bmad-code-review/steps/step-01-gather-context.md +85 -0
  61. package/claude/skills/bmad-code-review/steps/step-02-review.md +35 -0
  62. package/claude/skills/bmad-code-review/steps/step-03-triage.md +49 -0
  63. package/claude/skills/bmad-code-review/steps/step-04-present.md +132 -0
  64. package/claude/skills/bmad-correct-course/SKILL.md +301 -0
  65. package/claude/skills/bmad-correct-course/checklist.md +288 -0
  66. package/claude/skills/bmad-correct-course/customize.toml +41 -0
  67. package/claude/skills/bmad-create-architecture/SKILL.md +74 -0
  68. package/claude/skills/bmad-create-architecture/customize.toml +41 -0
  69. package/claude/skills/bmad-create-architecture/data/domain-complexity.csv +13 -0
  70. package/claude/skills/bmad-create-architecture/data/project-types.csv +7 -0
  71. package/claude/skills/bmad-create-architecture/steps/step-01-init.md +153 -0
  72. package/claude/skills/bmad-create-architecture/steps/step-01b-continue.md +173 -0
  73. package/claude/skills/bmad-create-architecture/steps/step-02-context.md +224 -0
  74. package/claude/skills/bmad-create-architecture/steps/step-03-starter.md +329 -0
  75. package/claude/skills/bmad-create-architecture/steps/step-04-decisions.md +318 -0
  76. package/claude/skills/bmad-create-architecture/steps/step-05-patterns.md +359 -0
  77. package/claude/skills/bmad-create-architecture/steps/step-06-structure.md +379 -0
  78. package/claude/skills/bmad-create-architecture/steps/step-07-validation.md +359 -0
  79. package/claude/skills/bmad-create-architecture/steps/step-08-complete.md +82 -0
  80. package/claude/skills/bmad-create-epics-and-stories/SKILL.md +93 -0
  81. package/claude/skills/bmad-create-epics-and-stories/customize.toml +41 -0
  82. package/claude/skills/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  83. package/claude/skills/bmad-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  84. package/claude/skills/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  85. package/claude/skills/bmad-create-epics-and-stories/steps/step-04-final-validation.md +137 -0
  86. package/claude/skills/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
  87. package/claude/skills/bmad-create-prd/SKILL.md +104 -0
  88. package/claude/skills/bmad-create-prd/customize.toml +41 -0
  89. package/claude/skills/bmad-create-prd/data/domain-complexity.csv +15 -0
  90. package/claude/skills/bmad-create-prd/data/prd-purpose.md +197 -0
  91. package/claude/skills/bmad-create-prd/steps-c/step-01-init.md +178 -0
  92. package/claude/skills/bmad-create-prd/steps-c/step-01b-continue.md +161 -0
  93. package/claude/skills/bmad-create-prd/steps-c/step-02-discovery.md +208 -0
  94. package/claude/skills/bmad-create-prd/steps-c/step-02b-vision.md +142 -0
  95. package/claude/skills/bmad-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  96. package/claude/skills/bmad-create-prd/steps-c/step-03-success.md +214 -0
  97. package/claude/skills/bmad-create-prd/steps-c/step-04-journeys.md +201 -0
  98. package/claude/skills/bmad-create-prd/steps-c/step-05-domain.md +194 -0
  99. package/claude/skills/bmad-create-prd/steps-c/step-06-innovation.md +211 -0
  100. package/claude/skills/bmad-create-prd/steps-c/step-07-project-type.md +222 -0
  101. package/claude/skills/bmad-create-prd/steps-c/step-08-scoping.md +263 -0
  102. package/claude/skills/bmad-create-prd/steps-c/step-09-functional.md +219 -0
  103. package/claude/skills/bmad-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  104. package/claude/skills/bmad-create-prd/steps-c/step-11-polish.md +221 -0
  105. package/claude/skills/bmad-create-prd/steps-c/step-12-complete.md +121 -0
  106. package/claude/skills/bmad-create-prd/templates/prd-template.md +10 -0
  107. package/claude/skills/bmad-create-story/SKILL.md +429 -0
  108. package/claude/skills/bmad-create-story/checklist.md +357 -0
  109. package/claude/skills/bmad-create-story/customize.toml +41 -0
  110. package/claude/skills/bmad-create-story/discover-inputs.md +88 -0
  111. package/claude/skills/bmad-create-ux-design/SKILL.md +75 -0
  112. package/claude/skills/bmad-create-ux-design/customize.toml +41 -0
  113. package/claude/skills/bmad-create-ux-design/steps/step-01-init.md +135 -0
  114. package/claude/skills/bmad-create-ux-design/steps/step-01b-continue.md +127 -0
  115. package/claude/skills/bmad-create-ux-design/steps/step-02-discovery.md +190 -0
  116. package/claude/skills/bmad-create-ux-design/steps/step-03-core-experience.md +217 -0
  117. package/claude/skills/bmad-create-ux-design/steps/step-04-emotional-response.md +220 -0
  118. package/claude/skills/bmad-create-ux-design/steps/step-05-inspiration.md +235 -0
  119. package/claude/skills/bmad-create-ux-design/steps/step-06-design-system.md +253 -0
  120. package/claude/skills/bmad-create-ux-design/steps/step-07-defining-experience.md +255 -0
  121. package/claude/skills/bmad-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  122. package/claude/skills/bmad-create-ux-design/steps/step-09-design-directions.md +225 -0
  123. package/claude/skills/bmad-create-ux-design/steps/step-10-user-journeys.md +242 -0
  124. package/claude/skills/bmad-create-ux-design/steps/step-11-component-strategy.md +249 -0
  125. package/claude/skills/bmad-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  126. package/claude/skills/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  127. package/claude/skills/bmad-create-ux-design/steps/step-14-complete.md +177 -0
  128. package/claude/skills/bmad-customize/SKILL.md +111 -0
  129. package/claude/skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
  130. package/claude/skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
  131. package/claude/skills/bmad-dev-story/SKILL.md +485 -0
  132. package/claude/skills/bmad-dev-story/checklist.md +80 -0
  133. package/claude/skills/bmad-dev-story/customize.toml +41 -0
  134. package/claude/skills/bmad-distillator/SKILL.md +177 -0
  135. package/claude/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
  136. package/claude/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
  137. package/claude/skills/bmad-distillator/resources/compression-rules.md +51 -0
  138. package/claude/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
  139. package/claude/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
  140. package/claude/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
  141. package/claude/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
  142. package/claude/skills/bmad-document-project/SKILL.md +62 -0
  143. package/claude/skills/bmad-document-project/customize.toml +41 -0
  144. package/claude/skills/bmad-document-project/instructions.md +128 -0
  145. package/claude/skills/bmad-document-project/templates/project-scan-report-schema.json +160 -0
  146. package/claude/skills/bmad-document-project/workflows/deep-dive-instructions.md +300 -0
  147. package/claude/skills/bmad-document-project/workflows/deep-dive-workflow.md +34 -0
  148. package/claude/skills/bmad-document-project/workflows/full-scan-instructions.md +1108 -0
  149. package/claude/skills/bmad-document-project/workflows/full-scan-workflow.md +34 -0
  150. package/claude/skills/bmad-domain-research/SKILL.md +96 -0
  151. package/claude/skills/bmad-domain-research/customize.toml +41 -0
  152. package/claude/skills/bmad-domain-research/domain-steps/step-06-research-synthesis.md +450 -0
  153. package/claude/skills/bmad-edit-prd/SKILL.md +102 -0
  154. package/claude/skills/bmad-edit-prd/customize.toml +42 -0
  155. package/claude/skills/bmad-edit-prd/data/prd-purpose.md +197 -0
  156. package/claude/skills/bmad-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  157. package/claude/skills/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  158. package/claude/skills/bmad-edit-prd/steps-e/step-e-02-review.md +245 -0
  159. package/claude/skills/bmad-edit-prd/steps-e/step-e-03-edit.md +250 -0
  160. package/claude/skills/bmad-edit-prd/steps-e/step-e-04-complete.md +165 -0
  161. package/claude/skills/bmad-editorial-review-prose/SKILL.md +86 -0
  162. package/claude/skills/bmad-editorial-review-structure/SKILL.md +179 -0
  163. package/claude/skills/bmad-generate-project-context/SKILL.md +81 -0
  164. package/claude/skills/bmad-generate-project-context/customize.toml +41 -0
  165. package/claude/skills/bmad-generate-project-context/steps/step-01-discover.md +186 -0
  166. package/claude/skills/bmad-generate-project-context/steps/step-02-generate.md +321 -0
  167. package/claude/skills/bmad-generate-project-context/steps/step-03-complete.md +284 -0
  168. package/claude/skills/bmad-help/SKILL.md +75 -0
  169. package/claude/skills/bmad-index-docs/SKILL.md +66 -0
  170. package/claude/skills/bmad-market-research/SKILL.md +96 -0
  171. package/claude/skills/bmad-market-research/customize.toml +41 -0
  172. package/claude/skills/bmad-market-research/research.template.md +29 -0
  173. package/claude/skills/bmad-market-research/steps/step-01-init.md +184 -0
  174. package/claude/skills/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
  175. package/claude/skills/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
  176. package/claude/skills/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
  177. package/claude/skills/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
  178. package/claude/skills/bmad-market-research/steps/step-06-research-completion.md +484 -0
  179. package/claude/skills/bmad-party-mode/SKILL.md +128 -0
  180. package/claude/skills/bmad-prfaq/SKILL.md +135 -0
  181. package/claude/skills/bmad-prfaq/agents/artifact-analyzer.md +60 -0
  182. package/claude/skills/bmad-prfaq/agents/web-researcher.md +49 -0
  183. package/claude/skills/bmad-prfaq/assets/prfaq-template.md +62 -0
  184. package/claude/skills/bmad-prfaq/bmad-manifest.json +16 -0
  185. package/claude/skills/bmad-prfaq/customize.toml +41 -0
  186. package/claude/skills/bmad-prfaq/references/customer-faq.md +55 -0
  187. package/claude/skills/bmad-prfaq/references/internal-faq.md +51 -0
  188. package/claude/skills/bmad-prfaq/references/press-release.md +60 -0
  189. package/claude/skills/bmad-prfaq/references/verdict.md +83 -0
  190. package/claude/skills/bmad-product-brief/SKILL.md +117 -0
  191. package/claude/skills/bmad-product-brief/agents/artifact-analyzer.md +60 -0
  192. package/claude/skills/bmad-product-brief/agents/opportunity-reviewer.md +44 -0
  193. package/claude/skills/bmad-product-brief/agents/skeptic-reviewer.md +44 -0
  194. package/claude/skills/bmad-product-brief/agents/web-researcher.md +49 -0
  195. package/claude/skills/bmad-product-brief/bmad-manifest.json +17 -0
  196. package/claude/skills/bmad-product-brief/customize.toml +47 -0
  197. package/claude/skills/bmad-product-brief/prompts/contextual-discovery.md +58 -0
  198. package/claude/skills/bmad-product-brief/prompts/draft-and-review.md +87 -0
  199. package/claude/skills/bmad-product-brief/prompts/finalize.md +78 -0
  200. package/claude/skills/bmad-product-brief/prompts/guided-elicitation.md +71 -0
  201. package/claude/skills/bmad-product-brief/resources/brief-template.md +60 -0
  202. package/claude/skills/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
  203. package/claude/skills/bmad-qa-generate-e2e-tests/checklist.md +33 -0
  204. package/claude/skills/bmad-qa-generate-e2e-tests/customize.toml +41 -0
  205. package/claude/skills/bmad-quick-dev/SKILL.md +111 -0
  206. package/claude/skills/bmad-quick-dev/compile-epic-context.md +62 -0
  207. package/claude/skills/bmad-quick-dev/customize.toml +41 -0
  208. package/claude/skills/bmad-quick-dev/spec-template.md +88 -0
  209. package/claude/skills/bmad-quick-dev/step-01-clarify-and-route.md +100 -0
  210. package/claude/skills/bmad-quick-dev/step-02-plan.md +47 -0
  211. package/claude/skills/bmad-quick-dev/step-03-implement.md +41 -0
  212. package/claude/skills/bmad-quick-dev/step-04-review.md +50 -0
  213. package/claude/skills/bmad-quick-dev/step-05-present.md +78 -0
  214. package/claude/skills/bmad-quick-dev/step-oneshot.md +71 -0
  215. package/claude/skills/bmad-quick-dev/sync-sprint-status.md +19 -0
  216. package/claude/skills/bmad-retrospective/SKILL.md +1512 -0
  217. package/claude/skills/bmad-retrospective/customize.toml +41 -0
  218. package/claude/skills/bmad-review-adversarial-general/SKILL.md +37 -0
  219. package/claude/skills/bmad-review-edge-case-hunter/SKILL.md +67 -0
  220. package/claude/skills/bmad-shard-doc/SKILL.md +105 -0
  221. package/claude/skills/bmad-sprint-planning/SKILL.md +299 -0
  222. package/claude/skills/bmad-sprint-planning/checklist.md +33 -0
  223. package/claude/skills/bmad-sprint-planning/customize.toml +41 -0
  224. package/claude/skills/bmad-sprint-planning/sprint-status-template.yaml +56 -0
  225. package/claude/skills/bmad-sprint-status/SKILL.md +297 -0
  226. package/claude/skills/bmad-sprint-status/customize.toml +41 -0
  227. package/claude/skills/bmad-technical-research/SKILL.md +96 -0
  228. package/claude/skills/bmad-technical-research/customize.toml +41 -0
  229. package/claude/skills/bmad-technical-research/research.template.md +29 -0
  230. package/claude/skills/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  231. package/claude/skills/bmad-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  232. package/claude/skills/bmad-technical-research/technical-steps/step-06-research-synthesis.md +493 -0
  233. package/claude/skills/bmad-validate-prd/SKILL.md +104 -0
  234. package/claude/skills/bmad-validate-prd/customize.toml +42 -0
  235. package/claude/skills/bmad-validate-prd/data/domain-complexity.csv +15 -0
  236. package/claude/skills/bmad-validate-prd/data/prd-purpose.md +197 -0
  237. package/claude/skills/bmad-validate-prd/data/project-types.csv +11 -0
  238. package/claude/skills/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  239. package/claude/skills/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  240. package/claude/skills/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  241. package/claude/skills/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  242. package/claude/skills/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  243. package/claude/skills/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  244. package/claude/skills/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  245. package/claude/skills/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  246. package/claude/skills/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  247. package/claude/skills/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  248. package/claude/skills/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  249. package/claude/skills/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  250. package/claude/skills/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  251. package/claude/skills/bmad-validate-prd/steps-v/step-v-13-report-complete.md +230 -0
  252. package/claude/skills/sa-check-implementation-readiness/SKILL.md +10 -0
  253. package/claude/skills/sa-code-review/SKILL.md +10 -0
  254. package/claude/skills/sa-correct-course/SKILL.md +10 -0
  255. package/claude/skills/sa-create-architecture/SKILL.md +10 -0
  256. package/claude/skills/sa-create-epics-and-stories/SKILL.md +10 -0
  257. package/claude/skills/sa-create-prd/SKILL.md +10 -0
  258. package/claude/skills/sa-create-story/SKILL.md +10 -0
  259. package/claude/skills/sa-create-user-guide/SKILL.md +6 -0
  260. package/claude/skills/sa-create-ux-design/SKILL.md +10 -0
  261. package/claude/skills/sa-dev-story/SKILL.md +10 -0
  262. package/claude/skills/sa-generate-project-context/SKILL.md +10 -0
  263. package/claude/skills/sa-init-observability/SKILL.md +182 -0
  264. package/claude/skills/sa-product-brief/SKILL.md +11 -0
  265. package/claude/skills/sa-quality-process/SKILL.md +6 -0
  266. package/claude/skills/sa-shard-doc/SKILL.md +8 -0
  267. package/claude/skills/sa-sprint-planning/SKILL.md +10 -0
  268. package/claude/skills/sa-sprint-status/SKILL.md +9 -0
  269. package/claude/skills/sa-workflow-init/SKILL.md +181 -0
  270. package/package.json +1 -1
  271. package/siesa-agents/EXTENSIONS.md +151 -0
  272. package/siesa-agents/bmm/workflows/2-plan-workflows/create-ux-design/workflow_ext.md +177 -4
  273. package/siesa-agents/bmm/workflows/2-plan-workflows/prd/workflow_ext.md +136 -0
  274. package/siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md +202 -1
  275. package/siesa-agents/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +46 -0
  276. package/siesa-agents/bmm/workflows/3-solutioning/create-epics-and-stories/workflow_ext.md +59 -0
  277. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md +4 -7
  278. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-01-load-story.md +101 -0
  279. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-02-build-plan.md +89 -0
  280. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-03-review.md +91 -0
  281. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-04-fix.md +92 -0
  282. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-05-sync-sprint.md +70 -0
  283. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-06-jira-sync.md +372 -0
  284. package/siesa-agents/bmm/workflows/4-implementation/code-review/steps/step-07-commit-push.md +174 -0
  285. package/siesa-agents/bmm/workflows/4-implementation/code-review/workflow.md +57 -0
  286. package/siesa-agents/bmm/workflows/4-implementation/code-review/workflow_ext.md +8 -6
  287. package/siesa-agents/bmm/workflows/4-implementation/correct-course/workflow_ext.md +8 -8
  288. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -0
  289. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -0
  290. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -0
  291. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -0
  292. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -0
  293. package/siesa-agents/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +106 -0
  294. package/siesa-agents/bmm/workflows/4-implementation/create-story/template.md +49 -0
  295. package/siesa-agents/bmm/workflows/4-implementation/create-story/workflow_ext.md +2 -2
  296. package/siesa-agents/bmm/workflows/4-implementation/dev-story/checklist_ext.md +13 -0
  297. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-01-find-story.md +109 -0
  298. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-02-check-branch.md +108 -0
  299. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-03-load-context.md +46 -0
  300. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-04-env-readiness.md +45 -0
  301. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-05-review-check.md +57 -0
  302. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-06-mark-in-progress.md +52 -0
  303. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-07-implement.md +62 -0
  304. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-08-test-authoring.md +39 -0
  305. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-09-run-tests.md +43 -0
  306. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-10-validate-task.md +63 -0
  307. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-11-mark-review.md +50 -0
  308. package/siesa-agents/bmm/workflows/4-implementation/dev-story/steps/step-12-communication.md +45 -0
  309. package/siesa-agents/bmm/workflows/4-implementation/dev-story/workflow_ext.md +7 -1
  310. package/siesa-agents/bmm/workflows/4-implementation/sprint-planning/workflow_ext.md +60 -0
  311. package/siesa-agents/bmm/workflows/4-implementation/sprint-status/workflow_ext.md +1 -1
  312. package/siesa-agents/bmm/workflows/5-documentation/README.md +235 -0
  313. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-01-init.md +213 -0
  314. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-01b-continue.md +268 -0
  315. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-02-seleccion-features.md +197 -0
  316. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-03-analisis-fuentes.md +235 -0
  317. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-04-elicitacion.md +116 -0
  318. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-05-generacion-espanol.md +611 -0
  319. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-06-traduccion-ingles.md +615 -0
  320. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/steps/step-07-validacion-guardado.md +467 -0
  321. package/siesa-agents/bmm/workflows/5-documentation/create-user-guide/workflow-plan-create-user-guide.md +949 -0
  322. package/siesa-agents/bmm/workflows/generate-project-context/workflow_ext.md +52 -0
  323. package/siesa-agents/bmm/workflows/testarch/framework/workflow_ext.md +20 -0
  324. package/siesa-agents/bmm/workflows/workflow-status/init/workflow_ext.md +194 -0
  325. package/siesa-agents/observability/README.md +254 -43
  326. package/siesa-agents/observability/scripts/sa-emit.js +30 -5
  327. package/siesa-agents/observability/scripts/sa-init-env.js +219 -0
  328. package/siesa-agents/observability/scripts/sa-init-project.js +294 -0
  329. package/siesa-agents/resources/architecture/architecture-both.md +64 -58
  330. package/siesa-agents/resources/architecture/architecture-single-backend.md +31 -27
  331. package/siesa-agents/resources/ux-ui/ux-design-specification.md +2 -0
  332. package/siesa-agents/sa/sync-epics-stories/steps/step-01-init.md +2 -2
  333. package/siesa-agents/sa/sync-epics-stories/steps/step-01b-continue.md +2 -2
  334. package/bmad/_config/agent-manifest.csv +0 -20
  335. package/bmad/_config/agents/bmb-agent-builder.customize.yaml +0 -41
  336. package/bmad/_config/agents/bmb-module-builder.customize.yaml +0 -41
  337. package/bmad/_config/agents/bmb-workflow-builder.customize.yaml +0 -41
  338. package/bmad/_config/agents/bmm-analyst.customize.yaml +0 -41
  339. package/bmad/_config/agents/bmm-architect.customize.yaml +0 -41
  340. package/bmad/_config/agents/bmm-dev.customize.yaml +0 -41
  341. package/bmad/_config/agents/bmm-pm.customize.yaml +0 -41
  342. package/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +0 -41
  343. package/bmad/_config/agents/bmm-sm.customize.yaml +0 -41
  344. package/bmad/_config/agents/bmm-tea.customize.yaml +0 -41
  345. package/bmad/_config/agents/bmm-tech-writer.customize.yaml +0 -41
  346. package/bmad/_config/agents/bmm-ux-designer.customize.yaml +0 -41
  347. package/bmad/_config/agents/cis-brainstorming-coach.customize.yaml +0 -41
  348. package/bmad/_config/agents/cis-creative-problem-solver.customize.yaml +0 -41
  349. package/bmad/_config/agents/cis-design-thinking-coach.customize.yaml +0 -41
  350. package/bmad/_config/agents/cis-innovation-strategist.customize.yaml +0 -41
  351. package/bmad/_config/agents/cis-presentation-master.customize.yaml +0 -41
  352. package/bmad/_config/agents/cis-storyteller.customize.yaml +0 -41
  353. package/bmad/_config/agents/core-bmad-master.customize.yaml +0 -41
  354. package/bmad/_config/files-manifest.csv +0 -469
  355. package/bmad/_config/ides/claude-code.yaml +0 -6
  356. package/bmad/_config/manifest.yaml +0 -14
  357. package/bmad/_config/task-manifest.csv +0 -6
  358. package/bmad/_config/tool-manifest.csv +0 -1
  359. package/bmad/_config/workflow-manifest.csv +0 -46
  360. package/bmad/_memory/config.yaml +0 -11
  361. package/bmad/_memory/storyteller-sidecar/stories-told.md +0 -7
  362. package/bmad/_memory/storyteller-sidecar/story-preferences.md +0 -7
  363. package/bmad/bmb/README.md +0 -25
  364. package/bmad/bmb/agents/agent-builder.md +0 -57
  365. package/bmad/bmb/agents/module-builder.md +0 -60
  366. package/bmad/bmb/agents/workflow-builder.md +0 -56
  367. package/bmad/bmb/config.yaml +0 -12
  368. package/bmad/bmb/docs/workflows/architecture.md +0 -220
  369. package/bmad/bmb/docs/workflows/common-workflow-tools.csv +0 -19
  370. package/bmad/bmb/docs/workflows/csv-data-file-standards.md +0 -206
  371. package/bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +0 -220
  372. package/bmad/bmb/docs/workflows/step-file-rules.md +0 -469
  373. package/bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +0 -241
  374. package/bmad/bmb/docs/workflows/templates/step-1b-template.md +0 -223
  375. package/bmad/bmb/docs/workflows/templates/step-file.md +0 -139
  376. package/bmad/bmb/docs/workflows/templates/step-template.md +0 -290
  377. package/bmad/bmb/docs/workflows/templates/workflow-template.md +0 -104
  378. package/bmad/bmb/docs/workflows/templates/workflow.md +0 -58
  379. package/bmad/bmb/docs/workflows/terms.md +0 -97
  380. package/bmad/bmb/reference/agents/simple-examples/README.md +0 -223
  381. package/bmad/bmb/reference/readme.md +0 -3
  382. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  383. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  384. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
  385. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -177
  386. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -121
  387. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -165
  388. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -154
  389. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -183
  390. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -168
  391. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -195
  392. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
  393. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  394. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  395. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
  396. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
  397. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
  398. package/bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +0 -59
  399. package/bmad/bmb/workflows/agent/data/agent-compilation.md +0 -273
  400. package/bmad/bmb/workflows/agent/data/agent-menu-patterns.md +0 -233
  401. package/bmad/bmb/workflows/agent/data/agent-metadata.md +0 -208
  402. package/bmad/bmb/workflows/agent/data/brainstorm-context.md +0 -146
  403. package/bmad/bmb/workflows/agent/data/communication-presets.csv +0 -61
  404. package/bmad/bmb/workflows/agent/data/critical-actions.md +0 -120
  405. package/bmad/bmb/workflows/agent/data/expert-agent-architecture.md +0 -236
  406. package/bmad/bmb/workflows/agent/data/expert-agent-validation.md +0 -173
  407. package/bmad/bmb/workflows/agent/data/module-agent-validation.md +0 -124
  408. package/bmad/bmb/workflows/agent/data/persona-properties.md +0 -266
  409. package/bmad/bmb/workflows/agent/data/principles-crafting.md +0 -292
  410. package/bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +0 -17
  411. package/bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +0 -68
  412. package/bmad/bmb/workflows/agent/data/simple-agent-architecture.md +0 -204
  413. package/bmad/bmb/workflows/agent/data/simple-agent-validation.md +0 -132
  414. package/bmad/bmb/workflows/agent/data/understanding-agent-types.md +0 -222
  415. package/bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +0 -126
  416. package/bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +0 -168
  417. package/bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +0 -294
  418. package/bmad/bmb/workflows/agent/steps-c/step-04-persona.md +0 -210
  419. package/bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +0 -176
  420. package/bmad/bmb/workflows/agent/steps-c/step-06-activation.md +0 -275
  421. package/bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +0 -185
  422. package/bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +0 -201
  423. package/bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +0 -258
  424. package/bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +0 -203
  425. package/bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +0 -135
  426. package/bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +0 -161
  427. package/bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +0 -158
  428. package/bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +0 -306
  429. package/bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +0 -462
  430. package/bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +0 -244
  431. package/bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +0 -214
  432. package/bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +0 -191
  433. package/bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +0 -78
  434. package/bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +0 -76
  435. package/bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +0 -75
  436. package/bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +0 -75
  437. package/bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +0 -78
  438. package/bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +0 -119
  439. package/bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +0 -122
  440. package/bmad/bmb/workflows/agent/steps-e/e-05-persona.md +0 -132
  441. package/bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +0 -120
  442. package/bmad/bmb/workflows/agent/steps-e/e-07-activation.md +0 -122
  443. package/bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +0 -134
  444. package/bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +0 -117
  445. package/bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +0 -120
  446. package/bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +0 -70
  447. package/bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +0 -70
  448. package/bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +0 -69
  449. package/bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +0 -69
  450. package/bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +0 -70
  451. package/bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +0 -111
  452. package/bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +0 -150
  453. package/bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +0 -128
  454. package/bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +0 -73
  455. package/bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +0 -72
  456. package/bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +0 -71
  457. package/bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +0 -71
  458. package/bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +0 -76
  459. package/bmad/bmb/workflows/agent/steps-v/v-03-summary.md +0 -100
  460. package/bmad/bmb/workflows/agent/templates/agent-plan.template.md +0 -5
  461. package/bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +0 -76
  462. package/bmad/bmb/workflows/agent/templates/simple-agent.template.md +0 -71
  463. package/bmad/bmb/workflows/agent/workflow.md +0 -123
  464. package/bmad/bmb/workflows/create-module/steps/step-01-init.md +0 -156
  465. package/bmad/bmb/workflows/create-module/steps/step-01b-continue.md +0 -170
  466. package/bmad/bmb/workflows/create-module/steps/step-02-concept.md +0 -218
  467. package/bmad/bmb/workflows/create-module/steps/step-03-components.md +0 -268
  468. package/bmad/bmb/workflows/create-module/steps/step-04-structure.md +0 -229
  469. package/bmad/bmb/workflows/create-module/steps/step-05-config.md +0 -234
  470. package/bmad/bmb/workflows/create-module/steps/step-06-agents.md +0 -297
  471. package/bmad/bmb/workflows/create-module/steps/step-07-workflows.md +0 -229
  472. package/bmad/bmb/workflows/create-module/steps/step-08-installer.md +0 -187
  473. package/bmad/bmb/workflows/create-module/steps/step-09-documentation.md +0 -310
  474. package/bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +0 -338
  475. package/bmad/bmb/workflows/create-module/steps/step-11-validate.md +0 -336
  476. package/bmad/bmb/workflows/create-module/templates/agent.template.md +0 -313
  477. package/bmad/bmb/workflows/create-module/templates/installer.template.js +0 -47
  478. package/bmad/bmb/workflows/create-module/templates/module-plan.template.md +0 -5
  479. package/bmad/bmb/workflows/create-module/templates/module.template.yaml +0 -53
  480. package/bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +0 -23
  481. package/bmad/bmb/workflows/create-module/validation.md +0 -126
  482. package/bmad/bmb/workflows/create-module/workflow.md +0 -56
  483. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  484. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  485. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +0 -28
  486. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +0 -177
  487. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +0 -150
  488. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +0 -164
  489. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +0 -152
  490. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
  491. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
  492. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
  493. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +0 -25
  494. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  495. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  496. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +0 -47
  497. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +0 -37
  498. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +0 -18
  499. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +0 -58
  500. package/bmad/bmb/workflows/create-workflow/steps/step-01-init.md +0 -158
  501. package/bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +0 -212
  502. package/bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +0 -251
  503. package/bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +0 -217
  504. package/bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +0 -290
  505. package/bmad/bmb/workflows/create-workflow/steps/step-06-design.md +0 -272
  506. package/bmad/bmb/workflows/create-workflow/steps/step-07-build.md +0 -323
  507. package/bmad/bmb/workflows/create-workflow/steps/step-08-review.md +0 -285
  508. package/bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +0 -188
  509. package/bmad/bmb/workflows/create-workflow/workflow.md +0 -59
  510. package/bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +0 -217
  511. package/bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +0 -254
  512. package/bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +0 -218
  513. package/bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +0 -194
  514. package/bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +0 -246
  515. package/bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +0 -75
  516. package/bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +0 -68
  517. package/bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +0 -40
  518. package/bmad/bmb/workflows/edit-workflow/templates/validation-results.md +0 -51
  519. package/bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +0 -56
  520. package/bmad/bmb/workflows/edit-workflow/workflow.md +0 -59
  521. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +0 -153
  522. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +0 -244
  523. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +0 -275
  524. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +0 -296
  525. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +0 -265
  526. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +0 -361
  527. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +0 -259
  528. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +0 -302
  529. package/bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +0 -140
  530. package/bmad/bmb/workflows/workflow-compliance-check/workflow.md +0 -59
  531. package/bmad/bmb/workflows-legacy/edit-module/README.md +0 -171
  532. package/bmad/bmb/workflows-legacy/edit-module/checklist.md +0 -163
  533. package/bmad/bmb/workflows-legacy/edit-module/instructions.md +0 -340
  534. package/bmad/bmb/workflows-legacy/edit-module/workflow.yaml +0 -33
  535. package/bmad/bmb/workflows-legacy/module-brief/README.md +0 -264
  536. package/bmad/bmb/workflows-legacy/module-brief/checklist.md +0 -116
  537. package/bmad/bmb/workflows-legacy/module-brief/instructions.md +0 -268
  538. package/bmad/bmb/workflows-legacy/module-brief/template.md +0 -275
  539. package/bmad/bmb/workflows-legacy/module-brief/workflow.yaml +0 -35
  540. package/bmad/bmm/agents/analyst.md +0 -76
  541. package/bmad/bmm/agents/architect.md +0 -68
  542. package/bmad/bmm/agents/dev.md +0 -70
  543. package/bmad/bmm/agents/pm.md +0 -70
  544. package/bmad/bmm/agents/quick-flow-solo-dev.md +0 -68
  545. package/bmad/bmm/agents/sm.md +0 -71
  546. package/bmad/bmm/agents/tea.md +0 -71
  547. package/bmad/bmm/agents/tech-writer.md +0 -72
  548. package/bmad/bmm/agents/ux-designer.md +0 -68
  549. package/bmad/bmm/data/README.md +0 -29
  550. package/bmad/bmm/data/documentation-standards.md +0 -262
  551. package/bmad/bmm/data/project-context-template.md +0 -40
  552. package/bmad/bmm/teams/default-party.csv +0 -21
  553. package/bmad/bmm/teams/team-fullstack.yaml +0 -12
  554. package/bmad/bmm/testarch/knowledge/api-request.md +0 -303
  555. package/bmad/bmm/testarch/knowledge/auth-session.md +0 -356
  556. package/bmad/bmm/testarch/knowledge/burn-in.md +0 -273
  557. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  558. package/bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
  559. package/bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
  560. package/bmad/bmm/testarch/knowledge/data-factories.md +0 -500
  561. package/bmad/bmm/testarch/knowledge/email-auth.md +0 -721
  562. package/bmad/bmm/testarch/knowledge/error-handling.md +0 -725
  563. package/bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
  564. package/bmad/bmm/testarch/knowledge/file-utils.md +0 -260
  565. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  566. package/bmad/bmm/testarch/knowledge/fixtures-composition.md +0 -382
  567. package/bmad/bmm/testarch/knowledge/intercept-network-call.md +0 -280
  568. package/bmad/bmm/testarch/knowledge/log.md +0 -294
  569. package/bmad/bmm/testarch/knowledge/network-error-monitor.md +0 -272
  570. package/bmad/bmm/testarch/knowledge/network-first.md +0 -486
  571. package/bmad/bmm/testarch/knowledge/network-recorder.md +0 -265
  572. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  573. package/bmad/bmm/testarch/knowledge/overview.md +0 -283
  574. package/bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
  575. package/bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
  576. package/bmad/bmm/testarch/knowledge/recurse.md +0 -296
  577. package/bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
  578. package/bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
  579. package/bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
  580. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  581. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  582. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  583. package/bmad/bmm/testarch/knowledge/test-quality.md +0 -664
  584. package/bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
  585. package/bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
  586. package/bmad/bmm/testarch/tea-index.csv +0 -33
  587. package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +0 -10
  588. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +0 -182
  589. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -166
  590. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +0 -204
  591. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +0 -207
  592. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +0 -210
  593. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +0 -224
  594. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -199
  595. package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +0 -58
  596. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +0 -443
  597. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  598. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  599. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +0 -200
  600. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  601. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  602. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  603. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -475
  604. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +0 -202
  605. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +0 -239
  606. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +0 -486
  607. package/bmad/bmm/workflows/1-analysis/research/workflow.md +0 -173
  608. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +0 -135
  609. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +0 -127
  610. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +0 -190
  611. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +0 -216
  612. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +0 -219
  613. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +0 -234
  614. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +0 -252
  615. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +0 -254
  616. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +0 -224
  617. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +0 -224
  618. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +0 -241
  619. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +0 -338
  620. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +0 -237
  621. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +0 -264
  622. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +0 -228
  623. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +0 -59
  624. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -13
  625. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -11
  626. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +0 -197
  627. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +0 -166
  628. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +0 -421
  629. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +0 -290
  630. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +0 -291
  631. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +0 -271
  632. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +0 -262
  633. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +0 -258
  634. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +0 -299
  635. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +0 -270
  636. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +0 -294
  637. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +0 -186
  638. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +0 -63
  639. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +0 -190
  640. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  641. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  642. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  643. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  644. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +0 -133
  645. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +0 -55
  646. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +0 -11
  647. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +0 -7
  648. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +0 -174
  649. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +0 -164
  650. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +0 -224
  651. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +0 -342
  652. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +0 -328
  653. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +0 -368
  654. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +0 -381
  655. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +0 -366
  656. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +0 -352
  657. package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +0 -51
  658. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -259
  659. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +0 -274
  660. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +0 -272
  661. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +0 -209
  662. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +0 -72
  663. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +0 -59
  664. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
  665. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml.bak +0 -225
  666. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-01-load-story.md +0 -101
  667. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-02-build-plan.md +0 -89
  668. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-03-review.md +0 -91
  669. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-04-fix.md +0 -92
  670. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-05-sync-sprint.md +0 -70
  671. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-06-jira-sync.md +0 -135
  672. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-07-commit-push.md +0 -174
  673. package/bmad/bmm/workflows/4-implementation/code-review/workflow.md +0 -57
  674. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml.bak +0 -50
  675. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +0 -279
  676. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +0 -206
  677. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -58
  678. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +0 -358
  679. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +0 -85
  680. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +0 -67
  681. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +0 -71
  682. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +0 -58
  683. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +0 -76
  684. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +0 -106
  685. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +0 -63
  686. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +0 -85
  687. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-01-find-story.md +0 -109
  688. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-02-check-branch.md +0 -108
  689. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-03-load-context.md +0 -46
  690. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-04-env-readiness.md +0 -45
  691. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-05-review-check.md +0 -57
  692. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-06-mark-in-progress.md +0 -52
  693. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-07-implement.md +0 -62
  694. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-08-test-authoring.md +0 -39
  695. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-09-run-tests.md +0 -43
  696. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-10-validate-task.md +0 -63
  697. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-11-mark-review.md +0 -50
  698. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-12-communication.md +0 -45
  699. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1443
  700. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -57
  701. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -34
  702. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -276
  703. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -63
  704. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -52
  705. package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +0 -229
  706. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -35
  707. package/bmad/bmm/workflows/5-documentation/README.md +0 -235
  708. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-01-init.md +0 -213
  709. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-01b-continue.md +0 -268
  710. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-02-seleccion-features.md +0 -197
  711. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-03-analisis-fuentes.md +0 -235
  712. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-04-elicitacion.md +0 -116
  713. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-05-generacion-espanol.md +0 -611
  714. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-06-traduccion-ingles.md +0 -615
  715. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-07-validacion-guardado.md +0 -467
  716. package/bmad/bmm/workflows/5-documentation/create-user-guide/workflow-plan-create-user-guide.md +0 -949
  717. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +0 -189
  718. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +0 -144
  719. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +0 -128
  720. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +0 -173
  721. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +0 -74
  722. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +0 -79
  723. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +0 -156
  724. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +0 -120
  725. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +0 -113
  726. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +0 -113
  727. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +0 -106
  728. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +0 -140
  729. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +0 -52
  730. package/bmad/bmm/workflows/document-project/instructions.md +0 -221
  731. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  732. package/bmad/bmm/workflows/document-project/workflow.yaml +0 -28
  733. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  734. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  735. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  736. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  737. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +0 -90
  738. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +0 -127
  739. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +0 -39
  740. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +0 -130
  741. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +0 -26
  742. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +0 -43
  743. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +0 -141
  744. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +0 -26
  745. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +0 -49
  746. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +0 -241
  747. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +0 -26
  748. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +0 -38
  749. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +0 -133
  750. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +0 -26
  751. package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +0 -261
  752. package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +0 -342
  753. package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +0 -278
  754. package/bmad/bmm/workflows/generate-project-context/workflow.md +0 -51
  755. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -364
  756. package/bmad/bmm/workflows/testarch/atdd/checklist.md +0 -374
  757. package/bmad/bmm/workflows/testarch/atdd/instructions.md +0 -806
  758. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -45
  759. package/bmad/bmm/workflows/testarch/automate/checklist.md +0 -582
  760. package/bmad/bmm/workflows/testarch/automate/instructions.md +0 -1324
  761. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -52
  762. package/bmad/bmm/workflows/testarch/ci/checklist.md +0 -248
  763. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -198
  764. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -149
  765. package/bmad/bmm/workflows/testarch/ci/instructions.md +0 -536
  766. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -45
  767. package/bmad/bmm/workflows/testarch/framework/checklist.md +0 -321
  768. package/bmad/bmm/workflows/testarch/framework/instructions.md +0 -481
  769. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -47
  770. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -407
  771. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
  772. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -445
  773. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -47
  774. package/bmad/bmm/workflows/testarch/test-design/checklist.md +0 -235
  775. package/bmad/bmm/workflows/testarch/test-design/instructions.md +0 -788
  776. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -294
  777. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -54
  778. package/bmad/bmm/workflows/testarch/test-review/checklist.md +0 -472
  779. package/bmad/bmm/workflows/testarch/test-review/instructions.md +0 -628
  780. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -390
  781. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -46
  782. package/bmad/bmm/workflows/testarch/trace/checklist.md +0 -655
  783. package/bmad/bmm/workflows/testarch/trace/instructions.md +0 -1047
  784. package/bmad/bmm/workflows/testarch/trace/trace-template.md +0 -675
  785. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -55
  786. package/bmad/bmm/workflows/workflow-status/init/instructions.md +0 -346
  787. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +0 -29
  788. package/bmad/bmm/workflows/workflow-status/instructions.md +0 -395
  789. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -103
  790. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -100
  791. package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -103
  792. package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -100
  793. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +0 -59
  794. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -24
  795. package/bmad/bmm/workflows/workflow-status/workflow.yaml +0 -30
  796. package/bmad/cis/agents/brainstorming-coach.md +0 -60
  797. package/bmad/cis/agents/creative-problem-solver.md +0 -60
  798. package/bmad/cis/agents/design-thinking-coach.md +0 -60
  799. package/bmad/cis/agents/innovation-strategist.md +0 -60
  800. package/bmad/cis/agents/presentation-master.md +0 -66
  801. package/bmad/cis/agents/storyteller/storyteller.md +0 -57
  802. package/bmad/cis/config.yaml +0 -11
  803. package/bmad/cis/teams/creative-squad.yaml +0 -7
  804. package/bmad/cis/teams/default-party.csv +0 -12
  805. package/bmad/cis/workflows/README.md +0 -139
  806. package/bmad/cis/workflows/design-thinking/README.md +0 -56
  807. package/bmad/cis/workflows/design-thinking/design-methods.csv +0 -31
  808. package/bmad/cis/workflows/design-thinking/instructions.md +0 -202
  809. package/bmad/cis/workflows/design-thinking/template.md +0 -111
  810. package/bmad/cis/workflows/design-thinking/workflow.yaml +0 -27
  811. package/bmad/cis/workflows/innovation-strategy/README.md +0 -56
  812. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +0 -31
  813. package/bmad/cis/workflows/innovation-strategy/instructions.md +0 -276
  814. package/bmad/cis/workflows/innovation-strategy/template.md +0 -189
  815. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +0 -27
  816. package/bmad/cis/workflows/problem-solving/README.md +0 -56
  817. package/bmad/cis/workflows/problem-solving/instructions.md +0 -252
  818. package/bmad/cis/workflows/problem-solving/solving-methods.csv +0 -31
  819. package/bmad/cis/workflows/problem-solving/template.md +0 -165
  820. package/bmad/cis/workflows/problem-solving/workflow.yaml +0 -27
  821. package/bmad/cis/workflows/storytelling/README.md +0 -58
  822. package/bmad/cis/workflows/storytelling/instructions.md +0 -293
  823. package/bmad/cis/workflows/storytelling/story-types.csv +0 -26
  824. package/bmad/cis/workflows/storytelling/template.md +0 -113
  825. package/bmad/cis/workflows/storytelling/workflow.yaml +0 -27
  826. package/bmad/core/agents/bmad-master.md +0 -57
  827. package/bmad/core/config.yaml +0 -9
  828. package/bmad/core/resources/excalidraw/README.md +0 -160
  829. package/bmad/core/resources/excalidraw/excalidraw-helpers.md +0 -127
  830. package/bmad/core/resources/excalidraw/library-loader.md +0 -50
  831. package/bmad/core/resources/excalidraw/validate-json-instructions.md +0 -79
  832. package/bmad/core/tasks/index-docs.xml +0 -65
  833. package/bmad/core/tasks/review-adversarial-general.xml +0 -41
  834. package/bmad/core/tasks/shard-doc.xml +0 -109
  835. package/bmad/core/tasks/validate-workflow.xml +0 -89
  836. package/bmad/core/tasks/workflow.xml +0 -235
  837. package/bmad/core/workflows/advanced-elicitation/workflow.xml +0 -117
  838. package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +0 -197
  839. package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +0 -122
  840. package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +0 -225
  841. package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +0 -237
  842. package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +0 -209
  843. package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +0 -264
  844. package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +0 -340
  845. package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +0 -303
  846. package/bmad/core/workflows/brainstorming/workflow.md +0 -51
  847. package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +0 -139
  848. package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +0 -204
  849. package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -159
  850. package/bmad/core/workflows/party-mode/workflow.md +0 -206
  851. package/claude/commands/bmad/bmb/agents/agent-builder.md +0 -14
  852. package/claude/commands/bmad/bmb/agents/module-builder.md +0 -14
  853. package/claude/commands/bmad/bmb/agents/workflow-builder.md +0 -14
  854. package/claude/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md +0 -5
  855. package/claude/commands/bmad/bmb/workflows/agent.md +0 -5
  856. package/claude/commands/bmad/bmb/workflows/create-module.md +0 -5
  857. package/claude/commands/bmad/bmb/workflows/create-workflow.md +0 -5
  858. package/claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -5
  859. package/claude/commands/bmad/bmb/workflows/workflow-compliance-check.md +0 -5
  860. package/claude/commands/bmad/bmm/agents/analyst.md +0 -14
  861. package/claude/commands/bmad/bmm/agents/architect.md +0 -14
  862. package/claude/commands/bmad/bmm/agents/dev.md +0 -14
  863. package/claude/commands/bmad/bmm/agents/pm.md +0 -14
  864. package/claude/commands/bmad/bmm/agents/quick-flow-solo-dev.md +0 -14
  865. package/claude/commands/bmad/bmm/agents/sm.md +0 -14
  866. package/claude/commands/bmad/bmm/agents/tea.md +0 -14
  867. package/claude/commands/bmad/bmm/agents/tech-writer.md +0 -14
  868. package/claude/commands/bmad/bmm/agents/ux-designer.md +0 -14
  869. package/claude/commands/bmad/bmm/workflows/check-implementation-readiness.md +0 -9
  870. package/claude/commands/bmad/bmm/workflows/code-review.md +0 -14
  871. package/claude/commands/bmad/bmm/workflows/correct-course.md +0 -14
  872. package/claude/commands/bmad/bmm/workflows/create-architecture.md +0 -9
  873. package/claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +0 -9
  874. package/claude/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md +0 -13
  875. package/claude/commands/bmad/bmm/workflows/create-excalidraw-diagram.md +0 -13
  876. package/claude/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md +0 -13
  877. package/claude/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md +0 -13
  878. package/claude/commands/bmad/bmm/workflows/create-prd.md +0 -11
  879. package/claude/commands/bmad/bmm/workflows/create-product-brief.md +0 -9
  880. package/claude/commands/bmad/bmm/workflows/create-story.md +0 -14
  881. package/claude/commands/bmad/bmm/workflows/create-tech-spec.md +0 -5
  882. package/claude/commands/bmad/bmm/workflows/create-user-guide.md +0 -5
  883. package/claude/commands/bmad/bmm/workflows/create-ux-design.md +0 -9
  884. package/claude/commands/bmad/bmm/workflows/dev-story.md +0 -14
  885. package/claude/commands/bmad/bmm/workflows/document-project.md +0 -13
  886. package/claude/commands/bmad/bmm/workflows/fast-track-dev.md +0 -5
  887. package/claude/commands/bmad/bmm/workflows/generate-project-context.md +0 -11
  888. package/claude/commands/bmad/bmm/workflows/quality-process.md +0 -5
  889. package/claude/commands/bmad/bmm/workflows/quick-dev.md +0 -5
  890. package/claude/commands/bmad/bmm/workflows/research.md +0 -5
  891. package/claude/commands/bmad/bmm/workflows/retrospective.md +0 -13
  892. package/claude/commands/bmad/bmm/workflows/sprint-planning.md +0 -14
  893. package/claude/commands/bmad/bmm/workflows/sprint-status.md +0 -14
  894. package/claude/commands/bmad/bmm/workflows/testarch-atdd.md +0 -13
  895. package/claude/commands/bmad/bmm/workflows/testarch-automate.md +0 -13
  896. package/claude/commands/bmad/bmm/workflows/testarch-ci.md +0 -13
  897. package/claude/commands/bmad/bmm/workflows/testarch-framework.md +0 -13
  898. package/claude/commands/bmad/bmm/workflows/testarch-nfr.md +0 -13
  899. package/claude/commands/bmad/bmm/workflows/testarch-test-design.md +0 -13
  900. package/claude/commands/bmad/bmm/workflows/testarch-test-review.md +0 -13
  901. package/claude/commands/bmad/bmm/workflows/testarch-trace.md +0 -13
  902. package/claude/commands/bmad/bmm/workflows/workflow-init.md +0 -14
  903. package/claude/commands/bmad/bmm/workflows/workflow-status.md +0 -13
  904. package/claude/commands/bmad/cis/agents/brainstorming-coach.md +0 -14
  905. package/claude/commands/bmad/cis/agents/creative-problem-solver.md +0 -14
  906. package/claude/commands/bmad/cis/agents/design-thinking-coach.md +0 -14
  907. package/claude/commands/bmad/cis/agents/innovation-strategist.md +0 -14
  908. package/claude/commands/bmad/cis/agents/presentation-master.md +0 -14
  909. package/claude/commands/bmad/cis/agents/storyteller.md +0 -14
  910. package/claude/commands/bmad/cis/workflows/design-thinking.md +0 -13
  911. package/claude/commands/bmad/cis/workflows/innovation-strategy.md +0 -13
  912. package/claude/commands/bmad/cis/workflows/problem-solving.md +0 -13
  913. package/claude/commands/bmad/cis/workflows/storytelling.md +0 -13
  914. package/claude/commands/bmad/core/agents/bmad-master.md +0 -14
  915. package/claude/commands/bmad/core/tasks/index-docs.md +0 -9
  916. package/claude/commands/bmad/core/workflows/brainstorming.md +0 -5
  917. package/claude/commands/bmad/core/workflows/party-mode.md +0 -5
  918. package/claude/commands/bmad/core/workflows/shard-docs.md +0 -10
  919. package/siesa-agents/bmm/workflows/fast-track-dev/completion-summary-fast-track-dev.md +0 -76
  920. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-01-init.md +0 -161
  921. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-02-configure.md +0 -195
  922. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-03-execute.md +0 -169
  923. package/siesa-agents/bmm/workflows/fast-track-dev/workflow-plan-fast-track-dev.md +0 -198
  924. package/siesa-agents/bmm/workflows/fast-track-dev/workflow.md +0 -57
  925. package/siesa-agents/bmm/workflows/workflow-status/Init/workflow_ext.md +0 -194
  926. package/siesa-agents/scripts/bmad_orchestrator.py +0 -900
  927. /package/{bmad/core/workflows/advanced-elicitation → claude/skills/bmad-advanced-elicitation}/methods.csv +0 -0
  928. /package/{bmad/core/workflows/brainstorming → claude/skills/bmad-brainstorming}/brain-methods.csv +0 -0
  929. /package/{bmad/core/workflows/brainstorming → claude/skills/bmad-brainstorming}/template.md +0 -0
  930. /package/{bmad/bmm/workflows/3-solutioning/check-implementation-readiness → claude/skills/bmad-check-implementation-readiness}/templates/readiness-report-template.md +0 -0
  931. /package/{bmad/bmm/workflows/3-solutioning/create-architecture → claude/skills/bmad-create-architecture}/architecture-decision-template.md +0 -0
  932. /package/{bmad/bmm/workflows/2-plan-workflows/prd → claude/skills/bmad-create-prd/data}/project-types.csv +0 -0
  933. /package/{bmad/bmm/workflows/4-implementation/create-story → claude/skills/bmad-create-story}/template.md +0 -0
  934. /package/{bmad/bmm/workflows/2-plan-workflows/create-ux-design → claude/skills/bmad-create-ux-design}/ux-design-template.md +0 -0
  935. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/checklist.md +0 -0
  936. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/documentation-requirements.csv +0 -0
  937. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/templates/deep-dive-template.md +0 -0
  938. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/templates/index-template.md +0 -0
  939. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/templates/project-overview-template.md +0 -0
  940. /package/{bmad/bmm/workflows/document-project → claude/skills/bmad-document-project}/templates/source-tree-template.md +0 -0
  941. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/domain-steps/step-01-init.md +0 -0
  942. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/domain-steps/step-02-domain-analysis.md +0 -0
  943. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/domain-steps/step-03-competitive-landscape.md +0 -0
  944. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/domain-steps/step-04-regulatory-focus.md +0 -0
  945. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/domain-steps/step-05-technical-trends.md +0 -0
  946. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-domain-research}/research.template.md +0 -0
  947. /package/{bmad/bmm/workflows/generate-project-context → claude/skills/bmad-generate-project-context}/project-context-template.md +0 -0
  948. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-technical-research}/technical-steps/step-01-init.md +0 -0
  949. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-technical-research}/technical-steps/step-02-technical-overview.md +0 -0
  950. /package/{bmad/bmm/workflows/1-analysis/research → claude/skills/bmad-technical-research}/technical-steps/step-03-integration-patterns.md +0 -0
  951. /package/{bmad → siesa-agents}/bmm/data/git-flow-siesa.md +0 -0
  952. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +0 -0
  953. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +0 -0
  954. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/database-conventions.md +0 -0
  955. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +0 -0
  956. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/mastercrud-use-reference.md +0 -0
  957. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +0 -0
  958. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +0 -0
  959. /package/{bmad → siesa-agents}/bmm/workflows/3-solutioning/create-architecture/data/company-standards/vite-config-standard.md +0 -0
  960. /package/{bmad → siesa-agents}/bmm/workflows/4-implementation/create-story/workflow.md +0 -0
  961. /package/{bmad → siesa-agents}/bmm/workflows/4-implementation/dev-story/workflow.md +0 -0
  962. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/data/audience-types.csv +0 -0
  963. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/data/diagram-types.csv +0 -0
  964. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/data/section-structure.csv +0 -0
  965. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/steps/step-02-seleccion-epicas.md +0 -0
  966. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/templates/user-guide-template-en.md +0 -0
  967. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/templates/user-guide-template-es.md +0 -0
  968. /package/{bmad → siesa-agents}/bmm/workflows/5-documentation/create-user-guide/workflow.md +0 -0
@@ -1,900 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- BMAD Story Orchestrator
4
- =======================
5
- Automates the full story development cycle (create → dev → code-review)
6
- by invoking the Claude Code CLI in sequential, clean-context sessions.
7
-
8
- Source of truth: _bmad-output/implementation-artifacts/sprint-status.yaml
9
- Resume state: scripts/.orchestrator-state.json
10
- Logs: scripts/logs/
11
- """
12
-
13
- import argparse
14
- import json
15
- import os
16
- import re
17
- import shutil
18
- import subprocess
19
- import sys
20
- import time
21
- from datetime import datetime
22
- from pathlib import Path
23
-
24
- # Ensure stdout/stderr handle Unicode on Windows consoles (cp1252 → utf-8)
25
- if hasattr(sys.stdout, "reconfigure"):
26
- sys.stdout.reconfigure(encoding="utf-8", errors="replace")
27
- if hasattr(sys.stderr, "reconfigure"):
28
- sys.stderr.reconfigure(encoding="utf-8", errors="replace")
29
-
30
- # ---------------------------------------------------------------------------
31
- # Paths
32
- # ---------------------------------------------------------------------------
33
- def _find_project_root() -> Path:
34
- """Walk up from CWD until we find sprint-status.yaml or a known marker."""
35
- SPRINT_REL = Path("_bmad-output") / "implementation-artifacts" / "sprint-status.yaml"
36
- candidate = Path.cwd().resolve()
37
- for _ in range(10): # max 10 levels up
38
- if (candidate / SPRINT_REL).exists():
39
- return candidate
40
- parent = candidate.parent
41
- if parent == candidate:
42
- break
43
- candidate = parent
44
- # Fallback: original behavior relative to script
45
- return Path(__file__).resolve().parent.parent
46
-
47
- SCRIPT_DIR = Path(__file__).resolve().parent
48
- PROJECT_ROOT = _find_project_root()
49
- SPRINT_STATUS = PROJECT_ROOT / "_bmad-output" / "implementation-artifacts" / "sprint-status.yaml"
50
- STATE_FILE = SCRIPT_DIR / ".orchestrator-state.json"
51
- LOGS_DIR = SCRIPT_DIR / "logs"
52
-
53
- # ---------------------------------------------------------------------------
54
- # Steps
55
- # ---------------------------------------------------------------------------
56
- STEPS = ["create", "dev", "review"]
57
-
58
- _NO_QUESTIONS = (
59
- ' Run in batch mode: do not ask questions, do not offer further help, '
60
- 'do not suggest next steps, do not wait for user input. '
61
- 'Complete the task fully and stop.'
62
- )
63
-
64
- STEP_PROMPTS = {
65
- "create": '/bmad:bmm:workflows:create-story create story {story_id}' + _NO_QUESTIONS,
66
- "dev": '/bmad:bmm:workflows:dev-story implement story {story_id}' + _NO_QUESTIONS,
67
- "review": (
68
- '/bmad:bmm:workflows:code-review review the code for story {story_id}. '
69
- 'Apply ALL fixes automatically without asking for confirmation. '
70
- 'Do not pause for user input — apply every correction you find.'
71
- + _NO_QUESTIONS
72
- ),
73
- }
74
-
75
- MAX_RETRIES = 8
76
- DEFAULT_WAIT_SECS = 300 # 5 minutes
77
-
78
- # ANSI colors
79
- C_RESET = "\033[0m"
80
- C_BOLD = "\033[1m"
81
- C_GREEN = "\033[32m"
82
- C_YELLOW = "\033[33m"
83
- C_RED = "\033[31m"
84
- C_CYAN = "\033[36m"
85
- C_DIM = "\033[2m"
86
- C_MAGENTA = "\033[35m"
87
- C_BLUE = "\033[34m"
88
-
89
-
90
- # ---------------------------------------------------------------------------
91
- # Sprint-status parser (stdlib only, no yaml lib)
92
- # ---------------------------------------------------------------------------
93
- def parse_sprint_status(path: Path) -> list[dict]:
94
- """Return list of {'epic': int, 'story_id': str, 'status': str}."""
95
- stories: list[dict] = []
96
- current_epic: int | None = None
97
-
98
- with open(path) as f:
99
- in_dev_status = False
100
- for raw_line in f:
101
- line = raw_line.strip()
102
-
103
- # Detect development_status block
104
- if line == "development_status:":
105
- in_dev_status = True
106
- continue
107
- if not in_dev_status:
108
- continue
109
-
110
- # Skip comments and blanks
111
- if not line or line.startswith("#"):
112
- continue
113
-
114
- # Parse key: value (ignore inline comments)
115
- m = re.match(r'^(\S+):\s*(\S+)', line)
116
- if not m:
117
- continue
118
- key, value = m.group(1), m.group(2)
119
-
120
- # Epic line
121
- epic_m = re.match(r'^epic-(\d+)$', key)
122
- if epic_m:
123
- current_epic = int(epic_m.group(1))
124
- continue
125
-
126
- # Retrospective lines — skip
127
- if "retrospective" in key:
128
- continue
129
-
130
- # Story line
131
- story_m = re.match(r'^(\d+)-(\d+)', key)
132
- if story_m and current_epic is not None:
133
- stories.append({
134
- "epic": current_epic,
135
- "story_id": key,
136
- "status": value,
137
- })
138
-
139
- return stories
140
-
141
-
142
- # ---------------------------------------------------------------------------
143
- # State management
144
- # ---------------------------------------------------------------------------
145
- def load_state() -> dict | None:
146
- if STATE_FILE.exists():
147
- try:
148
- return json.loads(STATE_FILE.read_text())
149
- except (json.JSONDecodeError, OSError):
150
- return None
151
- return None
152
-
153
-
154
- def save_state(story_id: str, step: str, completed: bool):
155
- state = {
156
- "story_id": story_id,
157
- "step": step,
158
- "completed": completed,
159
- "timestamp": datetime.now().isoformat(),
160
- }
161
- STATE_FILE.write_text(json.dumps(state, indent=2) + "\n")
162
-
163
-
164
- def clear_state():
165
- if STATE_FILE.exists():
166
- STATE_FILE.unlink()
167
-
168
-
169
- # ---------------------------------------------------------------------------
170
- # Logging
171
- # ---------------------------------------------------------------------------
172
- class Logger:
173
- def __init__(self):
174
- LOGS_DIR.mkdir(parents=True, exist_ok=True)
175
- ts = datetime.now().strftime("%Y%m%d_%H%M%S")
176
- self.general_log = open(LOGS_DIR / f"orchestrator_{ts}.log", "w", encoding="utf-8")
177
- self._step_log = None
178
-
179
- def open_step_log(self, story_id: str, step: str):
180
- self.close_step_log()
181
- story_dir = LOGS_DIR / f"story_{story_id}"
182
- story_dir.mkdir(parents=True, exist_ok=True)
183
- self._step_log = open(story_dir / f"{step}.log", "w", encoding="utf-8")
184
-
185
- def close_step_log(self):
186
- if self._step_log:
187
- self._step_log.close()
188
- self._step_log = None
189
-
190
- def log(self, text: str, *, to_step=True):
191
- ts = datetime.now().strftime("%H:%M:%S")
192
- entry = f"[{ts}] {text}\n"
193
- self.general_log.write(entry)
194
- self.general_log.flush()
195
- if to_step and self._step_log:
196
- self._step_log.write(entry)
197
- self._step_log.flush()
198
-
199
- def log_output(self, text: str):
200
- """Log raw output to step log only."""
201
- safe = text.encode("utf-8", errors="replace").decode("utf-8")
202
- if self._step_log:
203
- self._step_log.write(safe)
204
- self._step_log.flush()
205
-
206
- def close(self):
207
- self.close_step_log()
208
- self.general_log.close()
209
-
210
-
211
- # ---------------------------------------------------------------------------
212
- # Rate-limit detection
213
- # ---------------------------------------------------------------------------
214
- _RATE_LIMIT_PATTERNS = [
215
- re.compile(r'rate.?limit', re.IGNORECASE),
216
- re.compile(r'too many requests', re.IGNORECASE),
217
- re.compile(r'overloaded', re.IGNORECASE),
218
- re.compile(r'try again in', re.IGNORECASE),
219
- re.compile(r'retry.after', re.IGNORECASE),
220
- ]
221
-
222
- _WAIT_TIME_PATTERNS = [
223
- re.compile(r'(\d+)\s*second', re.IGNORECASE),
224
- re.compile(r'(\d+)\s*minute', re.IGNORECASE),
225
- re.compile(r'try again in\s*(\d+)', re.IGNORECASE),
226
- re.compile(r'wait\s*(\d+)', re.IGNORECASE),
227
- ]
228
-
229
-
230
- def detect_rate_limit(output: str) -> bool:
231
- return any(p.search(output) for p in _RATE_LIMIT_PATTERNS)
232
-
233
-
234
- def extract_wait_time(output: str) -> int:
235
- """Extract wait time in seconds from error output. Returns default if not found."""
236
- for p in _WAIT_TIME_PATTERNS:
237
- m = p.search(output)
238
- if m:
239
- val = int(m.group(1))
240
- if "minute" in p.pattern.lower():
241
- return val * 60
242
- return val if val <= 600 else DEFAULT_WAIT_SECS
243
- return DEFAULT_WAIT_SECS
244
-
245
-
246
- def countdown_wait(seconds: int, logger: Logger):
247
- """Wait with a visible countdown."""
248
- print(f"\n{C_YELLOW}Esperando {seconds}s por rate limit...{C_RESET}")
249
- logger.log(f"Rate limit — waiting {seconds}s")
250
- end = time.time() + seconds
251
- while True:
252
- remaining = int(end - time.time())
253
- if remaining <= 0:
254
- break
255
- mins, secs = divmod(remaining, 60)
256
- sys.stdout.write(f"\r{C_DIM} {mins:02d}:{secs:02d} restantes...{C_RESET} ")
257
- sys.stdout.flush()
258
- time.sleep(1)
259
- sys.stdout.write("\r" + " " * 40 + "\r")
260
- sys.stdout.flush()
261
- print(f"{C_GREEN}Reanudando...{C_RESET}\n")
262
-
263
-
264
- # ---------------------------------------------------------------------------
265
- # Question detection
266
- # ---------------------------------------------------------------------------
267
- def detect_question(output: str) -> str | None:
268
- """Check if Claude ended with a question. Returns the question text or None."""
269
- lines = output.strip().splitlines()
270
- if not lines:
271
- return None
272
- tail = []
273
- for line in reversed(lines):
274
- stripped = line.strip()
275
- if stripped:
276
- tail.insert(0, stripped)
277
- if len(tail) >= 5:
278
- break
279
-
280
- tail_text = "\n".join(tail)
281
-
282
- # Phrases that look like questions but are just polite closings — ignore them
283
- courtesy_patterns = [
284
- re.compile(r'(estoy a la orden|happy to help|let me know if|feel free to|si tienes (preguntas|dudas)|cualquier (pregunta|duda))', re.IGNORECASE),
285
- re.compile(r'(if you (have|need)|si (necesitas|quieres|tienes))', re.IGNORECASE),
286
- ]
287
- if any(p.search(tail_text) for p in courtesy_patterns):
288
- return None
289
-
290
- # Only treat as a real question if it ends with ? or uses direct action-blocking phrases
291
- if tail_text.rstrip().endswith("?"):
292
- return tail_text
293
- question_patterns = [
294
- re.compile(r'would you like (me to|to)', re.IGNORECASE),
295
- re.compile(r'do you want (me to|to)', re.IGNORECASE),
296
- re.compile(r'should I (proceed|continue|apply|create|make)', re.IGNORECASE),
297
- re.compile(r'please (confirm|clarify|specify)', re.IGNORECASE),
298
- re.compile(r'which (one|option) (do|should|would)', re.IGNORECASE),
299
- ]
300
- if any(p.search(tail_text) for p in question_patterns):
301
- return tail_text
302
- return None
303
-
304
-
305
- # ---------------------------------------------------------------------------
306
- # Stream-JSON event renderer
307
- # ---------------------------------------------------------------------------
308
- def _truncate(text: str, max_len: int = 200) -> str:
309
- """Truncate text for display."""
310
- text = text.strip()
311
- if len(text) <= max_len:
312
- return text
313
- return text[:max_len] + "..."
314
-
315
-
316
- def _format_tool_input(name: str, inp: dict) -> str:
317
- """Format a tool_use input for compact display."""
318
- if name == "Read":
319
- path = inp.get("file_path", "")
320
- parts = []
321
- if path:
322
- parts.append(path.replace(str(PROJECT_ROOT) + "/", ""))
323
- if inp.get("offset"):
324
- parts.append(f"offset={inp['offset']}")
325
- if inp.get("limit"):
326
- parts.append(f"limit={inp['limit']}")
327
- return " ".join(parts)
328
- if name == "Write":
329
- path = inp.get("file_path", "")
330
- return path.replace(str(PROJECT_ROOT) + "/", "")
331
- if name == "Edit":
332
- path = inp.get("file_path", "")
333
- old = _truncate(inp.get("old_string", ""), 60)
334
- return f"{path.replace(str(PROJECT_ROOT) + '/', '')} old={old!r}"
335
- if name == "Glob":
336
- return inp.get("pattern", "")
337
- if name == "Grep":
338
- pattern = inp.get("pattern", "")
339
- path = inp.get("path", "")
340
- return f"/{pattern}/ in {path.replace(str(PROJECT_ROOT) + '/', '') or '.'}"
341
- if name == "Bash":
342
- cmd = inp.get("command", "")
343
- return _truncate(cmd, 120)
344
- if name == "Skill":
345
- return inp.get("skill", "")
346
- # Generic
347
- return _truncate(json.dumps(inp, ensure_ascii=False), 120)
348
-
349
-
350
- def _format_tool_result(event: dict) -> str:
351
- """Format a tool result for compact display."""
352
- result = event.get("tool_use_result", "")
353
- if isinstance(result, dict):
354
- # File read result
355
- if "file" in result:
356
- f = result["file"]
357
- path = f.get("filePath", "")
358
- lines = f.get("totalLines", "?")
359
- return f"{path.replace(str(PROJECT_ROOT) + '/', '')} ({lines} lines)"
360
- if "filenames" in result:
361
- count = len(result["filenames"])
362
- truncated = result.get("truncated", False)
363
- suffix = "+" if truncated else ""
364
- return f"{count}{suffix} files"
365
- if "durationMs" in result:
366
- return f"done in {result['durationMs']}ms"
367
- return _truncate(json.dumps(result, ensure_ascii=False), 150)
368
- if isinstance(result, str):
369
- # Error results
370
- if result.startswith("Error:"):
371
- return f"{C_RED}{_truncate(result, 150)}{C_RESET}"
372
- return _truncate(result, 150)
373
- return str(result)[:150]
374
-
375
-
376
- def render_event(event: dict, logger: Logger) -> str | None:
377
- """
378
- Render a stream-json event to the terminal.
379
- Returns extracted assistant text (for question detection) or None.
380
- """
381
- etype = event.get("type", "")
382
- assistant_text = None
383
-
384
- if etype == "system":
385
- subtype = event.get("subtype", "")
386
- if subtype == "init":
387
- model = event.get("model", "?")
388
- mode = event.get("permissionMode", "?")
389
- print(f" {C_DIM}modelo={model} permisos={mode}{C_RESET}")
390
- logger.log(f"Init: model={model} permissionMode={mode}")
391
- # Skip hook events silently
392
-
393
- elif etype == "assistant":
394
- msg = event.get("message", {})
395
- content = msg.get("content", [])
396
- for block in content:
397
- btype = block.get("type", "")
398
- if btype == "text":
399
- text = block.get("text", "")
400
- if text.strip():
401
- print(f"\n{text}")
402
- assistant_text = text
403
- logger.log_output(text + "\n")
404
- elif btype == "tool_use":
405
- name = block.get("name", "?")
406
- inp = block.get("input", {})
407
- formatted = _format_tool_input(name, inp)
408
- print(f" {C_MAGENTA}{name}{C_RESET} {C_DIM}{formatted}{C_RESET}")
409
- logger.log_output(f"[tool_use] {name}: {formatted}\n")
410
-
411
- elif etype == "user":
412
- # Tool result
413
- formatted = _format_tool_result(event)
414
- if formatted:
415
- print(f" {C_DIM} ↳ {formatted}{C_RESET}")
416
- logger.log_output(f"[tool_result] {formatted}\n")
417
-
418
- elif etype == "rate_limit_event":
419
- info = event.get("rate_limit_info", {})
420
- status = info.get("status", "")
421
- if status != "allowed":
422
- resets_at = info.get("resetsAt", 0)
423
- now = int(time.time())
424
- wait = max(resets_at - now, DEFAULT_WAIT_SECS) if resets_at > now else DEFAULT_WAIT_SECS
425
- print(f"\n {C_RED}Rate limit: status={status}{C_RESET}")
426
- logger.log(f"Rate limit event: status={status} resetsAt={resets_at}")
427
- # Will be handled by caller via return value
428
-
429
- elif etype == "result":
430
- subtype = event.get("subtype", "")
431
- is_error = event.get("is_error", False)
432
- duration = event.get("duration_ms", 0)
433
- cost = event.get("total_cost_usd", 0)
434
- turns = event.get("num_turns", 0)
435
-
436
- dur_str = f"{duration / 1000:.1f}s" if duration else "?"
437
- cost_str = f"${cost:.4f}" if cost else "?"
438
-
439
- if is_error:
440
- err_msg = event.get("result", "unknown error")
441
- print(f"\n {C_RED}Error: {_truncate(err_msg, 200)}{C_RESET}")
442
- print(f" {C_DIM}duración={dur_str} costo={cost_str} turnos={turns}{C_RESET}")
443
- else:
444
- print(f"\n {C_DIM}───────────────────────────────────────")
445
- print(f" duración={dur_str} costo={cost_str} turnos={turns}{C_RESET}")
446
- logger.log(f"Result: subtype={subtype} error={is_error} duration={dur_str} cost={cost_str} turns={turns}")
447
-
448
- return assistant_text
449
-
450
-
451
- # ---------------------------------------------------------------------------
452
- # Claude invocation
453
- # ---------------------------------------------------------------------------
454
- def run_claude_step(
455
- prompt: str,
456
- model: str | None,
457
- logger: Logger,
458
- story_id: str,
459
- step: str,
460
- ) -> tuple[bool, str]:
461
- """
462
- Run a single Claude CLI invocation with real-time stream-json output.
463
-
464
- Uses --output-format stream-json to get structured events as they happen,
465
- including tool calls, results, and text — all rendered live.
466
- Returns (success: bool, full_assistant_text: str).
467
- """
468
- claude_bin = shutil.which("claude") or shutil.which("claude.cmd") or "claude"
469
- cmd = [
470
- claude_bin,
471
- "--print",
472
- "--dangerously-skip-permissions",
473
- "--verbose",
474
- "--output-format", "stream-json",
475
- ]
476
- if model:
477
- cmd.extend(["--model", model])
478
-
479
- cmd.append(prompt)
480
-
481
- logger.log(f"Running: claude ... '{prompt[:80]}...'")
482
-
483
- env = os.environ.copy()
484
- env.pop("CLAUDECODE", None) # Allow nested invocation
485
-
486
- try:
487
- proc = subprocess.Popen(
488
- cmd,
489
- stdout=subprocess.PIPE,
490
- stderr=subprocess.PIPE,
491
- cwd=str(PROJECT_ROOT),
492
- env=env,
493
- )
494
- except FileNotFoundError:
495
- print(f"{C_RED}Claude CLI not found. Install it first.{C_RESET}")
496
- logger.log("ERROR: claude CLI not found")
497
- return False, ""
498
-
499
- all_assistant_text: list[str] = []
500
- hit_rate_limit = False
501
- result_event: dict | None = None
502
-
503
- try:
504
- for raw_line in iter(proc.stdout.readline, b""):
505
- line = raw_line.decode("utf-8", errors="replace").rstrip("\n\r")
506
- if not line:
507
- continue
508
-
509
- # Log raw JSON
510
- logger.log_output(line + "\n")
511
-
512
- try:
513
- event = json.loads(line)
514
- except json.JSONDecodeError:
515
- # Not JSON — print as-is (shouldn't happen with stream-json)
516
- print(line)
517
- continue
518
-
519
- text = render_event(event, logger)
520
- if text:
521
- all_assistant_text.append(text)
522
-
523
- # Track rate limit events
524
- if event.get("type") == "rate_limit_event":
525
- info = event.get("rate_limit_info", {})
526
- if info.get("status") != "allowed":
527
- hit_rate_limit = True
528
-
529
- # Capture the result event
530
- if event.get("type") == "result":
531
- result_event = event
532
-
533
- except KeyboardInterrupt:
534
- proc.kill()
535
- raise
536
-
537
- # Read any stderr
538
- stderr = proc.stderr.read().decode("utf-8", errors="replace").strip()
539
- proc.wait()
540
-
541
- if stderr:
542
- # Check if stderr contains rate limit info
543
- if detect_rate_limit(stderr):
544
- hit_rate_limit = True
545
- print(f"\n {C_RED}stderr: {_truncate(stderr, 200)}{C_RESET}")
546
- logger.log(f"stderr: {stderr[:300]}")
547
-
548
- full_text = "\n".join(all_assistant_text)
549
-
550
- # Determine success
551
- if result_event:
552
- success = not result_event.get("is_error", False)
553
- else:
554
- success = proc.returncode == 0
555
-
556
- if hit_rate_limit:
557
- success = False # Force retry
558
-
559
- logger.log(f"Exit code: {proc.returncode} | success={success} | rate_limit={hit_rate_limit}")
560
- return success, full_text
561
-
562
-
563
- def execute_step(
564
- story_id: str,
565
- step: str,
566
- model: str | None,
567
- logger: Logger,
568
- extra_context: str = "",
569
- ) -> bool:
570
- """Execute a step with retry logic for rate limits and question handling."""
571
- prompt_template = STEP_PROMPTS[step]
572
- prompt = prompt_template.format(story_id=story_id)
573
- if extra_context:
574
- prompt = f"{prompt}\n\nAdditional context from user: {extra_context}"
575
-
576
- step_label = {"create": "Create Story", "dev": "Dev Story", "review": "Code Review"}[step]
577
-
578
- print(f"\n{'='*60}")
579
- print(f"{C_BOLD}{C_CYAN}[{story_id}] {step_label}{C_RESET}")
580
- print(f"{'='*60}")
581
- logger.log(f"=== Step: {step_label} for {story_id} ===")
582
-
583
- for attempt in range(1, MAX_RETRIES + 1):
584
- if attempt > 1:
585
- print(f"\n{C_YELLOW}Intento {attempt}/{MAX_RETRIES}{C_RESET}")
586
- logger.log(f"Retry attempt {attempt}/{MAX_RETRIES}")
587
-
588
- success, output = run_claude_step(prompt, model, logger, story_id, step)
589
-
590
- # Check rate limit in output text too
591
- if not success and detect_rate_limit(output):
592
- wait = extract_wait_time(output)
593
- countdown_wait(wait, logger)
594
- continue
595
-
596
- # Rate limit detected via event (success was forced to False)
597
- if not success and not output.strip():
598
- # Likely rate limit with no text output
599
- countdown_wait(DEFAULT_WAIT_SECS, logger)
600
- continue
601
-
602
- if success:
603
- # Check for questions only if the step didn't succeed cleanly.
604
- # If success=True, Claude completed the task — ignore any closing
605
- # courtesy text that might look like a question.
606
- pass
607
- else:
608
- question = detect_question(output)
609
- if question:
610
- print(f"\n{C_YELLOW}{'─'*60}")
611
- print(f"Claude hizo una pregunta:")
612
- print(f"{'─'*60}{C_RESET}")
613
- print(question)
614
- print(f"{C_YELLOW}{'─'*60}{C_RESET}")
615
- print(f"{C_DIM}Escribe tu respuesta (o 'abort' para detener):{C_RESET}")
616
-
617
- try:
618
- user_input = input(f"{C_BOLD}> {C_RESET}").strip()
619
- except (EOFError, KeyboardInterrupt):
620
- print(f"\n{C_RED}Abortado por el usuario.{C_RESET}")
621
- return False
622
-
623
- if user_input.lower() == "abort":
624
- print(f"{C_RED}Abortado por el usuario.{C_RESET}")
625
- logger.log("User aborted after question")
626
- return False
627
-
628
- logger.log(f"User answered question: {user_input}")
629
- prompt = prompt_template.format(story_id=story_id)
630
- prompt = f"{prompt}\n\nUser clarification: {user_input}"
631
- continue
632
-
633
- if success:
634
- print(f"\n{C_GREEN}{step_label} completado para {story_id}{C_RESET}\n")
635
- logger.log(f"Step {step} completed successfully for {story_id}")
636
- return True
637
-
638
- # Generic failure
639
- print(f"\n{C_RED}{step_label} falló (exit code != 0){C_RESET}")
640
- logger.log(f"Step {step} failed for {story_id}")
641
- if attempt < MAX_RETRIES:
642
- print(f"{C_YELLOW}Reintentando en 30s...{C_RESET}")
643
- countdown_wait(30, logger)
644
- continue
645
-
646
- print(f"{C_RED}Maximo de reintentos alcanzado para {step_label} [{story_id}]{C_RESET}")
647
- logger.log(f"Max retries exhausted for {step} on {story_id}")
648
- return False
649
-
650
-
651
- # ---------------------------------------------------------------------------
652
- # Main orchestration
653
- # ---------------------------------------------------------------------------
654
- def build_plan(
655
- stories: list[dict],
656
- epic_filter: int | None,
657
- start_story: str | None,
658
- start_step: str | None,
659
- state: dict | None,
660
- ) -> list[tuple[str, str]]:
661
- """
662
- Build ordered list of (story_id, step) pairs to execute.
663
- Skips done stories. Applies --epic, --story, --step filters and resume state.
664
- """
665
- # Filter by epic
666
- if epic_filter is not None:
667
- stories = [s for s in stories if s["epic"] == epic_filter]
668
-
669
- # Map sprint-status values to the first orchestrator step to run.
670
- # - backlog: nothing done yet → start at create
671
- # - ready-for-dev: create already ran → start at dev
672
- # - in-progress: dev started (treat as needing dev again) → start at dev
673
- # - review: dev done, needs review → start at review
674
- # - done: skip entirely
675
- STATUS_TO_FIRST_STEP = {
676
- "backlog": "create",
677
- "ready-for-dev": "dev",
678
- "in-progress": "dev",
679
- "review": "review",
680
- }
681
-
682
- done_ids = {s["story_id"] for s in stories if s["status"] == "done"}
683
- pending = [s for s in stories if s["status"] != "done"]
684
-
685
- if done_ids:
686
- print(f"{C_DIM}Saltando {len(done_ids)} historia(s) ya completadas: {', '.join(sorted(done_ids))}{C_RESET}")
687
-
688
- # Build plan respecting each story's current status
689
- plan: list[tuple[str, str]] = []
690
- for s in pending:
691
- first_step = STATUS_TO_FIRST_STEP.get(s["status"], "create")
692
- first_idx = STEPS.index(first_step)
693
- for step in STEPS[first_idx:]:
694
- plan.append((s["story_id"], step))
695
-
696
- if not plan:
697
- return plan
698
-
699
- # Determine start point: (1) --story flag, (2) state file, (3) beginning
700
- resume_story = start_story
701
- resume_step = start_step
702
-
703
- if resume_story is None and state is not None:
704
- resume_story = state.get("story_id")
705
- if state.get("completed", False):
706
- # Last step was completed — advance to next
707
- last_step = state.get("step")
708
- if last_step in STEPS:
709
- idx = STEPS.index(last_step)
710
- if idx + 1 < len(STEPS):
711
- resume_step = STEPS[idx + 1]
712
- else:
713
- # Story was fully done, start next story from first pending step
714
- story_ids = [s["story_id"] for s in pending]
715
- if resume_story in story_ids:
716
- si = story_ids.index(resume_story)
717
- if si + 1 < len(story_ids):
718
- resume_story = story_ids[si + 1]
719
- resume_step = None # Will use plan's first step
720
- else:
721
- return [] # All done
722
- else:
723
- resume_story = None
724
- else:
725
- # Last step was NOT completed — retry it
726
- resume_step = state.get("step")
727
-
728
- # Apply start_step only for --step flag (first story only)
729
- if start_story and start_step is None:
730
- resume_step = STEPS[0]
731
-
732
- # Find the start point in plan
733
- if resume_story:
734
- target_step = resume_step or STEPS[0]
735
- target = (resume_story, target_step)
736
- if target in plan:
737
- idx = plan.index(target)
738
- plan = plan[idx:]
739
- else:
740
- # Try to find story at any step
741
- matching = [(i, p) for i, p in enumerate(plan) if p[0] == resume_story]
742
- if matching:
743
- plan = plan[matching[0][0]:]
744
-
745
- return plan
746
-
747
-
748
- def main():
749
- parser = argparse.ArgumentParser(
750
- description="BMAD Story Orchestrator — automates the create→dev→review cycle"
751
- )
752
- parser.add_argument("--epic", type=int, metavar="N", help="Solo procesar historias del epic N")
753
- parser.add_argument("--story", type=str, metavar="ID", help="Empezar desde esta historia (e.g. 3-2)")
754
- parser.add_argument("--only-story", type=str, metavar="ID", help="Procesar exclusivamente esta historia (e.g. 2-1)")
755
- parser.add_argument(
756
- "--step",
757
- choices=STEPS,
758
- help="Empezar desde este paso (solo primera historia)",
759
- )
760
- parser.add_argument("--dry-run", action="store_true", help="Mostrar el plan sin ejecutar")
761
- parser.add_argument("--model", type=str, help="Modelo de Claude a usar")
762
- parser.add_argument("--yes", action="store_true", help="Omitir confirmación interactiva y ejecutar directamente")
763
- args = parser.parse_args()
764
-
765
- # Normalize --story: accept "3-2" as prefix match
766
- story_override = None
767
- if args.story:
768
- story_override = args.story
769
-
770
- print(f"\n{C_BOLD}{'-'*60}")
771
- print(f" BMAD Story Orchestrator")
772
- print(f"{'-'*60}{C_RESET}\n")
773
-
774
- # Parse sprint status
775
- if not SPRINT_STATUS.exists():
776
- print(f"{C_RED}No se encontro {SPRINT_STATUS}{C_RESET}")
777
- sys.exit(1)
778
-
779
- stories = parse_sprint_status(SPRINT_STATUS)
780
- if not stories:
781
- print(f"{C_RED}No se encontraron historias en sprint-status.yaml{C_RESET}")
782
- sys.exit(1)
783
-
784
- print(f"{C_DIM}Historias encontradas: {len(stories)}{C_RESET}")
785
-
786
- # Resolve --story prefix to full ID
787
- if story_override:
788
- matches = [s["story_id"] for s in stories if s["story_id"].startswith(story_override)]
789
- if len(matches) == 1:
790
- story_override = matches[0]
791
- elif len(matches) > 1:
792
- print(f"{C_RED}'{args.story}' coincide con multiples historias: {matches}{C_RESET}")
793
- sys.exit(1)
794
- elif len(matches) == 0:
795
- exact = [s["story_id"] for s in stories if s["story_id"] == story_override]
796
- if not exact:
797
- print(f"{C_RED}Historia '{args.story}' no encontrada en sprint-status.yaml{C_RESET}")
798
- sys.exit(1)
799
-
800
- # Apply --only-story filter
801
- if args.only_story:
802
- only_id = args.only_story
803
- matches = [s for s in stories if s["story_id"] == only_id or s["story_id"].startswith(only_id)]
804
- if len(matches) == 0:
805
- print(f"{C_RED}Historia '{only_id}' no encontrada en sprint-status.yaml{C_RESET}")
806
- sys.exit(1)
807
- if len(matches) > 1:
808
- ids = [s["story_id"] for s in matches]
809
- print(f"{C_RED}'{only_id}' coincide con multiples historias: {ids}{C_RESET}")
810
- sys.exit(1)
811
- stories = matches
812
- print(f"{C_CYAN}Filtrando exclusivamente historia: {stories[0]['story_id']}{C_RESET}")
813
-
814
- # Load resume state
815
- state = load_state()
816
- if state and not story_override and not args.only_story:
817
- print(f"{C_CYAN}Estado anterior encontrado: story={state.get('story_id')}, "
818
- f"step={state.get('step')}, completed={state.get('completed')}{C_RESET}")
819
-
820
- # Build plan
821
- plan = build_plan(stories, args.epic, story_override, args.step, state)
822
-
823
- if not plan:
824
- print(f"\n{C_GREEN}No hay historias pendientes por procesar.{C_RESET}")
825
- clear_state()
826
- sys.exit(0)
827
-
828
- # Display plan
829
- print(f"\n{C_BOLD}Plan de ejecucion:{C_RESET}")
830
- current_story = None
831
- for story_id, step in plan:
832
- if story_id != current_story:
833
- current_story = story_id
834
- print(f"\n {C_BOLD}{story_id}{C_RESET}")
835
- print(f" {step}")
836
-
837
- if args.dry_run:
838
- print(f"\n{C_YELLOW}--dry-run: no se ejecuta nada.{C_RESET}")
839
- sys.exit(0)
840
-
841
- if args.yes:
842
- print(f"\n{C_DIM}Confirmación automática (--yes){C_RESET}")
843
- else:
844
- print(f"\n{C_DIM}Escribe {C_RESET}{C_BOLD}C{C_RESET}{C_DIM} para continuar o {C_RESET}{C_BOLD}X{C_RESET}{C_DIM} para cancelar:{C_RESET}")
845
- try:
846
- while True:
847
- choice = input(f"{C_BOLD}> {C_RESET}").strip().upper()
848
- if choice == "C":
849
- break
850
- elif choice == "X":
851
- print(f"\n{C_RED}Cancelado.{C_RESET}")
852
- sys.exit(1)
853
- else:
854
- print(f"{C_YELLOW}Opción no válida. Escribe C para continuar o X para cancelar.{C_RESET}")
855
- except (EOFError, KeyboardInterrupt):
856
- print(f"\n{C_RED}Cancelado.{C_RESET}")
857
- sys.exit(1)
858
-
859
- # Execute
860
- logger = Logger()
861
- logger.log(f"Orchestrator started. Plan: {len(plan)} steps.")
862
- if args.model:
863
- logger.log(f"Model override: {args.model}")
864
-
865
- try:
866
- for story_id, step in plan:
867
- logger.open_step_log(story_id, step)
868
- save_state(story_id, step, completed=False)
869
-
870
- success = execute_step(story_id, step, args.model, logger)
871
-
872
- if success:
873
- save_state(story_id, step, completed=True)
874
- else:
875
- print(f"\n{C_RED}{'-'*60}")
876
- print(f" Orquestador detenido en [{story_id}] paso '{step}'")
877
- print(f" Reanuda con: python3 scripts/bmad_orchestrator.py")
878
- print(f"{'-'*60}{C_RESET}")
879
- logger.log(f"Orchestrator stopped at {story_id}/{step}")
880
- logger.close()
881
- sys.exit(1)
882
-
883
- # All done
884
- clear_state()
885
- print(f"\n{C_GREEN}{'-'*60}")
886
- print(f" Todas las historias completadas exitosamente!")
887
- print(f"{'-'*60}{C_RESET}\n")
888
- logger.log("Orchestrator completed all steps successfully.")
889
- logger.close()
890
-
891
- except KeyboardInterrupt:
892
- print(f"\n\n{C_YELLOW}Interrumpido por el usuario. Estado guardado.{C_RESET}")
893
- print(f"{C_DIM}Reanuda con: python3 scripts/bmad_orchestrator.py{C_RESET}")
894
- logger.log("Orchestrator interrupted by user (KeyboardInterrupt)")
895
- logger.close()
896
- sys.exit(130)
897
-
898
-
899
- if __name__ == "__main__":
900
- main()