@zeyue0329/xiaoma-cli 1.0.8 → 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 (326) 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 +390 -150
  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 -117
  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 -699
  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/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
  301. 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
  302. 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
  303. package/XiaoMa-Web/351/241/271/347/233/256/346/200/273/347/273/223/346/212/245/345/221/212.md +0 -310
  304. package/dist/agents/analyst.txt +0 -2882
  305. package/dist/agents/architect.txt +0 -3543
  306. package/dist/agents/dev-cn.txt +0 -428
  307. package/dist/agents/dev.txt +0 -428
  308. package/dist/agents/pm.txt +0 -2229
  309. package/dist/agents/po.txt +0 -1364
  310. package/dist/agents/qa.txt +0 -386
  311. package/dist/agents/sm.txt +0 -668
  312. package/dist/agents/ux-expert.txt +0 -701
  313. package/dist/agents/xiaoma-master.txt +0 -8756
  314. package/dist/agents/xiaoma-orchestrator.txt +0 -1490
  315. package/dist/teams/team-all.txt +0 -11062
  316. package/dist/teams/team-fullstack.txt +0 -10392
  317. package/dist/teams/team-ide-minimal.txt +0 -3507
  318. package/dist/teams/team-no-ui.txt +0 -8951
  319. package/docs/quick-start.md +0 -179
  320. package/tools/bmad-npx-wrapper.js +0 -39
  321. package/tools/installer/package-lock.json +0 -704
  322. package/tools/semantic-release-sync-installer.js +0 -30
  323. package/xiaoma-core/bmad-core/user-guide.md +0 -0
  324. package/xiaoma-core/enhanced-ide-development-workflow.md +0 -43
  325. package/xiaoma-core/user-guide.md +0 -251
  326. package/xiaoma-core/working-in-the-brownfield.md +0 -364
@@ -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
@@ -11,7 +11,7 @@ installation-options:
11
11
  ide-configurations:
12
12
  cursor:
13
13
  name: Cursor
14
- rule-dir: .cursor/rules/
14
+ rule-dir: .cursor/rules/xiaoma/
15
15
  format: multi-file
16
16
  command-suffix: .mdc
17
17
  instructions: |
@@ -28,14 +28,24 @@ ide-configurations:
28
28
  # To use XiaoMa 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/XiaoMa/
34
+ format: multi-file
35
+ command-suffix: .md
36
+ instructions: |
37
+ # To use XiaoMa 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
47
  # To use XiaoMa agents in Windsurf:
38
- # 1. Type @agent-name (e.g., "@dev", "@pm")
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
@@ -68,12 +78,12 @@ ide-configurations:
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/xiaoma-cli/
72
82
  format: single-file
73
83
  command-suffix: .md
74
84
  instructions: |
75
85
  # To use XiaoMa agents with the Gemini CLI:
76
- # 1. The installer creates a .gemini/xiaoma-method/ directory in your project.
86
+ # 1. The installer creates a .gemini/xiaoma-cli/ 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.
@@ -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 XiaoMa™ agents in Kilo Code:
99
109
  # 1. Open the mode selector in VSCode
100
110
  # 2. Select a xiaoma-{agent} mode (e.g. "xiaoma-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/xiaoma-cli/
106
116
  format: single-file
107
117
  command-suffix: .md
108
118
  instructions: |
109
119
  # To use XiaoMa agents with Qwen Code:
110
- # 1. The installer creates a .qwen/xiaoma-method/ directory in your project.
120
+ # 1. The installer creates a .qwen/xiaoma-cli/ 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/xiaoma/
132
+ description: Available across all your projects (user-wide)
133
+ workspace:
134
+ name: Workspace Commands (Project)
135
+ rule-dir: ./.augment/commands/xiaoma/
136
+ description: Stored in your repository and shared with your team
137
+ command-suffix: .md
138
+ instructions: |
139
+ # To use XiaoMa agents in Auggie CLI (Augment Code):
140
+ # 1. Type /xiaoma:agent-name (e.g., "/xiaoma:dev", "/xiaoma:pm", "/xiaoma: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 XiaoMa agents with Codex CLI:
150
+ # 1. The installer updates/creates AGENTS.md at your project root with XiaoMa 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 XiaoMa 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
- file: `xiaoma-core/agents/${entry.name}`,
54
- description: agentConfig.whenToUse || 'No description available'
53
+ file: `bmad-core/agents/${entry.name}`,
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,24 +136,24 @@ 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
- const filePath = `.xiaoma-core/${resource.type}/${resource.id}.md`;
151
+ const filePath = `.bmad-core/${resource.type}/${resource.id}.md`;
148
152
  if (!depPaths.includes(filePath)) {
149
153
  depPaths.push(filePath);
150
154
  }
151
155
  }
152
-
156
+
153
157
  return depPaths;
154
158
  }
155
159
 
@@ -160,8 +164,8 @@ class ConfigLoader {
160
164
  }
161
165
 
162
166
  getBmadCorePath() {
163
- // Get the path to xiaoma-core relative to the installer (now under tools)
164
- return path.join(__dirname, '..', '..', '..', 'xiaoma-core');
167
+ // Get the path to bmad-core relative to the installer (now under tools)
168
+ return path.join(__dirname, '..', '..', '..', 'bmad-core');
165
169
  }
166
170
 
167
171
  getDistPath() {
@@ -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,32 +221,32 @@ 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
- depPaths.push(`.xiaoma-core/agent-teams/${teamId}.yaml`);
229
-
232
+ depPaths.push(`.bmad-core/agent-teams/${teamId}.yaml`);
233
+
230
234
  // Add all agents
231
235
  for (const agent of teamDeps.agents) {
232
- const filePath = `.xiaoma-core/agents/${agent.id}.md`;
236
+ const filePath = `.bmad-core/agents/${agent.id}.md`;
233
237
  if (!depPaths.includes(filePath)) {
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
- const filePath = `.xiaoma-core/${resource.type}/${resource.id}.${resource.type === 'workflows' ? 'yaml' : 'md'}`;
244
+ const filePath = `.bmad-core/${resource.type}/${resource.id}.${resource.type === 'workflows' ? 'yaml' : 'md'}`;
241
245
  if (!depPaths.includes(filePath)) {
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();