@zeyue0329/xiaoma-cli 1.0.8 → 1.0.9

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 (315) hide show
  1. package/CHANGELOG.md +686 -0
  2. package/LICENSE +6 -1
  3. package/README.md +173 -460
  4. package/common/tasks/create-doc.md +3 -1
  5. package/common/tasks/execute-checklist.md +2 -7
  6. package/common/utils/bmad-doc-template.md +7 -5
  7. package/common/utils/workflow-management.md +2 -0
  8. package/dist/agents/analyst.txt +1143 -1118
  9. package/dist/agents/architect.txt +1555 -1531
  10. package/dist/agents/dev.txt +170 -22
  11. package/dist/agents/pm.txt +1103 -1106
  12. package/dist/agents/po.txt +329 -334
  13. package/dist/agents/qa.txt +1773 -154
  14. package/dist/agents/sm.txt +101 -102
  15. package/dist/agents/ux-expert.txt +93 -91
  16. package/dist/agents/xiaoma-master.txt +745 -673
  17. package/dist/agents/xiaoma-orchestrator.txt +107 -77
  18. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +2386 -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 +11008 -0
  22. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +4031 -0
  23. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +3717 -0
  24. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +456 -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 +15450 -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 +6511 -0
  38. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +2087 -0
  39. package/dist/teams/team-all.txt +5710 -3857
  40. package/dist/teams/team-fullstack.txt +3242 -3157
  41. package/dist/teams/team-ide-minimal.txt +2330 -534
  42. package/dist/teams/team-no-ui.txt +2935 -2857
  43. package/docs/GUIDING-PRINCIPLES.md +91 -0
  44. package/docs/core-architecture.md +219 -0
  45. package/docs/enhanced-ide-development-workflow.md +248 -0
  46. package/docs/expansion-packs.md +200 -0
  47. package/docs/how-to-contribute-with-pull-requests.md +158 -0
  48. package/docs/user-guide.md +530 -0
  49. package/docs/versioning-and-releases.md +155 -0
  50. package/docs/versions.md +48 -0
  51. package/docs/working-in-the-brownfield.md +597 -0
  52. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +14 -0
  53. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +73 -0
  54. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +80 -0
  55. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +66 -0
  56. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +203 -0
  57. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +162 -0
  58. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +9 -0
  59. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +252 -0
  60. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +649 -0
  61. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +112 -0
  62. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +218 -0
  63. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +292 -0
  64. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +614 -0
  65. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +357 -0
  66. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +344 -0
  67. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +254 -0
  68. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +485 -0
  69. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +184 -0
  70. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +176 -0
  71. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +15 -0
  72. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +82 -0
  73. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +79 -0
  74. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +80 -0
  75. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +67 -0
  76. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +393 -0
  77. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +205 -0
  78. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +203 -0
  79. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +126 -0
  80. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +7 -0
  81. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +771 -0
  82. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +588 -0
  83. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +112 -0
  84. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +143 -0
  85. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +186 -0
  86. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +292 -0
  87. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +202 -0
  88. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +1031 -0
  89. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +357 -0
  90. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +706 -0
  91. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +257 -0
  92. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +485 -0
  93. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +184 -0
  94. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +176 -0
  95. package/expansion-packs/bmad-creative-writing/README.md +146 -0
  96. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +20 -0
  97. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +94 -0
  98. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +40 -0
  99. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +93 -0
  100. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +46 -0
  101. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +92 -0
  102. package/expansion-packs/bmad-creative-writing/agents/editor.md +93 -0
  103. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +95 -0
  104. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +93 -0
  105. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +95 -0
  106. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +94 -0
  107. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +23 -0
  108. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +23 -0
  109. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +23 -0
  110. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +23 -0
  111. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +21 -0
  112. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +23 -0
  113. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +23 -0
  114. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +22 -0
  115. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +22 -0
  116. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +23 -0
  117. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +23 -0
  118. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +25 -0
  119. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +23 -0
  120. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +23 -0
  121. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +23 -0
  122. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +23 -0
  123. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +59 -0
  124. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +23 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +23 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +23 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +22 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +23 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +23 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +23 -0
  131. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +23 -0
  132. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +23 -0
  133. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +23 -0
  134. package/expansion-packs/bmad-creative-writing/config.yaml +12 -0
  135. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +209 -0
  136. package/expansion-packs/bmad-creative-writing/data/story-structures.md +67 -0
  137. package/expansion-packs/bmad-creative-writing/docs/brief.md +212 -0
  138. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +119 -0
  139. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +23 -0
  140. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +67 -0
  141. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +29 -0
  142. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +23 -0
  143. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +24 -0
  144. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +22 -0
  145. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +103 -0
  146. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +26 -0
  147. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +26 -0
  148. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +24 -0
  149. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +88 -0
  150. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +23 -0
  151. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +23 -0
  152. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +23 -0
  153. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +25 -0
  154. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +26 -0
  155. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +23 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +25 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +23 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +24 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +23 -0
  160. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +22 -0
  161. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +23 -0
  162. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +64 -0
  163. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +97 -0
  164. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +82 -0
  165. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  166. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +98 -0
  167. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +78 -0
  168. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +55 -0
  169. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  170. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +89 -0
  171. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +218 -0
  172. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +56 -0
  173. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +50 -0
  174. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  175. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +91 -0
  176. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +85 -0
  177. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +78 -0
  178. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +64 -0
  179. package/expansion-packs/bmad-infrastructure-devops/README.md +147 -0
  180. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +73 -0
  181. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +486 -0
  182. package/expansion-packs/bmad-infrastructure-devops/config.yaml +10 -0
  183. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +307 -0
  184. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +161 -0
  185. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +155 -0
  186. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +425 -0
  187. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +630 -0
  188. package/implement-fork-friendly-ci.sh +229 -0
  189. package/package.json +75 -45
  190. package/prettier.config.mjs +32 -0
  191. package/test.md +1 -0
  192. package/tools/builders/web-builder.js +128 -129
  193. package/tools/bump-all-versions.js +42 -33
  194. package/tools/bump-expansion-version.js +23 -16
  195. package/tools/cli.js +15 -15
  196. package/tools/flattener/aggregate.js +76 -0
  197. package/tools/flattener/binary.js +80 -0
  198. package/tools/flattener/discovery.js +71 -0
  199. package/tools/flattener/files.js +35 -0
  200. package/tools/flattener/ignoreRules.js +176 -0
  201. package/tools/flattener/main.js +458 -460
  202. package/tools/flattener/projectRoot.js +206 -0
  203. package/tools/flattener/prompts.js +44 -0
  204. package/tools/flattener/stats.helpers.js +395 -0
  205. package/tools/flattener/stats.js +80 -0
  206. package/tools/flattener/test-matrix.js +413 -0
  207. package/tools/flattener/xml.js +88 -0
  208. package/tools/installer/README.md +1 -1
  209. package/tools/installer/bin/xiaoma.js +377 -137
  210. package/tools/installer/config/ide-agent-config.yaml +3 -3
  211. package/tools/installer/config/install.config.yaml +73 -22
  212. package/tools/installer/lib/config-loader.js +48 -44
  213. package/tools/installer/lib/file-manager.js +91 -116
  214. package/tools/installer/lib/ide-base-setup.js +57 -56
  215. package/tools/installer/lib/ide-setup.js +816 -407
  216. package/tools/installer/lib/installer.js +915 -690
  217. package/tools/installer/lib/memory-profiler.js +54 -53
  218. package/tools/installer/lib/module-manager.js +19 -15
  219. package/tools/installer/lib/resource-locator.js +26 -28
  220. package/tools/installer/package-lock.json +67 -56
  221. package/tools/installer/package.json +24 -23
  222. package/tools/lib/dependency-resolver.js +30 -34
  223. package/tools/lib/yaml-utils.js +7 -7
  224. package/tools/md-assets/web-agent-startup-instructions.md +1 -1
  225. package/tools/preview-release-notes.js +66 -0
  226. package/tools/setup-hooks.sh +37 -0
  227. package/tools/shared/bannerArt.js +105 -0
  228. package/tools/sync-installer-version.js +7 -9
  229. package/tools/sync-version.sh +23 -0
  230. package/tools/update-expansion-version.js +14 -15
  231. package/tools/upgraders/v3-to-v4-upgrader.js +208 -299
  232. package/tools/version-bump.js +41 -26
  233. package/tools/xiaoma-npx-wrapper.js +11 -11
  234. package/tools/yaml-format.js +56 -43
  235. package/xiaoma-core/agent-teams/team-all.yaml +2 -1
  236. package/xiaoma-core/agent-teams/team-fullstack.yaml +1 -0
  237. package/xiaoma-core/agent-teams/team-ide-minimal.yaml +1 -0
  238. package/xiaoma-core/agent-teams/team-no-ui.yaml +1 -0
  239. package/xiaoma-core/agents/analyst.md +20 -17
  240. package/xiaoma-core/agents/architect.md +15 -14
  241. package/xiaoma-core/agents/dev.md +23 -18
  242. package/xiaoma-core/agents/pm.md +18 -15
  243. package/xiaoma-core/agents/po.md +13 -10
  244. package/xiaoma-core/agents/qa.md +46 -24
  245. package/xiaoma-core/agents/sm.md +11 -8
  246. package/xiaoma-core/agents/ux-expert.md +10 -7
  247. package/xiaoma-core/agents/xiaoma-master.md +24 -22
  248. package/xiaoma-core/agents/xiaoma-orchestrator.md +30 -33
  249. package/xiaoma-core/checklists/architect-checklist.md +2 -5
  250. package/xiaoma-core/checklists/change-checklist.md +4 -2
  251. package/xiaoma-core/checklists/pm-checklist.md +2 -5
  252. package/xiaoma-core/checklists/po-master-checklist.md +2 -9
  253. package/xiaoma-core/checklists/story-dod-checklist.md +2 -7
  254. package/xiaoma-core/checklists/story-draft-checklist.md +2 -3
  255. package/xiaoma-core/core-config.yaml +4 -1
  256. package/xiaoma-core/data/{xiaoma-kb.md → bmad-kb.md} +43 -37
  257. package/xiaoma-core/data/brainstorming-techniques.md +2 -0
  258. package/xiaoma-core/data/elicitation-methods.md +22 -0
  259. package/xiaoma-core/data/technical-preferences.md +2 -0
  260. package/xiaoma-core/data/test-levels-framework.md +148 -0
  261. package/xiaoma-core/data/test-priorities-matrix.md +174 -0
  262. package/xiaoma-core/tasks/advanced-elicitation.md +2 -0
  263. package/xiaoma-core/tasks/apply-qa-fixes.md +150 -0
  264. package/xiaoma-core/tasks/brownfield-create-epic.md +2 -0
  265. package/xiaoma-core/tasks/brownfield-create-story.md +2 -0
  266. package/xiaoma-core/tasks/correct-course.md +2 -0
  267. package/xiaoma-core/tasks/create-brownfield-story.md +14 -4
  268. package/xiaoma-core/tasks/create-deep-research-prompt.md +2 -11
  269. package/xiaoma-core/tasks/create-next-story.md +3 -1
  270. package/xiaoma-core/tasks/document-project.md +17 -13
  271. package/xiaoma-core/tasks/facilitate-brainstorming-session.md +5 -3
  272. package/xiaoma-core/tasks/generate-ai-frontend-prompt.md +2 -0
  273. package/xiaoma-core/tasks/index-docs.md +2 -6
  274. package/xiaoma-core/tasks/kb-mode-interaction.md +17 -15
  275. package/xiaoma-core/tasks/nfr-assess.md +345 -0
  276. package/xiaoma-core/tasks/qa-gate.md +163 -0
  277. package/xiaoma-core/tasks/review-story.md +245 -74
  278. package/xiaoma-core/tasks/risk-profile.md +355 -0
  279. package/xiaoma-core/tasks/shard-doc.md +2 -2
  280. package/xiaoma-core/tasks/test-design.md +176 -0
  281. package/xiaoma-core/tasks/trace-requirements.md +266 -0
  282. package/xiaoma-core/tasks/validate-next-story.md +2 -0
  283. package/xiaoma-core/templates/architecture-tmpl.yaml +50 -49
  284. package/xiaoma-core/templates/brainstorming-output-tmpl.yaml +5 -5
  285. package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +32 -31
  286. package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +14 -13
  287. package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +20 -6
  288. package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +22 -9
  289. package/xiaoma-core/templates/front-end-spec-tmpl.yaml +25 -24
  290. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +123 -104
  291. package/xiaoma-core/templates/market-research-tmpl.yaml +3 -2
  292. package/xiaoma-core/templates/prd-tmpl.yaml +10 -9
  293. package/xiaoma-core/templates/project-brief-tmpl.yaml +5 -4
  294. package/xiaoma-core/templates/qa-gate-tmpl.yaml +103 -0
  295. package/xiaoma-core/templates/story-tmpl.yaml +13 -12
  296. package/xiaoma-core/workflows/brownfield-fullstack.yaml +13 -12
  297. package/xiaoma-core/workflows/brownfield-service.yaml +5 -4
  298. package/xiaoma-core/workflows/brownfield-ui.yaml +5 -4
  299. package/xiaoma-core/workflows/greenfield-fullstack.yaml +7 -6
  300. package/xiaoma-core/workflows/greenfield-service.yaml +5 -4
  301. package/xiaoma-core/workflows/greenfield-ui.yaml +6 -5
  302. package/.releaserc.json +0 -18
  303. package/.vscode/settings.json +0 -44
  304. package/XiaoMa-Web/345/244/232/346/231/272/350/203/275/344/275/2230-1/351/241/271/347/233/256/345/274/200/345/217/221/345/256/214/346/225/264/346/214/207/345/215/227.md +0 -977
  305. package/XiaoMa-Web/347/216/260/346/234/211/351/241/271/347/233/256/351/234/200/346/261/202/345/274/200/345/217/221/345/256/214/346/225/264/346/214/207/345/215/227.md +0 -873
  306. package/XiaoMa-Web/347/272/257/345/211/215/347/253/257/351/241/271/347/233/256Claude-Code/345/274/200/345/217/221/345/256/214/346/225/264/346/214/207/345/215/227.md +0 -372
  307. package/XiaoMa-Web/351/241/271/347/233/256/346/200/273/347/273/223/346/212/245/345/221/212.md +0 -310
  308. package/dist/agents/dev-cn.txt +0 -428
  309. package/docs/quick-start.md +0 -179
  310. package/tools/bmad-npx-wrapper.js +0 -39
  311. package/tools/semantic-release-sync-installer.js +0 -30
  312. package/xiaoma-core/bmad-core/user-guide.md +0 -0
  313. package/xiaoma-core/enhanced-ide-development-workflow.md +0 -43
  314. package/xiaoma-core/user-guide.md +0 -251
  315. package/xiaoma-core/working-in-the-brownfield.md +0 -364
@@ -40,8 +40,8 @@ roo-permissions:
40
40
  # Agents not listed get order 99
41
41
  cline-order:
42
42
  # Core agents
43
- bmad-master: 1
44
- bmad-orchestrator: 2
43
+ xiaoma-master: 1
44
+ xiaoma-orchestrator: 2
45
45
  pm: 3
46
46
  analyst: 4
47
47
  architect: 5
@@ -55,4 +55,4 @@ cline-order:
55
55
  game-designer: 12
56
56
  game-developer: 13
57
57
  game-sm: 14
58
- infra-devops-platform: 15
58
+ infra-devops-platform: 15
@@ -1,6 +1,6 @@
1
1
  installation-options:
2
2
  full:
3
- name: Complete XiaoMa Core
3
+ name: Complete BMad Core
4
4
  description: Copy the entire .xiaoma-core folder with all agents, templates, and tools
5
5
  action: copy-folder
6
6
  source: xiaoma-core
@@ -11,31 +11,41 @@ installation-options:
11
11
  ide-configurations:
12
12
  cursor:
13
13
  name: Cursor
14
- rule-dir: .cursor/rules/
14
+ rule-dir: .cursor/rules/bmad/
15
15
  format: multi-file
16
16
  command-suffix: .mdc
17
17
  instructions: |
18
- # To use XiaoMa agents in Cursor:
18
+ # To use BMad agents in Cursor:
19
19
  # 1. Press Ctrl+L (Cmd+L on Mac) to open the chat
20
20
  # 2. Type @agent-name (e.g., "@dev", "@pm", "@architect")
21
21
  # 3. The agent will adopt that persona for the conversation
22
22
  claude-code:
23
23
  name: Claude Code
24
- rule-dir: .claude/commands/XiaoMa/
24
+ rule-dir: .claude/commands/BMad/
25
25
  format: multi-file
26
26
  command-suffix: .md
27
27
  instructions: |
28
- # To use XiaoMa agents in Claude Code:
28
+ # To use BMad agents in Claude Code:
29
29
  # 1. Type /agent-name (e.g., "/dev", "/pm", "/architect")
30
30
  # 2. Claude will switch to that agent's persona
31
+ crush:
32
+ name: Crush
33
+ rule-dir: .crush/commands/BMad/
34
+ format: multi-file
35
+ command-suffix: .md
36
+ instructions: |
37
+ # To use BMad agents in Crush:
38
+ # 1. Press CTRL + P and press TAB
39
+ # 2. Select agent or task
40
+ # 3. Crush will switch to that agent's persona / task
31
41
  windsurf:
32
42
  name: Windsurf
33
- rule-dir: .windsurf/rules/
43
+ rule-dir: .windsurf/workflows/
34
44
  format: multi-file
35
45
  command-suffix: .md
36
46
  instructions: |
37
- # To use XiaoMa agents in Windsurf:
38
- # 1. Type @agent-name (e.g., "@dev", "@pm")
47
+ # To use BMad agents in Windsurf:
48
+ # 1. Type /agent-name (e.g., "/dev", "/pm")
39
49
  # 2. Windsurf will adopt that agent's persona
40
50
  trae:
41
51
  name: Trae
@@ -43,7 +53,7 @@ ide-configurations:
43
53
  format: multi-file
44
54
  command-suffix: .md
45
55
  instructions: |
46
- # To use XiaoMa agents in Trae:
56
+ # To use BMad agents in Trae:
47
57
  # 1. Type @agent-name (e.g., "@dev", "@pm", "@architect")
48
58
  # 2. Trae will adopt that agent's persona
49
59
  roo:
@@ -51,9 +61,9 @@ ide-configurations:
51
61
  format: custom-modes
52
62
  file: .roomodes
53
63
  instructions: |
54
- # To use XiaoMa agents in Roo Code:
64
+ # To use BMad agents in Roo Code:
55
65
  # 1. Open the mode selector (usually in the status bar)
56
- # 2. Select any xiaoma-{agent} mode (e.g., "xiaoma-dev", "xiaoma-pm")
66
+ # 2. Select any bmad-{agent} mode (e.g., "bmad-dev", "bmad-pm")
57
67
  # 3. The AI will adopt that agent's full personality and capabilities
58
68
  cline:
59
69
  name: Cline
@@ -61,19 +71,19 @@ ide-configurations:
61
71
  format: multi-file
62
72
  command-suffix: .md
63
73
  instructions: |
64
- # To use XiaoMa agents in Cline:
74
+ # To use BMad agents in Cline:
65
75
  # 1. Open the Cline chat panel in VS Code
66
76
  # 2. Type @agent-name (e.g., "@dev", "@pm", "@architect")
67
77
  # 3. The agent will adopt that persona for the conversation
68
78
  # 4. Rules are stored in .clinerules/ directory in your project
69
79
  gemini:
70
80
  name: Gemini CLI
71
- rule-dir: .gemini/xiaoma-method/
81
+ rule-dir: .gemini/bmad-method/
72
82
  format: single-file
73
83
  command-suffix: .md
74
84
  instructions: |
75
- # To use XiaoMa agents with the Gemini CLI:
76
- # 1. The installer creates a .gemini/xiaoma-method/ directory in your project.
85
+ # To use BMad agents with the Gemini CLI:
86
+ # 1. The installer creates a .gemini/bmad-method/ directory in your project.
77
87
  # 2. It concatenates all agent files into a single GEMINI.md file.
78
88
  # 3. Simply mention the agent in your prompt (e.g., "As *dev, ...").
79
89
  # 4. The Gemini CLI will automatically have the context for that agent.
@@ -83,7 +93,7 @@ ide-configurations:
83
93
  format: multi-file
84
94
  command-suffix: .md
85
95
  instructions: |
86
- # To use XiaoMa agents with Github Copilot:
96
+ # To use BMad agents with Github Copilot:
87
97
  # 1. The installer creates a .github/chatmodes/ directory in your project
88
98
  # 2. Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
89
99
  # 3. The agent will adopt that persona for the conversation
@@ -95,19 +105,60 @@ ide-configurations:
95
105
  format: custom-modes
96
106
  file: .kilocodemodes
97
107
  instructions: |
98
- # To use XIAOMA agents in Kilo Code:
108
+ # To use BMAD™ agents in Kilo Code:
99
109
  # 1. Open the mode selector in VSCode
100
- # 2. Select a xiaoma-{agent} mode (e.g. "xiaoma-dev")
110
+ # 2. Select a bmad-{agent} mode (e.g. "bmad-dev")
101
111
  # 3. The AI adopts that agent's persona and capabilities
102
112
 
103
113
  qwen-code:
104
114
  name: Qwen Code
105
- rule-dir: .qwen/xiaoma-method/
115
+ rule-dir: .qwen/bmad-method/
106
116
  format: single-file
107
117
  command-suffix: .md
108
118
  instructions: |
109
- # To use XiaoMa agents with Qwen Code:
110
- # 1. The installer creates a .qwen/xiaoma-method/ directory in your project.
119
+ # To use BMad agents with Qwen Code:
120
+ # 1. The installer creates a .qwen/bmad-method/ directory in your project.
111
121
  # 2. It concatenates all agent files into a single QWEN.md file.
112
122
  # 3. Simply mention the agent in your prompt (e.g., "As *dev, ...").
113
- # 4. The Qwen Code CLI will automatically have the context for that agent.
123
+ # 4. The Qwen Code CLI will automatically have the context for that agent.
124
+
125
+ auggie-cli:
126
+ name: Auggie CLI (Augment Code)
127
+ format: multi-location
128
+ locations:
129
+ user:
130
+ name: User Commands (Global)
131
+ rule-dir: ~/.augment/commands/bmad/
132
+ description: Available across all your projects (user-wide)
133
+ workspace:
134
+ name: Workspace Commands (Project)
135
+ rule-dir: ./.augment/commands/bmad/
136
+ description: Stored in your repository and shared with your team
137
+ command-suffix: .md
138
+ instructions: |
139
+ # To use BMad agents in Auggie CLI (Augment Code):
140
+ # 1. Type /bmad:agent-name (e.g., "/bmad:dev", "/bmad:pm", "/bmad:architect")
141
+ # 2. The agent will adopt that persona for the conversation
142
+ # 3. Commands are available based on your selected location(s)
143
+
144
+ codex:
145
+ name: Codex CLI
146
+ format: project-memory
147
+ file: AGENTS.md
148
+ instructions: |
149
+ # To use BMAD agents with Codex CLI:
150
+ # 1. The installer updates/creates AGENTS.md at your project root with BMAD agents and tasks.
151
+ # 2. Run `codex` in your project. Codex automatically reads AGENTS.md as project memory.
152
+ # 3. Mention agents in your prompt (e.g., "As dev, please implement ...") or reference tasks.
153
+ # 4. You can further customize global Codex behavior via ~/.codex/config.toml.
154
+
155
+ codex-web:
156
+ name: Codex Web Enabled
157
+ format: project-memory
158
+ file: AGENTS.md
159
+ instructions: |
160
+ # To enable BMAD agents for Codex Web (cloud):
161
+ # 1. The installer updates/creates AGENTS.md and ensures `.xiaoma-core` is NOT ignored by git.
162
+ # 2. Commit `.xiaoma-core/` and `AGENTS.md` to your repository.
163
+ # 3. Open the repo in Codex Web and reference agents naturally (e.g., "As dev, ...").
164
+ # 4. Re-run this installer to refresh agent sections when the core changes.
@@ -1,5 +1,5 @@
1
1
  const fs = require('fs-extra');
2
- const path = require('path');
2
+ const path = require('node:path');
3
3
  const yaml = require('js-yaml');
4
4
  const { extractYamlFromAgent } = require('../../lib/yaml-utils');
5
5
 
@@ -11,7 +11,7 @@ class ConfigLoader {
11
11
 
12
12
  async load() {
13
13
  if (this.config) return this.config;
14
-
14
+
15
15
  try {
16
16
  const configContent = await fs.readFile(this.configPath, 'utf8');
17
17
  this.config = yaml.load(configContent);
@@ -28,30 +28,30 @@ class ConfigLoader {
28
28
 
29
29
  async getAvailableAgents() {
30
30
  const agentsDir = path.join(this.getBmadCorePath(), 'agents');
31
-
31
+
32
32
  try {
33
33
  const entries = await fs.readdir(agentsDir, { withFileTypes: true });
34
34
  const agents = [];
35
-
35
+
36
36
  for (const entry of entries) {
37
37
  if (entry.isFile() && entry.name.endsWith('.md')) {
38
38
  const agentPath = path.join(agentsDir, entry.name);
39
39
  const agentId = path.basename(entry.name, '.md');
40
-
40
+
41
41
  try {
42
42
  const agentContent = await fs.readFile(agentPath, 'utf8');
43
-
43
+
44
44
  // Extract YAML block from agent file
45
45
  const yamlContentText = extractYamlFromAgent(agentContent);
46
46
  if (yamlContentText) {
47
47
  const yamlContent = yaml.load(yamlContentText);
48
48
  const agentConfig = yamlContent.agent || {};
49
-
49
+
50
50
  agents.push({
51
51
  id: agentId,
52
52
  name: agentConfig.title || agentConfig.name || agentId,
53
53
  file: `xiaoma-core/agents/${entry.name}`,
54
- description: agentConfig.whenToUse || 'No description available'
54
+ description: agentConfig.whenToUse || 'No description available',
55
55
  });
56
56
  }
57
57
  } catch (error) {
@@ -59,10 +59,10 @@ class ConfigLoader {
59
59
  }
60
60
  }
61
61
  }
62
-
62
+
63
63
  // Sort agents by name for consistent display
64
64
  agents.sort((a, b) => a.name.localeCompare(b.name));
65
-
65
+
66
66
  return agents;
67
67
  } catch (error) {
68
68
  console.warn(`Failed to read agents directory: ${error.message}`);
@@ -72,55 +72,59 @@ class ConfigLoader {
72
72
 
73
73
  async getAvailableExpansionPacks() {
74
74
  const expansionPacksDir = path.join(this.getBmadCorePath(), '..', 'expansion-packs');
75
-
75
+
76
76
  try {
77
77
  const entries = await fs.readdir(expansionPacksDir, { withFileTypes: true });
78
78
  const expansionPacks = [];
79
-
79
+
80
80
  for (const entry of entries) {
81
81
  if (entry.isDirectory() && !entry.name.startsWith('.')) {
82
82
  const packPath = path.join(expansionPacksDir, entry.name);
83
83
  const configPath = path.join(packPath, 'config.yaml');
84
-
84
+
85
85
  try {
86
86
  // Read config.yaml
87
87
  const configContent = await fs.readFile(configPath, 'utf8');
88
88
  const config = yaml.load(configContent);
89
-
89
+
90
90
  expansionPacks.push({
91
91
  id: entry.name,
92
92
  name: config.name || entry.name,
93
- description: config['short-title'] || config.description || 'No description available',
94
- fullDescription: config.description || config['short-title'] || 'No description available',
93
+ description:
94
+ config['short-title'] || config.description || 'No description available',
95
+ fullDescription:
96
+ config.description || config['short-title'] || 'No description available',
95
97
  version: config.version || '1.0.0',
96
- author: config.author || 'XiaoMa Team',
98
+ author: config.author || 'BMad Team',
97
99
  packPath: packPath,
98
- dependencies: config.dependencies?.agents || []
100
+ dependencies: config.dependencies?.agents || [],
99
101
  });
100
102
  } catch (error) {
101
103
  // Fallback if config.yaml doesn't exist or can't be read
102
- console.warn(`Failed to read config for expansion pack ${entry.name}: ${error.message}`);
103
-
104
+ console.warn(
105
+ `Failed to read config for expansion pack ${entry.name}: ${error.message}`,
106
+ );
107
+
104
108
  // Try to derive info from directory name as fallback
105
109
  const name = entry.name
106
110
  .split('-')
107
- .map(word => word.charAt(0).toUpperCase() + word.slice(1))
111
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
108
112
  .join(' ');
109
-
113
+
110
114
  expansionPacks.push({
111
115
  id: entry.name,
112
116
  name: name,
113
117
  description: 'No description available',
114
118
  fullDescription: 'No description available',
115
119
  version: '1.0.0',
116
- author: 'XiaoMa Team',
120
+ author: 'BMad Team',
117
121
  packPath: packPath,
118
- dependencies: []
122
+ dependencies: [],
119
123
  });
120
124
  }
121
125
  }
122
126
  }
123
-
127
+
124
128
  return expansionPacks;
125
129
  } catch (error) {
126
130
  console.warn(`Failed to read expansion packs directory: ${error.message}`);
@@ -132,16 +136,16 @@ class ConfigLoader {
132
136
  // Use DependencyResolver to dynamically parse agent dependencies
133
137
  const DependencyResolver = require('../../lib/dependency-resolver');
134
138
  const resolver = new DependencyResolver(path.join(__dirname, '..', '..', '..'));
135
-
139
+
136
140
  const agentDeps = await resolver.resolveAgentDependencies(agentId);
137
-
141
+
138
142
  // Convert to flat list of file paths
139
143
  const depPaths = [];
140
-
144
+
141
145
  // Core files and utilities are included automatically by DependencyResolver
142
-
146
+
143
147
  // Add agent file itself is already handled by installer
144
-
148
+
145
149
  // Add all resolved resources
146
150
  for (const resource of agentDeps.resources) {
147
151
  const filePath = `.xiaoma-core/${resource.type}/${resource.id}.md`;
@@ -149,7 +153,7 @@ class ConfigLoader {
149
153
  depPaths.push(filePath);
150
154
  }
151
155
  }
152
-
156
+
153
157
  return depPaths;
154
158
  }
155
159
 
@@ -175,25 +179,25 @@ class ConfigLoader {
175
179
 
176
180
  async getAvailableTeams() {
177
181
  const teamsDir = path.join(this.getBmadCorePath(), 'agent-teams');
178
-
182
+
179
183
  try {
180
184
  const entries = await fs.readdir(teamsDir, { withFileTypes: true });
181
185
  const teams = [];
182
-
186
+
183
187
  for (const entry of entries) {
184
188
  if (entry.isFile() && entry.name.endsWith('.yaml')) {
185
189
  const teamPath = path.join(teamsDir, entry.name);
186
-
190
+
187
191
  try {
188
192
  const teamContent = await fs.readFile(teamPath, 'utf8');
189
193
  const teamConfig = yaml.load(teamContent);
190
-
194
+
191
195
  if (teamConfig.bundle) {
192
196
  teams.push({
193
197
  id: path.basename(entry.name, '.yaml'),
194
198
  name: teamConfig.bundle.name || entry.name,
195
199
  description: teamConfig.bundle.description || 'Team configuration',
196
- icon: teamConfig.bundle.icon || '📋'
200
+ icon: teamConfig.bundle.icon || '📋',
197
201
  });
198
202
  }
199
203
  } catch (error) {
@@ -201,7 +205,7 @@ class ConfigLoader {
201
205
  }
202
206
  }
203
207
  }
204
-
208
+
205
209
  return teams;
206
210
  } catch (error) {
207
211
  console.warn(`Warning: Could not scan teams directory: ${error.message}`);
@@ -217,16 +221,16 @@ class ConfigLoader {
217
221
  // Use DependencyResolver to dynamically parse team dependencies
218
222
  const DependencyResolver = require('../../lib/dependency-resolver');
219
223
  const resolver = new DependencyResolver(path.join(__dirname, '..', '..', '..'));
220
-
224
+
221
225
  try {
222
226
  const teamDeps = await resolver.resolveTeamDependencies(teamId);
223
-
227
+
224
228
  // Convert to flat list of file paths
225
229
  const depPaths = [];
226
-
230
+
227
231
  // Add team config file
228
232
  depPaths.push(`.xiaoma-core/agent-teams/${teamId}.yaml`);
229
-
233
+
230
234
  // Add all agents
231
235
  for (const agent of teamDeps.agents) {
232
236
  const filePath = `.xiaoma-core/agents/${agent.id}.md`;
@@ -234,7 +238,7 @@ class ConfigLoader {
234
238
  depPaths.push(filePath);
235
239
  }
236
240
  }
237
-
241
+
238
242
  // Add all resolved resources
239
243
  for (const resource of teamDeps.resources) {
240
244
  const filePath = `.xiaoma-core/${resource.type}/${resource.id}.${resource.type === 'workflows' ? 'yaml' : 'md'}`;
@@ -242,7 +246,7 @@ class ConfigLoader {
242
246
  depPaths.push(filePath);
243
247
  }
244
248
  }
245
-
249
+
246
250
  return depPaths;
247
251
  } catch (error) {
248
252
  throw new Error(`Failed to resolve team dependencies for ${teamId}: ${error.message}`);
@@ -250,4 +254,4 @@ class ConfigLoader {
250
254
  }
251
255
  }
252
256
 
253
- module.exports = new ConfigLoader();
257
+ module.exports = new ConfigLoader();