@zeyue0329/xiaoma-cli 1.0.7 → 1.0.10

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 (321) hide show
  1. package/.github/FORK_GUIDE.md +106 -0
  2. package/.github/FUNDING.yaml +15 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  5. package/.github/workflows/discord.yaml +26 -0
  6. package/.github/workflows/format-check.yaml +44 -0
  7. package/.github/workflows/manual-release.yaml +174 -0
  8. package/.github/workflows/pr-validation.yaml +55 -0
  9. package/.husky/pre-commit +3 -0
  10. package/.vscode/settings.json +26 -1
  11. package/CHANGELOG.md +686 -0
  12. package/CONTRIBUTING.md +250 -0
  13. package/LICENSE +6 -1
  14. package/common/tasks/create-doc.md +2 -0
  15. package/common/tasks/execute-checklist.md +2 -7
  16. package/common/utils/bmad-doc-template.md +7 -5
  17. package/common/utils/workflow-management.md +2 -0
  18. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +2103 -0
  19. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +1627 -0
  20. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +822 -0
  21. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +8486 -0
  22. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +3210 -0
  23. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +3244 -0
  24. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +317 -0
  25. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +982 -0
  26. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +12854 -0
  27. package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +921 -0
  28. package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +81 -0
  29. package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +886 -0
  30. package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
  31. package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +903 -0
  32. package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +837 -0
  33. package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +989 -0
  34. package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +888 -0
  35. package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1173 -0
  36. package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +914 -0
  37. package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +6071 -0
  38. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +2079 -0
  39. package/docs/GUIDING-PRINCIPLES.md +91 -0
  40. package/docs/core-architecture.md +219 -0
  41. package/docs/enhanced-ide-development-workflow.md +248 -0
  42. package/docs/expansion-packs.md +200 -0
  43. package/docs/how-to-contribute-with-pull-requests.md +158 -0
  44. package/docs/user-guide.md +530 -0
  45. package/docs/versioning-and-releases.md +155 -0
  46. package/docs/versions.md +48 -0
  47. package/docs/working-in-the-brownfield.md +597 -0
  48. package/eslint.config.mjs +119 -0
  49. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +14 -0
  50. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +73 -0
  51. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +80 -0
  52. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +66 -0
  53. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +203 -0
  54. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +162 -0
  55. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +9 -0
  56. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +252 -0
  57. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +649 -0
  58. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +112 -0
  59. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +218 -0
  60. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +292 -0
  61. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +614 -0
  62. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +357 -0
  63. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +344 -0
  64. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +254 -0
  65. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +485 -0
  66. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +184 -0
  67. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +176 -0
  68. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +15 -0
  69. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +82 -0
  70. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +79 -0
  71. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +80 -0
  72. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +67 -0
  73. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +393 -0
  74. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +205 -0
  75. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +203 -0
  76. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +126 -0
  77. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +7 -0
  78. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +771 -0
  79. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +588 -0
  80. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +112 -0
  81. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +143 -0
  82. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +186 -0
  83. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +292 -0
  84. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +202 -0
  85. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +1031 -0
  86. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +357 -0
  87. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +706 -0
  88. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +257 -0
  89. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +485 -0
  90. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +184 -0
  91. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +176 -0
  92. package/expansion-packs/bmad-creative-writing/README.md +146 -0
  93. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +20 -0
  94. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +94 -0
  95. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +40 -0
  96. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +93 -0
  97. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +46 -0
  98. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +92 -0
  99. package/expansion-packs/bmad-creative-writing/agents/editor.md +93 -0
  100. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +95 -0
  101. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +93 -0
  102. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +95 -0
  103. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +94 -0
  104. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +23 -0
  105. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +23 -0
  106. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +23 -0
  107. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +23 -0
  108. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +21 -0
  109. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +23 -0
  110. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +23 -0
  111. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +22 -0
  112. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +22 -0
  113. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +23 -0
  114. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +23 -0
  115. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +25 -0
  116. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +23 -0
  117. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +23 -0
  118. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +23 -0
  119. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +23 -0
  120. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +59 -0
  121. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +23 -0
  122. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +23 -0
  123. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +23 -0
  124. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +22 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +23 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +23 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +23 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +23 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +23 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +23 -0
  131. package/expansion-packs/bmad-creative-writing/config.yaml +12 -0
  132. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +209 -0
  133. package/expansion-packs/bmad-creative-writing/data/story-structures.md +67 -0
  134. package/expansion-packs/bmad-creative-writing/docs/brief.md +212 -0
  135. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +119 -0
  136. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +23 -0
  137. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +67 -0
  138. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +29 -0
  139. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +23 -0
  140. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +24 -0
  141. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +22 -0
  142. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +103 -0
  143. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +26 -0
  144. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +26 -0
  145. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +24 -0
  146. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +88 -0
  147. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +23 -0
  148. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +23 -0
  149. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +23 -0
  150. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +25 -0
  151. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +26 -0
  152. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +23 -0
  153. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +25 -0
  154. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +23 -0
  155. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +24 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +23 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +22 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +23 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +64 -0
  160. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +97 -0
  161. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +82 -0
  162. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  163. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +98 -0
  164. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +78 -0
  165. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +55 -0
  166. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  167. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +89 -0
  168. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +218 -0
  169. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +56 -0
  170. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +50 -0
  171. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  172. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +91 -0
  173. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +85 -0
  174. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +78 -0
  175. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +64 -0
  176. package/expansion-packs/bmad-infrastructure-devops/README.md +147 -0
  177. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +73 -0
  178. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +486 -0
  179. package/expansion-packs/bmad-infrastructure-devops/config.yaml +10 -0
  180. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +307 -0
  181. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +161 -0
  182. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +155 -0
  183. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +425 -0
  184. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +630 -0
  185. package/implement-fork-friendly-ci.sh +229 -0
  186. package/package.json +75 -45
  187. package/prettier.config.mjs +32 -0
  188. package/test.md +1 -0
  189. package/tools/builders/web-builder.js +143 -149
  190. package/tools/bump-all-versions.js +42 -33
  191. package/tools/bump-expansion-version.js +23 -16
  192. package/tools/cli.js +15 -15
  193. package/tools/flattener/aggregate.js +76 -0
  194. package/tools/flattener/binary.js +80 -0
  195. package/tools/flattener/discovery.js +71 -0
  196. package/tools/flattener/files.js +35 -0
  197. package/tools/flattener/ignoreRules.js +176 -0
  198. package/tools/flattener/main.js +458 -460
  199. package/tools/flattener/projectRoot.js +206 -0
  200. package/tools/flattener/prompts.js +44 -0
  201. package/tools/flattener/stats.helpers.js +395 -0
  202. package/tools/flattener/stats.js +80 -0
  203. package/tools/flattener/test-matrix.js +413 -0
  204. package/tools/flattener/xml.js +88 -0
  205. package/tools/installer/README.md +1 -1
  206. package/tools/installer/bin/xiaoma.js +392 -99
  207. package/tools/installer/config/ide-agent-config.yaml +1 -1
  208. package/tools/installer/config/install.config.yaml +60 -9
  209. package/tools/installer/lib/config-loader.js +55 -51
  210. package/tools/installer/lib/file-manager.js +92 -114
  211. package/tools/installer/lib/ide-base-setup.js +57 -56
  212. package/tools/installer/lib/ide-setup.js +821 -414
  213. package/tools/installer/lib/installer.js +924 -696
  214. package/tools/installer/lib/memory-profiler.js +54 -53
  215. package/tools/installer/lib/module-manager.js +19 -15
  216. package/tools/installer/lib/resource-locator.js +31 -33
  217. package/tools/installer/package.json +24 -23
  218. package/tools/lib/dependency-resolver.js +39 -43
  219. package/tools/lib/yaml-utils.js +7 -7
  220. package/tools/md-assets/web-agent-startup-instructions.md +6 -6
  221. package/tools/preview-release-notes.js +66 -0
  222. package/tools/setup-hooks.sh +37 -0
  223. package/tools/shared/bannerArt.js +105 -0
  224. package/tools/sync-installer-version.js +7 -9
  225. package/tools/sync-version.sh +23 -0
  226. package/tools/update-expansion-version.js +14 -15
  227. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  228. package/tools/version-bump.js +41 -26
  229. package/tools/xiaoma-npx-wrapper.js +14 -14
  230. package/tools/yaml-format.js +56 -43
  231. package/xiaoma-core/agent-teams/team-all.yaml +3 -2
  232. package/xiaoma-core/agent-teams/team-fullstack.yaml +2 -1
  233. package/xiaoma-core/agent-teams/team-ide-minimal.yaml +1 -0
  234. package/xiaoma-core/agent-teams/team-no-ui.yaml +2 -1
  235. package/xiaoma-core/agents/analyst.md +20 -17
  236. package/xiaoma-core/agents/architect.md +15 -14
  237. package/xiaoma-core/agents/{xiaoma-master.md → bmad-master.md} +29 -27
  238. package/xiaoma-core/agents/{xiaoma-orchestrator.md → bmad-orchestrator.md} +36 -39
  239. package/xiaoma-core/agents/dev.md +23 -18
  240. package/xiaoma-core/agents/pm.md +18 -15
  241. package/xiaoma-core/agents/po.md +13 -10
  242. package/xiaoma-core/agents/qa.md +46 -24
  243. package/xiaoma-core/agents/sm.md +11 -8
  244. package/xiaoma-core/agents/ux-expert.md +10 -7
  245. package/xiaoma-core/checklists/architect-checklist.md +2 -5
  246. package/xiaoma-core/checklists/change-checklist.md +4 -2
  247. package/xiaoma-core/checklists/pm-checklist.md +2 -5
  248. package/xiaoma-core/checklists/po-master-checklist.md +2 -9
  249. package/xiaoma-core/checklists/story-dod-checklist.md +2 -7
  250. package/xiaoma-core/checklists/story-draft-checklist.md +2 -3
  251. package/xiaoma-core/core-config.yaml +4 -1
  252. package/xiaoma-core/data/{xiaoma-kb.md → bmad-kb.md} +48 -42
  253. package/xiaoma-core/data/brainstorming-techniques.md +2 -0
  254. package/xiaoma-core/data/elicitation-methods.md +22 -0
  255. package/xiaoma-core/data/technical-preferences.md +2 -0
  256. package/xiaoma-core/data/test-levels-framework.md +148 -0
  257. package/xiaoma-core/data/test-priorities-matrix.md +174 -0
  258. package/xiaoma-core/tasks/advanced-elicitation.md +2 -0
  259. package/xiaoma-core/tasks/apply-qa-fixes.md +150 -0
  260. package/xiaoma-core/tasks/brownfield-create-epic.md +2 -0
  261. package/xiaoma-core/tasks/brownfield-create-story.md +2 -0
  262. package/xiaoma-core/tasks/correct-course.md +2 -0
  263. package/xiaoma-core/tasks/create-brownfield-story.md +14 -4
  264. package/xiaoma-core/tasks/create-deep-research-prompt.md +2 -11
  265. package/xiaoma-core/tasks/create-next-story.md +3 -1
  266. package/xiaoma-core/tasks/document-project.md +17 -13
  267. package/xiaoma-core/tasks/facilitate-brainstorming-session.md +5 -3
  268. package/xiaoma-core/tasks/generate-ai-frontend-prompt.md +2 -0
  269. package/xiaoma-core/tasks/index-docs.md +2 -6
  270. package/xiaoma-core/tasks/kb-mode-interaction.md +17 -15
  271. package/xiaoma-core/tasks/nfr-assess.md +345 -0
  272. package/xiaoma-core/tasks/qa-gate.md +163 -0
  273. package/xiaoma-core/tasks/review-story.md +245 -74
  274. package/xiaoma-core/tasks/risk-profile.md +355 -0
  275. package/xiaoma-core/tasks/shard-doc.md +2 -2
  276. package/xiaoma-core/tasks/test-design.md +176 -0
  277. package/xiaoma-core/tasks/trace-requirements.md +266 -0
  278. package/xiaoma-core/tasks/validate-next-story.md +5 -3
  279. package/xiaoma-core/templates/architecture-tmpl.yaml +50 -49
  280. package/xiaoma-core/templates/brainstorming-output-tmpl.yaml +5 -5
  281. package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +32 -31
  282. package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +14 -13
  283. package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +20 -6
  284. package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +22 -9
  285. package/xiaoma-core/templates/front-end-spec-tmpl.yaml +25 -24
  286. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +123 -104
  287. package/xiaoma-core/templates/market-research-tmpl.yaml +3 -2
  288. package/xiaoma-core/templates/prd-tmpl.yaml +10 -9
  289. package/xiaoma-core/templates/project-brief-tmpl.yaml +5 -4
  290. package/xiaoma-core/templates/qa-gate-tmpl.yaml +103 -0
  291. package/xiaoma-core/templates/story-tmpl.yaml +13 -12
  292. package/xiaoma-core/workflows/brownfield-fullstack.yaml +13 -12
  293. package/xiaoma-core/workflows/brownfield-service.yaml +5 -4
  294. package/xiaoma-core/workflows/brownfield-ui.yaml +5 -4
  295. package/xiaoma-core/workflows/greenfield-fullstack.yaml +7 -6
  296. package/xiaoma-core/workflows/greenfield-service.yaml +5 -4
  297. package/xiaoma-core/workflows/greenfield-ui.yaml +6 -5
  298. package/.releaserc.json +0 -18
  299. package/README.md +0 -532
  300. package/dist/agents/analyst.txt +0 -2882
  301. package/dist/agents/architect.txt +0 -3543
  302. package/dist/agents/dev.txt +0 -428
  303. package/dist/agents/pm.txt +0 -2229
  304. package/dist/agents/po.txt +0 -1364
  305. package/dist/agents/qa.txt +0 -386
  306. package/dist/agents/sm.txt +0 -668
  307. package/dist/agents/ux-expert.txt +0 -701
  308. package/dist/agents/xiaoma-master.txt +0 -8756
  309. package/dist/agents/xiaoma-orchestrator.txt +0 -1490
  310. package/dist/teams/team-all.txt +0 -11062
  311. package/dist/teams/team-fullstack.txt +0 -10392
  312. package/dist/teams/team-ide-minimal.txt +0 -3507
  313. package/dist/teams/team-no-ui.txt +0 -8951
  314. package/docs/quick-start.md +0 -179
  315. package/tools/bmad-npx-wrapper.js +0 -39
  316. package/tools/installer/package-lock.json +0 -704
  317. package/tools/semantic-release-sync-installer.js +0 -30
  318. package/xiaoma-core/bmad-core/user-guide.md +0 -0
  319. package/xiaoma-core/enhanced-ide-development-workflow.md +0 -43
  320. package/xiaoma-core/user-guide.md +0 -251
  321. package/xiaoma-core/working-in-the-brownfield.md +0 -364
@@ -0,0 +1,106 @@
1
+ # Fork Guide - CI/CD Configuration
2
+
3
+ ## CI/CD in Forks
4
+
5
+ By default, CI/CD workflows are **disabled in forks** to conserve GitHub Actions resources and provide a cleaner fork experience.
6
+
7
+ ### Why This Approach?
8
+
9
+ - **Resource efficiency**: Prevents unnecessary GitHub Actions usage across 1,600+ forks
10
+ - **Clean fork experience**: No failed workflow notifications in your fork
11
+ - **Full control**: Enable CI/CD only when you actually need it
12
+ - **PR validation**: Your changes are still fully tested when submitting PRs to the main repository
13
+
14
+ ## Enabling CI/CD in Your Fork
15
+
16
+ If you need to run CI/CD workflows in your fork, follow these steps:
17
+
18
+ 1. Navigate to your fork's **Settings** tab
19
+ 2. Go to **Secrets and variables** → **Actions** → **Variables**
20
+ 3. Click **New repository variable**
21
+ 4. Create a new variable:
22
+ - **Name**: `ENABLE_CI_IN_FORK`
23
+ - **Value**: `true`
24
+ 5. Click **Add variable**
25
+
26
+ That's it! CI/CD workflows will now run in your fork.
27
+
28
+ ## Disabling CI/CD Again
29
+
30
+ To disable CI/CD workflows in your fork, you can either:
31
+
32
+ - **Delete the variable**: Remove the `ENABLE_CI_IN_FORK` variable entirely, or
33
+ - **Set to false**: Change the `ENABLE_CI_IN_FORK` value to `false`
34
+
35
+ ## Alternative Testing Options
36
+
37
+ You don't always need to enable CI/CD in your fork. Here are alternatives:
38
+
39
+ ### Local Testing
40
+
41
+ Run tests locally before pushing:
42
+
43
+ ```bash
44
+ # Install dependencies
45
+ npm ci
46
+
47
+ # Run linting
48
+ npm run lint
49
+
50
+ # Run format check
51
+ npm run format:check
52
+
53
+ # Run validation
54
+ npm run validate
55
+
56
+ # Build the project
57
+ npm run build
58
+ ```
59
+
60
+ ### Pull Request CI
61
+
62
+ When you open a Pull Request to the main repository:
63
+
64
+ - All CI/CD workflows automatically run
65
+ - You get full validation of your changes
66
+ - No configuration needed
67
+
68
+ ### GitHub Codespaces
69
+
70
+ Use GitHub Codespaces for a full development environment:
71
+
72
+ - All tools pre-configured
73
+ - Same environment as CI/CD
74
+ - No local setup required
75
+
76
+ ## Frequently Asked Questions
77
+
78
+ ### Q: Will my PR be tested even if CI is disabled in my fork?
79
+
80
+ **A:** Yes! When you open a PR to the main repository, all CI/CD workflows run automatically, regardless of your fork's settings.
81
+
82
+ ### Q: Can I selectively enable specific workflows?
83
+
84
+ **A:** The `ENABLE_CI_IN_FORK` variable enables all workflows. For selective control, you'd need to modify individual workflow files.
85
+
86
+ ### Q: Do I need to enable CI in my fork to contribute?
87
+
88
+ **A:** No! Most contributors never need to enable CI in their forks. Local testing and PR validation are sufficient for most contributions.
89
+
90
+ ### Q: Will disabling CI affect my ability to merge PRs?
91
+
92
+ **A:** No! PR merge requirements are based on CI runs in the main repository, not your fork.
93
+
94
+ ### Q: Why was this implemented?
95
+
96
+ **A:** With over 1,600 forks of BMAD-METHOD, this saves thousands of GitHub Actions minutes monthly while maintaining code quality standards.
97
+
98
+ ## Need Help?
99
+
100
+ - Join our [Discord Community](https://discord.gg/gk8jAdXWmj) for support
101
+ - Check the [Contributing Guide](../README.md#contributing) for more information
102
+ - Open an issue if you encounter any problems
103
+
104
+ ---
105
+
106
+ > 💡 **Pro Tip**: This fork-friendly approach is particularly valuable for projects using AI/LLM tools that create many experimental commits, as it prevents unnecessary CI runs while maintaining code quality standards.
@@ -0,0 +1,15 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12
+ polar: # Replace with a single Polar username
13
+ buy_me_a_coffee: bmad
14
+ thanks_dev: # Replace with a single thanks.dev username
15
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+ ---
8
+
9
+ **Describe the bug**
10
+ A clear and concise description of what the bug is.
11
+
12
+ **Steps to Reproduce**
13
+ What lead to the bug and can it be reliable recreated - if so with what steps.
14
+
15
+ **PR**
16
+ If you have an idea to fix and would like to contribute, please indicate here you are working on a fix, or link to a proposed PR to fix the issue. Please review the contribution.md - contributions are always welcome!
17
+
18
+ **Expected behavior**
19
+ A clear and concise description of what you expected to happen.
20
+
21
+ **Please be Specific if relevant**
22
+ Model(s) Used:
23
+ Agentic IDE Used:
24
+ WebSite Used:
25
+ Project Language:
26
+ BMad Method version:
27
+
28
+ **Screenshots or Links**
29
+ If applicable, add screenshots or links (if web sharable record) to help explain your problem.
30
+
31
+ **Additional context**
32
+ Add any other context about the problem here. The more information you can provide, the easier it will be to suggest a fix or resolve
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+ ---
8
+
9
+ **Did you discuss the idea first in Discord Server (#general-dev)**
10
+ Yes/No - Link to thread. If no, please after posting request also share the link in the channel so it can be easily discussed.
11
+
12
+ **Is your feature request related to a problem? Please describe.**
13
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
14
+
15
+ **Describe the solution you'd like**
16
+ A clear and concise description of what you want to happen.
17
+
18
+ **Describe alternatives you've considered**
19
+ A clear and concise description of any alternative solutions or features you've considered.
20
+
21
+ **Additional context**
22
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,26 @@
1
+ name: Discord Notification
2
+
3
+ "on":
4
+ [
5
+ pull_request,
6
+ release,
7
+ create,
8
+ delete,
9
+ issue_comment,
10
+ pull_request_review,
11
+ pull_request_review_comment,
12
+ ]
13
+
14
+ jobs:
15
+ notify:
16
+ runs-on: ubuntu-latest
17
+ if: github.event.repository.fork != true || vars.ENABLE_CI_IN_FORK == 'true'
18
+ steps:
19
+ - name: Notify Discord
20
+ uses: sarisia/actions-status-discord@v1
21
+ if: always()
22
+ with:
23
+ webhook: ${{ secrets.DISCORD_WEBHOOK }}
24
+ status: ${{ job.status }}
25
+ title: "Triggered by ${{ github.event_name }}"
26
+ color: 0x5865F2
@@ -0,0 +1,44 @@
1
+ name: format-check
2
+
3
+ "on":
4
+ pull_request:
5
+ branches: ["**"]
6
+
7
+ jobs:
8
+ prettier:
9
+ runs-on: ubuntu-latest
10
+ if: github.event.repository.fork != true || vars.ENABLE_CI_IN_FORK == 'true'
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v4
14
+
15
+ - name: Setup Node
16
+ uses: actions/setup-node@v4
17
+ with:
18
+ node-version: "20"
19
+ cache: "npm"
20
+
21
+ - name: Install dependencies
22
+ run: npm ci
23
+
24
+ - name: Prettier format check
25
+ run: npm run format:check
26
+
27
+ eslint:
28
+ runs-on: ubuntu-latest
29
+ if: github.event.repository.fork != true || vars.ENABLE_CI_IN_FORK == 'true'
30
+ steps:
31
+ - name: Checkout
32
+ uses: actions/checkout@v4
33
+
34
+ - name: Setup Node
35
+ uses: actions/setup-node@v4
36
+ with:
37
+ node-version: "20"
38
+ cache: "npm"
39
+
40
+ - name: Install dependencies
41
+ run: npm ci
42
+
43
+ - name: ESLint
44
+ run: npm run lint
@@ -0,0 +1,174 @@
1
+ name: Manual Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ version_bump:
7
+ description: Version bump type
8
+ required: true
9
+ default: patch
10
+ type: choice
11
+ options:
12
+ - patch
13
+ - minor
14
+ - major
15
+
16
+ permissions:
17
+ contents: write
18
+ packages: write
19
+
20
+ jobs:
21
+ release:
22
+ runs-on: ubuntu-latest
23
+ if: github.event.repository.fork != true || vars.ENABLE_CI_IN_FORK == 'true'
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v4
27
+ with:
28
+ fetch-depth: 0
29
+ token: ${{ secrets.GITHUB_TOKEN }}
30
+
31
+ - name: Setup Node.js
32
+ uses: actions/setup-node@v4
33
+ with:
34
+ node-version: "20"
35
+ cache: npm
36
+ registry-url: https://registry.npmjs.org
37
+
38
+ - name: Install dependencies
39
+ run: npm ci
40
+
41
+ - name: Run tests and validation
42
+ run: |
43
+ npm run validate
44
+ npm run format:check
45
+ npm run lint
46
+
47
+ - name: Configure Git
48
+ run: |
49
+ git config user.name "github-actions[bot]"
50
+ git config user.email "github-actions[bot]@users.noreply.github.com"
51
+
52
+ - name: Bump version
53
+ run: npm run version:${{ github.event.inputs.version_bump }}
54
+
55
+ - name: Get new version and previous tag
56
+ id: version
57
+ run: |
58
+ echo "new_version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
59
+ echo "previous_tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
60
+
61
+ - name: Update installer package.json
62
+ run: |
63
+ sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
64
+
65
+ - name: Build project
66
+ run: npm run build
67
+
68
+ - name: Commit version bump
69
+ run: |
70
+ git add .
71
+ git commit -m "release: bump to v${{ steps.version.outputs.new_version }}"
72
+
73
+ - name: Generate release notes
74
+ id: release_notes
75
+ run: |
76
+ # Get commits since last tag
77
+ COMMITS=$(git log ${{ steps.version.outputs.previous_tag }}..HEAD --pretty=format:"- %s" --reverse)
78
+
79
+ # Categorize commits
80
+ FEATURES=$(echo "$COMMITS" | grep -E "^- (feat|Feature)" || true)
81
+ FIXES=$(echo "$COMMITS" | grep -E "^- (fix|Fix)" || true)
82
+ CHORES=$(echo "$COMMITS" | grep -E "^- (chore|Chore)" || true)
83
+ OTHERS=$(echo "$COMMITS" | grep -v -E "^- (feat|Feature|fix|Fix|chore|Chore|release:|Release:)" || true)
84
+
85
+ # Build release notes
86
+ cat > release_notes.md << 'EOF'
87
+ ## 🚀 What's New in v${{ steps.version.outputs.new_version }}
88
+
89
+ EOF
90
+
91
+ if [ ! -z "$FEATURES" ]; then
92
+ echo "### ✨ New Features" >> release_notes.md
93
+ echo "$FEATURES" >> release_notes.md
94
+ echo "" >> release_notes.md
95
+ fi
96
+
97
+ if [ ! -z "$FIXES" ]; then
98
+ echo "### 🐛 Bug Fixes" >> release_notes.md
99
+ echo "$FIXES" >> release_notes.md
100
+ echo "" >> release_notes.md
101
+ fi
102
+
103
+ if [ ! -z "$OTHERS" ]; then
104
+ echo "### 📦 Other Changes" >> release_notes.md
105
+ echo "$OTHERS" >> release_notes.md
106
+ echo "" >> release_notes.md
107
+ fi
108
+
109
+ if [ ! -z "$CHORES" ]; then
110
+ echo "### 🔧 Maintenance" >> release_notes.md
111
+ echo "$CHORES" >> release_notes.md
112
+ echo "" >> release_notes.md
113
+ fi
114
+
115
+ cat >> release_notes.md << 'EOF'
116
+
117
+ ## 📦 Installation
118
+
119
+ ```bash
120
+ npx bmad-method install
121
+ ```
122
+
123
+ **Full Changelog**: https://github.com/bmadcode/BMAD-METHOD/compare/${{ steps.version.outputs.previous_tag }}...v${{ steps.version.outputs.new_version }}
124
+ EOF
125
+
126
+ # Output for GitHub Actions
127
+ echo "RELEASE_NOTES<<EOF" >> $GITHUB_OUTPUT
128
+ cat release_notes.md >> $GITHUB_OUTPUT
129
+ echo "EOF" >> $GITHUB_OUTPUT
130
+
131
+ - name: Create and push tag
132
+ run: |
133
+ # Check if tag already exists
134
+ if git rev-parse "v${{ steps.version.outputs.new_version }}" >/dev/null 2>&1; then
135
+ echo "Tag v${{ steps.version.outputs.new_version }} already exists, skipping tag creation"
136
+ else
137
+ git tag -a "v${{ steps.version.outputs.new_version }}" -m "Release v${{ steps.version.outputs.new_version }}"
138
+ git push origin "v${{ steps.version.outputs.new_version }}"
139
+ fi
140
+
141
+ - name: Push changes to main
142
+ run: |
143
+ if git push origin HEAD:main 2>/dev/null; then
144
+ echo "✅ Successfully pushed to main branch"
145
+ else
146
+ echo "⚠️ Could not push to main (protected branch). This is expected."
147
+ echo "📝 Version bump and tag were created successfully."
148
+ fi
149
+
150
+ - name: Publish to NPM
151
+ env:
152
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
153
+ run: npm publish
154
+
155
+ - name: Create GitHub Release
156
+ uses: actions/create-release@v1
157
+ env:
158
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
159
+ with:
160
+ tag_name: v${{ steps.version.outputs.new_version }}
161
+ release_name: "BMad Method v${{ steps.version.outputs.new_version }}"
162
+ body: ${{ steps.release_notes.outputs.RELEASE_NOTES }}
163
+ draft: false
164
+ prerelease: false
165
+
166
+ - name: Summary
167
+ run: |
168
+ echo "🎉 Successfully released v${{ steps.version.outputs.new_version }}!"
169
+ echo "📦 Published to NPM with @latest tag"
170
+ echo "🏷️ Git tag: v${{ steps.version.outputs.new_version }}"
171
+ echo "✅ Users running 'npx bmad-method install' will now get version ${{ steps.version.outputs.new_version }}"
172
+ echo ""
173
+ echo "📝 Release notes preview:"
174
+ cat release_notes.md
@@ -0,0 +1,55 @@
1
+ name: PR Validation
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [main]
6
+ types: [opened, synchronize, reopened]
7
+
8
+ jobs:
9
+ validate:
10
+ runs-on: ubuntu-latest
11
+ if: github.event.repository.fork != true || vars.ENABLE_CI_IN_FORK == 'true'
12
+
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Setup Node.js
18
+ uses: actions/setup-node@v4
19
+ with:
20
+ node-version: "20"
21
+ cache: npm
22
+
23
+ - name: Install dependencies
24
+ run: npm ci
25
+
26
+ - name: Run validation
27
+ run: npm run validate
28
+
29
+ - name: Check formatting
30
+ run: npm run format:check
31
+
32
+ - name: Run linter
33
+ run: npm run lint
34
+
35
+ - name: Run tests (if available)
36
+ run: npm test --if-present
37
+
38
+ - name: Comment on PR if checks fail
39
+ if: failure()
40
+ uses: actions/github-script@v7
41
+ with:
42
+ script: |
43
+ github.rest.issues.createComment({
44
+ issue_number: context.issue.number,
45
+ owner: context.repo.owner,
46
+ repo: context.repo.repo,
47
+ body: `❌ **PR Validation Failed**
48
+
49
+ This PR has validation errors that must be fixed before merging:
50
+ - Run \`npm run validate\` to check agent/team configs
51
+ - Run \`npm run format:check\` to check formatting (fix with \`npm run format\`)
52
+ - Run \`npm run lint\` to check linting issues (fix with \`npm run lint:fix\`)
53
+
54
+ Please fix these issues and push the changes.`
55
+ })
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+
3
+ npx --no-install lint-staged
@@ -40,5 +40,30 @@
40
40
  "tileset",
41
41
  "Trae",
42
42
  "VNET"
43
- ]
43
+ ],
44
+ "json.schemas": [
45
+ {
46
+ "fileMatch": ["package.json"],
47
+ "url": "https://json.schemastore.org/package.json"
48
+ },
49
+ {
50
+ "fileMatch": [".vscode/settings.json"],
51
+ "url": "vscode://schemas/settings/folder"
52
+ }
53
+ ],
54
+ "editor.formatOnSave": true,
55
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
56
+ "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
57
+ "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
58
+ "[yaml]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
59
+ "[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
60
+ "prettier.prettierPath": "node_modules/prettier",
61
+ "prettier.requireConfig": true,
62
+ "yaml.format.enable": false,
63
+ "eslint.useFlatConfig": true,
64
+ "eslint.validate": ["javascript", "yaml"],
65
+ "editor.codeActionsOnSave": {
66
+ "source.fixAll.eslint": "explicit"
67
+ },
68
+ "editor.rulers": [100]
44
69
  }