@zeyue0329/xiaoma-cli 1.7.0 → 1.8.0

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 (248) hide show
  1. package/README.md +33 -33
  2. package/package.json +3 -8
  3. package/pipeline-optimization-report.md +331 -564
  4. package/src/core/module-help.csv +10 -10
  5. package/src/core/skills/xiaoma-advanced-elicitation/SKILL.md +2 -2
  6. package/src/core/skills/xiaoma-advanced-elicitation/workflow.md +2 -2
  7. package/src/core/skills/xiaoma-brainstorming/SKILL.md +1 -1
  8. package/src/core/skills/xiaoma-brainstorming/steps/step-01-session-setup.md +4 -0
  9. package/src/core/skills/xiaoma-brainstorming/steps/step-01b-continue.md +3 -1
  10. package/src/core/skills/xiaoma-brainstorming/steps/step-02a-user-selected.md +5 -1
  11. package/src/core/skills/xiaoma-brainstorming/steps/step-02b-ai-recommended.md +3 -1
  12. package/src/core/skills/xiaoma-brainstorming/steps/step-02c-random-selection.md +3 -1
  13. package/src/core/skills/xiaoma-brainstorming/steps/step-02d-progressive-flow.md +3 -1
  14. package/src/core/skills/xiaoma-brainstorming/steps/step-03-technique-execution.md +2 -0
  15. package/src/core/skills/xiaoma-brainstorming/steps/step-04-idea-organization.md +2 -0
  16. package/src/core/skills/xiaoma-brainstorming/workflow.md +1 -2
  17. package/src/core/skills/xiaoma-distillator/SKILL.md +1 -1
  18. package/src/core/skills/xiaoma-distillator/agents/distillate-compressor.md +4 -4
  19. package/src/core/skills/xiaoma-distillator/resources/distillate-format-reference.md +34 -34
  20. package/src/core/skills/xiaoma-distillator/xiaoma-skill-manifest.yaml +1 -1
  21. package/src/core/skills/xiaoma-editorial-review-prose/SKILL.md +1 -1
  22. package/src/core/skills/xiaoma-editorial-review-structure/SKILL.md +1 -1
  23. package/src/core/skills/xiaoma-editorial-review-structure/workflow.md +1 -1
  24. package/src/core/skills/xiaoma-help/SKILL.md +2 -2
  25. package/src/core/skills/xiaoma-index-docs/SKILL.md +1 -1
  26. package/src/core/skills/xiaoma-party-mode/SKILL.md +2 -2
  27. package/src/core/skills/xiaoma-party-mode/steps/step-01-agent-loading.md +3 -3
  28. package/src/core/skills/xiaoma-party-mode/steps/step-02-discussion-orchestration.md +2 -2
  29. package/src/core/skills/xiaoma-party-mode/steps/step-03-graceful-exit.md +5 -5
  30. package/src/core/skills/xiaoma-party-mode/workflow.md +4 -4
  31. package/src/core/skills/xiaoma-review-adversarial-general/SKILL.md +1 -1
  32. package/src/core/skills/xiaoma-review-edge-case-hunter/SKILL.md +2 -2
  33. package/src/core/skills/xiaoma-shard-doc/SKILL.md +1 -1
  34. package/src/core/tasks/xiaoma-create-prd/SKILL.md +1 -1
  35. package/src/core/tasks/xiaoma-create-prd/data/prd-purpose.md +4 -4
  36. package/src/core/tasks/xiaoma-create-prd/data/project-types.csv +1 -1
  37. package/src/core/tasks/xiaoma-create-prd/steps-c/step-11-polish.md +1 -1
  38. package/src/xmc/agents/analyst.agent.yaml +3 -3
  39. package/src/xmc/agents/qa.agent.yaml +1 -1
  40. package/src/xmc/agents/sm.agent.yaml +3 -3
  41. package/src/xmc/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +2 -2
  42. package/src/xmc/agents/tech-writer/xiaoma-skill-manifest.yaml +1 -1
  43. package/src/xmc/agents/xiaoma-skill-manifest.yaml +8 -8
  44. package/src/xmc/module-help.csv +31 -31
  45. package/src/xmc/module.yaml +2 -2
  46. package/src/xmc/teams/default-party.csv +14 -14
  47. package/src/xmc/teams/team-fullstack.yaml +1 -1
  48. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-04-create-prd.md +2 -1
  49. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-05-validate-prd.md +3 -2
  50. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-06-create-epics.md +14 -5
  51. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-08-finalize.md +3 -3
  52. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/workflow.md +1 -0
  53. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/SKILL.md +1 -1
  54. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/SKILL.md +1 -1
  55. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/SKILL.md +1 -1
  56. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/SKILL.md +1 -1
  57. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-02-vision.md +1 -0
  58. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-03-users.md +1 -0
  59. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-04-metrics.md +1 -0
  60. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-05-scope.md +1 -0
  61. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/SKILL.md +1 -1
  62. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/contextual-discovery.md +7 -7
  63. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/draft-and-review.md +5 -5
  64. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/finalize.md +1 -1
  65. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/guided-elicitation.md +2 -2
  66. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/xiaoma-manifest.json +2 -2
  67. package/src/xmc/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +4 -4
  68. package/src/xmc/workflows/2-plan-workflows/create-prd/data/project-types.csv +1 -1
  69. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +1 -1
  70. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +16 -16
  71. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +9 -9
  72. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +1 -1
  73. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +8 -8
  74. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
  75. package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +2 -2
  76. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/SKILL.md +1 -1
  77. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/SKILL.md +1 -1
  78. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-01-discovery.md +13 -17
  79. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-01b-legacy-conversion.md +9 -13
  80. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-02-review.md +4 -8
  81. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-03-edit.md +9 -13
  82. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-04-complete.md +2 -5
  83. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/workflow.md +1 -2
  84. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/SKILL.md +1 -1
  85. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/prd-purpose.md +4 -4
  86. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/project-types.csv +1 -1
  87. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-01-discovery.md +1 -4
  88. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02-format-detection.md +16 -19
  89. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02b-parity-check.md +8 -11
  90. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-03-density-validation.md +1 -4
  91. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -3
  92. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -3
  93. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -3
  94. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -3
  95. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -3
  96. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -3
  97. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-10-smart-validation.md +0 -3
  98. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +8 -11
  99. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -3
  100. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-13-report-complete.md +2 -5
  101. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/workflow.md +2 -2
  102. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/SKILL.md +1 -1
  103. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/SKILL.md +1 -1
  104. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/SKILL.md +1 -1
  105. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-01-init-and-validate.md +6 -3
  106. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-05-code-review.md +5 -6
  107. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-07-fix-and-retest.md +14 -7
  108. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-09-cycle-check.md +11 -2
  109. package/src/xmc/workflows/4-implementation/auto-story-pipeline/workflow.md +9 -8
  110. package/src/xmc/workflows/4-implementation/xiaoma-code-review/SKILL.md +2 -2
  111. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-01-gather-context.md +61 -0
  112. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-02-review.md +41 -0
  113. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-03-triage.md +50 -0
  114. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-04-present.md +38 -0
  115. package/src/xmc/workflows/4-implementation/xiaoma-code-review/workflow.md +33 -240
  116. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/SKILL.md +1 -1
  117. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/workflow.md +1 -1
  118. package/src/xmc/workflows/4-implementation/xiaoma-create-story/SKILL.md +1 -1
  119. package/src/xmc/workflows/4-implementation/xiaoma-create-story/workflow.md +3 -3
  120. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/SKILL.md +1 -1
  121. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/workflow.md +1 -1
  122. package/src/xmc/workflows/4-implementation/xiaoma-retrospective/SKILL.md +1 -1
  123. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/SKILL.md +1 -1
  124. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/workflow.md +2 -2
  125. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/SKILL.md +1 -1
  126. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/workflow.md +5 -5
  127. package/src/xmc/workflows/xiaoma-document-project/SKILL.md +1 -1
  128. package/src/xmc/workflows/xiaoma-document-project/templates/index-template.md +1 -1
  129. package/src/xmc/workflows/xiaoma-document-project/templates/project-overview-template.md +1 -1
  130. package/src/xmc/workflows/xiaoma-document-project/templates/source-tree-template.md +1 -1
  131. package/src/xmc/workflows/xiaoma-generate-project-context/SKILL.md +1 -1
  132. package/src/xmc/workflows/xiaoma-generate-project-context/steps/step-01-discover.md +3 -1
  133. package/src/xmc/workflows/xiaoma-generate-project-context/steps/step-02-generate.md +2 -0
  134. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/SKILL.md +1 -1
  135. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/checklist.md +1 -1
  136. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/workflow.md +2 -2
  137. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/SKILL.md +1 -1
  138. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-01-mode-detection.md +2 -2
  139. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md +1 -1
  140. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/SKILL.md +1 -1
  141. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/workflow.md +1 -0
  142. package/tools/cli/README.md +4 -4
  143. package/tools/cli/commands/install.js +1 -1
  144. package/tools/cli/commands/status.js +4 -4
  145. package/tools/cli/commands/uninstall.js +9 -9
  146. package/tools/cli/external-official-modules.yaml +2 -54
  147. package/tools/cli/installers/install-messages.yaml +5 -5
  148. package/tools/cli/installers/lib/core/config-collector.js +2 -2
  149. package/tools/cli/installers/lib/core/dependency-resolver.js +2 -2
  150. package/tools/cli/installers/lib/core/detector.js +9 -9
  151. package/tools/cli/installers/lib/core/ide-config-manager.js +7 -7
  152. package/tools/cli/installers/lib/core/installer.js +51 -51
  153. package/tools/cli/installers/lib/core/manifest-generator.js +6 -6
  154. package/tools/cli/installers/lib/core/manifest.js +3 -3
  155. package/tools/cli/installers/lib/custom/handler.js +5 -5
  156. package/tools/cli/installers/lib/ide/_base-ide.js +15 -15
  157. package/tools/cli/installers/lib/ide/_config-driven.js +31 -31
  158. package/tools/cli/installers/lib/ide/manager.js +8 -8
  159. package/tools/cli/installers/lib/ide/platform-codes.yaml +3 -3
  160. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +3 -3
  161. package/tools/cli/installers/lib/ide/shared/path-utils.js +3 -3
  162. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +2 -2
  163. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +13 -13
  164. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +2 -2
  165. package/tools/cli/installers/lib/ide/shared/xiaoma-artifacts.js +1 -1
  166. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  167. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +1 -1
  168. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +1 -1
  169. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +1 -1
  170. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +1 -1
  171. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +1 -1
  172. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +1 -1
  173. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +1 -1
  174. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +1 -1
  175. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +1 -1
  176. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +1 -1
  177. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +3 -3
  178. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +3 -3
  179. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +3 -3
  180. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +3 -3
  181. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +1 -1
  182. package/tools/cli/installers/lib/ide/templates/combined/trae.md +1 -1
  183. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +1 -1
  184. package/tools/cli/installers/lib/modules/manager.js +22 -22
  185. package/tools/cli/lib/agent/compiler.js +3 -3
  186. package/tools/cli/lib/agent/installer.js +9 -9
  187. package/tools/cli/lib/agent/template-engine.js +1 -1
  188. package/tools/cli/lib/agent-party-generator.js +3 -3
  189. package/tools/cli/lib/cli-utils.js +1 -1
  190. package/tools/cli/lib/project-root.js +5 -5
  191. package/tools/cli/lib/prompts.js +1 -1
  192. package/tools/cli/lib/ui.js +27 -27
  193. package/tools/cli/lib/xml-handler.js +1 -1
  194. package/tools/cli/lib/yaml-format.js +1 -1
  195. package/tools/cli/lib/yaml-xml-builder.js +2 -2
  196. package/tools/cli/xiaoma-cli.js +3 -3
  197. package/tools/platform-codes.yaml +2 -2
  198. package/tools/schema/agent.js +1 -1
  199. package/tools/xiaoma-npx-wrapper.js +1 -1
  200. package/.idea/codeStyles/Project.xml +0 -60
  201. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  202. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  203. package/.idea/jsLibraryMappings.xml +0 -6
  204. package/.idea/modules.xml +0 -8
  205. package/.idea/prettier.xml +0 -6
  206. package/.idea/vcs.xml +0 -6
  207. package/.idea/workspace.xml +0 -146
  208. package/AGENTS.md +0 -9
  209. package/README_CN.md +0 -121
  210. package/XIAOMA-CLI-GUIDE.md +0 -512
  211. package/src/core/skills/xiaoma-advanced-elicitation/SKILL.md.bak +0 -6
  212. package/src/core/skills/xiaoma-brainstorming/SKILL.md.bak +0 -6
  213. package/src/core/skills/xiaoma-distillator/SKILL.md.bak +0 -178
  214. package/src/core/skills/xiaoma-editorial-review-prose/SKILL.md.bak +0 -6
  215. package/src/core/skills/xiaoma-editorial-review-structure/SKILL.md.bak +0 -6
  216. package/src/core/skills/xiaoma-index-docs/SKILL.md.bak +0 -6
  217. package/src/core/skills/xiaoma-party-mode/SKILL.md.bak +0 -6
  218. package/src/core/skills/xiaoma-review-adversarial-general/SKILL.md.bak +0 -6
  219. package/src/core/skills/xiaoma-review-edge-case-hunter/SKILL.md.bak +0 -6
  220. package/src/core/skills/xiaoma-shard-doc/SKILL.md.bak +0 -6
  221. package/src/core/tasks/xiaoma-create-prd/SKILL.md.bak +0 -6
  222. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/SKILL.md.bak +0 -6
  223. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/SKILL.md.bak +0 -6
  224. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/SKILL.md.bak +0 -6
  225. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/SKILL.md.bak +0 -6
  226. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/SKILL.md.bak +0 -88
  227. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/SKILL.md.bak +0 -6
  228. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/SKILL.md.bak +0 -6
  229. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/SKILL.md.bak +0 -6
  230. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/SKILL.md.bak +0 -6
  231. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/SKILL.md.bak +0 -6
  232. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/SKILL.md.bak +0 -6
  233. package/src/xmc/workflows/4-implementation/xiaoma-code-review/SKILL.md.bak +0 -6
  234. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/SKILL.md.bak +0 -6
  235. package/src/xmc/workflows/4-implementation/xiaoma-create-story/SKILL.md.bak +0 -6
  236. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/SKILL.md.bak +0 -6
  237. package/src/xmc/workflows/4-implementation/xiaoma-retrospective/SKILL.md.bak +0 -6
  238. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/SKILL.md.bak +0 -6
  239. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/SKILL.md.bak +0 -6
  240. package/src/xmc/workflows/xiaoma-document-project/SKILL.md.bak +0 -6
  241. package/src/xmc/workflows/xiaoma-generate-project-context/SKILL.md.bak +0 -6
  242. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/SKILL.md.bak +0 -6
  243. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/SKILL.md.bak +0 -6
  244. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md.bak +0 -6
  245. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/SKILL.md.bak +0 -6
  246. package/tools/format-workflow-md.js +0 -263
  247. package/tools/migrate-custom-module-paths.js +0 -124
  248. package/tools/skill-validator.md +0 -322
@@ -12,7 +12,7 @@ const csv = require('csv-parse/sync');
12
12
  /**
13
13
  * Config-driven IDE setup handler
14
14
  *
15
- * This class provides a standardized way to install BMAD artifacts to IDEs
15
+ * This class provides a standardized way to install XiaoMa artifacts to IDEs
16
16
  * based on configuration in platform-codes.yaml. It eliminates the need for
17
17
  * individual installer files for each IDE.
18
18
  *
@@ -60,19 +60,19 @@ class ConfigDrivenIdeSetup extends BaseIdeSetup {
60
60
  /**
61
61
  * Main setup method - called by IdeManager
62
62
  * @param {string} projectDir - Project directory
63
- * @param {string} xiaomaDir - BMAD installation directory
63
+ * @param {string} xiaomaDir - XiaoMa installation directory
64
64
  * @param {Object} options - Setup options
65
65
  * @returns {Promise<Object>} Setup result
66
66
  */
67
67
  async setup(projectDir, xiaomaDir, options = {}) {
68
- // Check for BMAD files in ancestor directories that would cause duplicates
68
+ // Check for XiaoMa files in ancestor directories that would cause duplicates
69
69
  if (this.installerConfig?.ancestor_conflict_check) {
70
70
  const conflict = await this.findAncestorConflict(projectDir);
71
71
  if (conflict) {
72
72
  await prompts.log.error(
73
- `Found existing BMAD skills in ancestor installation: ${conflict}\n` +
73
+ `Found existing XiaoMa skills in ancestor installation: ${conflict}\n` +
74
74
  ` ${this.name} inherits skills from parent directories, so this would cause duplicates.\n` +
75
- ` Please remove the BMAD files from that directory first:\n` +
75
+ ` Please remove the XiaoMa files from that directory first:\n` +
76
76
  ` rm -rf "${conflict}"/xiaoma*`,
77
77
  );
78
78
  return {
@@ -86,7 +86,7 @@ class ConfigDrivenIdeSetup extends BaseIdeSetup {
86
86
 
87
87
  if (!options.silent) await prompts.log.info(`Setting up ${this.name}...`);
88
88
 
89
- // Clean up any old BMAD installation first
89
+ // Clean up any old XiaoMa installation first
90
90
  await this.cleanup(projectDir, options);
91
91
 
92
92
  if (!this.installerConfig) {
@@ -109,7 +109,7 @@ class ConfigDrivenIdeSetup extends BaseIdeSetup {
109
109
  /**
110
110
  * Install to a single target directory
111
111
  * @param {string} projectDir - Project directory
112
- * @param {string} xiaomaDir - BMAD installation directory
112
+ * @param {string} xiaomaDir - XiaoMa installation directory
113
113
  * @param {Object} config - Installation configuration
114
114
  * @param {Object} options - Setup options
115
115
  * @returns {Promise<Object>} Installation result
@@ -171,7 +171,7 @@ class ConfigDrivenIdeSetup extends BaseIdeSetup {
171
171
  /**
172
172
  * Install to multiple target directories
173
173
  * @param {string} projectDir - Project directory
174
- * @param {string} xiaomaDir - BMAD installation directory
174
+ * @param {string} xiaomaDir - XiaoMa installation directory
175
175
  * @param {Array} targets - Array of target configurations
176
176
  * @param {Object} options - Setup options
177
177
  * @returns {Promise<Object>} Installation result
@@ -634,7 +634,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
634
634
  * Copies the entire source directory as-is into the IDE skill directory.
635
635
  * The source SKILL.md is used directly — no frontmatter transformation or file generation.
636
636
  * @param {string} projectDir - Project directory
637
- * @param {string} xiaomaDir - BMAD installation directory
637
+ * @param {string} xiaomaDir - XiaoMa installation directory
638
638
  * @param {string} targetPath - Target skills directory
639
639
  * @param {Object} config - Installation configuration
640
640
  * @returns {Promise<number>} Count of skills installed
@@ -659,7 +659,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
659
659
  if (!canonicalId) continue;
660
660
 
661
661
  // Derive source directory from path column
662
- // path is like "_xiaoma/bmm/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md"
662
+ // path is like "_xiaoma/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md"
663
663
  // Strip xiaomaFolderName prefix and join with xiaomaDir, then get dirname
664
664
  const relativePath = record.path.startsWith(xiaomaPrefix) ? record.path.slice(xiaomaPrefix.length) : record.path;
665
665
  const sourceFile = path.join(xiaomaDir, relativePath);
@@ -738,17 +738,17 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
738
738
  }
739
739
  }
740
740
 
741
- // Strip BMAD markers from copilot-instructions.md if present
741
+ // Strip XiaoMa markers from copilot-instructions.md if present
742
742
  if (this.name === 'github-copilot') {
743
743
  await this.cleanupCopilotInstructions(projectDir, options);
744
744
  }
745
745
 
746
- // Strip BMAD modes from .kilocodemodes if present
746
+ // Strip XiaoMa modes from .kilocodemodes if present
747
747
  if (this.name === 'kilo') {
748
748
  await this.cleanupKiloModes(projectDir, options);
749
749
  }
750
750
 
751
- // Strip BMAD entries from .rovodev/prompts.yml if present
751
+ // Strip XiaoMa entries from .rovodev/prompts.yml if present
752
752
  if (this.name === 'rovo-dev') {
753
753
  await this.cleanupRovoDevPrompts(projectDir, options);
754
754
  }
@@ -783,7 +783,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
783
783
  }
784
784
 
785
785
  /**
786
- * Warn about stale BMAD files in a global legacy directory (never auto-deletes)
786
+ * Warn about stale XiaoMa files in a global legacy directory (never auto-deletes)
787
787
  * @param {string} legacyDir - Legacy directory path (may start with ~)
788
788
  * @param {Object} options - Options (silent, etc.)
789
789
  */
@@ -801,7 +801,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
801
801
  const xiaomaFiles = entries.filter((e) => typeof e === 'string' && e.startsWith('xiaoma'));
802
802
 
803
803
  if (xiaomaFiles.length > 0 && !options.silent) {
804
- await prompts.log.warn(`Found ${xiaomaFiles.length} stale BMAD file(s) in ${expanded}. Remove manually: rm ${expanded}/xiaoma-*`);
804
+ await prompts.log.warn(`Found ${xiaomaFiles.length} stale XiaoMa file(s) in ${expanded}. Remove manually: rm ${expanded}/xiaoma-*`);
805
805
  }
806
806
  } catch {
807
807
  // Errors reading global paths are silently ignored
@@ -851,7 +851,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
851
851
  }
852
852
 
853
853
  if (removedCount > 0 && !options.silent) {
854
- await prompts.log.message(` Cleaned ${removedCount} BMAD files from ${targetDir}`);
854
+ await prompts.log.message(` Cleaned ${removedCount} XiaoMa files from ${targetDir}`);
855
855
  }
856
856
 
857
857
  // Remove empty directory after cleanup
@@ -867,8 +867,8 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
867
867
  }
868
868
  }
869
869
  /**
870
- * Strip BMAD-owned content from .github/copilot-instructions.md.
871
- * The old custom installer injected content between <!-- BMAD:START --> and <!-- BMAD:END --> markers.
870
+ * Strip XiaoMa-owned content from .github/copilot-instructions.md.
871
+ * The old custom installer injected content between <!-- XiaoMa:START --> and <!-- XiaoMa:END --> markers.
872
872
  * Deletes the file if nothing remains. Restores .bak backup if one exists.
873
873
  */
874
874
  async cleanupCopilotInstructions(projectDir, options = {}) {
@@ -878,12 +878,12 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
878
878
 
879
879
  try {
880
880
  const content = await fs.readFile(filePath, 'utf8');
881
- const startIdx = content.indexOf('<!-- BMAD:START -->');
882
- const endIdx = content.indexOf('<!-- BMAD:END -->');
881
+ const startIdx = content.indexOf('<!-- XiaoMa:START -->');
882
+ const endIdx = content.indexOf('<!-- XiaoMa:END -->');
883
883
 
884
884
  if (startIdx === -1 || endIdx === -1 || endIdx <= startIdx) return;
885
885
 
886
- const cleaned = content.slice(0, startIdx) + content.slice(endIdx + '<!-- BMAD:END -->'.length);
886
+ const cleaned = content.slice(0, startIdx) + content.slice(endIdx + '<!-- XiaoMa:END -->'.length);
887
887
 
888
888
  if (cleaned.trim().length === 0) {
889
889
  await fs.remove(filePath);
@@ -898,16 +898,16 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
898
898
  if (await fs.pathExists(backupPath)) await fs.remove(backupPath);
899
899
  }
900
900
 
901
- if (!options.silent) await prompts.log.message(' Cleaned BMAD markers from copilot-instructions.md');
901
+ if (!options.silent) await prompts.log.message(' Cleaned XiaoMa markers from copilot-instructions.md');
902
902
  } catch {
903
- if (!options.silent) await prompts.log.warn(' Warning: Could not clean BMAD markers from copilot-instructions.md');
903
+ if (!options.silent) await prompts.log.warn(' Warning: Could not clean XiaoMa markers from copilot-instructions.md');
904
904
  }
905
905
  }
906
906
 
907
907
  /**
908
- * Strip BMAD-owned modes from .kilocodemodes.
908
+ * Strip XiaoMa-owned modes from .kilocodemodes.
909
909
  * The old custom kilo.js installer added modes with slug starting with 'xiaoma-'.
910
- * Parses YAML, filters out BMAD modes, rewrites. Leaves file as-is on parse failure.
910
+ * Parses YAML, filters out XiaoMa modes, rewrites. Leaves file as-is on parse failure.
911
911
  */
912
912
  async cleanupKiloModes(projectDir, options = {}) {
913
913
  const kiloModesPath = path.join(projectDir, '.kilocodemodes');
@@ -933,7 +933,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
933
933
  if (removedCount > 0) {
934
934
  try {
935
935
  await fs.writeFile(kiloModesPath, yaml.stringify(config, { lineWidth: 0 }));
936
- if (!options.silent) await prompts.log.message(` Removed ${removedCount} BMAD modes from .kilocodemodes`);
936
+ if (!options.silent) await prompts.log.message(` Removed ${removedCount} XiaoMa modes from .kilocodemodes`);
937
937
  } catch {
938
938
  if (!options.silent) await prompts.log.warn(' Warning: Could not write .kilocodemodes during cleanup');
939
939
  }
@@ -941,7 +941,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
941
941
  }
942
942
 
943
943
  /**
944
- * Strip BMAD-owned entries from .rovodev/prompts.yml.
944
+ * Strip XiaoMa-owned entries from .rovodev/prompts.yml.
945
945
  * The old custom rovodev.js installer registered workflows in prompts.yml.
946
946
  * Parses YAML, filters out entries with name starting with 'xiaoma-', rewrites.
947
947
  * Removes the file if no entries remain.
@@ -974,7 +974,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
974
974
  } else {
975
975
  await fs.writeFile(promptsPath, yaml.stringify(config, { lineWidth: 0 }));
976
976
  }
977
- if (!options.silent) await prompts.log.message(` Removed ${removedCount} BMAD entries from prompts.yml`);
977
+ if (!options.silent) await prompts.log.message(` Removed ${removedCount} XiaoMa entries from prompts.yml`);
978
978
  } catch {
979
979
  if (!options.silent) await prompts.log.warn(' Warning: Could not write prompts.yml during cleanup');
980
980
  }
@@ -982,7 +982,7 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
982
982
  }
983
983
 
984
984
  /**
985
- * Check ancestor directories for existing BMAD files in the same target_dir.
985
+ * Check ancestor directories for existing XiaoMa files in the same target_dir.
986
986
  * IDEs like Claude Code inherit commands from parent directories, so an existing
987
987
  * installation in an ancestor would cause duplicate commands.
988
988
  * @param {string} projectDir - Project directory being installed to
@@ -1001,10 +1001,10 @@ LOAD and execute from: {project-root}/{{xiaomaFolderName}}/{{path}}
1001
1001
  try {
1002
1002
  if (await fs.pathExists(candidatePath)) {
1003
1003
  const entries = await fs.readdir(candidatePath);
1004
- const hasBmad = entries.some(
1004
+ const hasXiaoma = entries.some(
1005
1005
  (e) => typeof e === 'string' && e.toLowerCase().startsWith('xiaoma') && !e.toLowerCase().startsWith('xiaoma-os-'),
1006
1006
  );
1007
- if (hasBmad) {
1007
+ if (hasXiaoma) {
1008
1008
  return candidatePath;
1009
1009
  }
1010
1010
  }
@@ -1,4 +1,4 @@
1
- const { BMAD_FOLDER_NAME } = require('./shared/path-utils');
1
+ const { XiaoMa_FOLDER_NAME } = require('./shared/path-utils');
2
2
  const prompts = require('../../../lib/prompts');
3
3
 
4
4
  /**
@@ -12,19 +12,19 @@ class IdeManager {
12
12
  constructor() {
13
13
  this.handlers = new Map();
14
14
  this._initialized = false;
15
- this.xiaomaFolderName = BMAD_FOLDER_NAME; // Default, can be overridden
15
+ this.xiaomaFolderName = XiaoMa_FOLDER_NAME; // Default, can be overridden
16
16
  }
17
17
 
18
18
  /**
19
19
  * Set the xiaoma folder name for all IDE handlers
20
20
  * @param {string} xiaomaFolderName - The xiaoma folder name
21
21
  */
22
- setBmadFolderName(xiaomaFolderName) {
22
+ setXiaomaFolderName(xiaomaFolderName) {
23
23
  this.xiaomaFolderName = xiaomaFolderName;
24
24
  // Update all loaded handlers
25
25
  for (const handler of this.handlers.values()) {
26
- if (typeof handler.setBmadFolderName === 'function') {
27
- handler.setBmadFolderName(xiaomaFolderName);
26
+ if (typeof handler.setXiaomaFolderName === 'function') {
27
+ handler.setXiaomaFolderName(xiaomaFolderName);
28
28
  }
29
29
  }
30
30
  }
@@ -61,8 +61,8 @@ class IdeManager {
61
61
  if (!platformInfo.installer) continue;
62
62
 
63
63
  const handler = new ConfigDrivenIdeSetup(platformCode, platformInfo);
64
- if (typeof handler.setBmadFolderName === 'function') {
65
- handler.setBmadFolderName(this.xiaomaFolderName);
64
+ if (typeof handler.setXiaomaFolderName === 'function') {
65
+ handler.setXiaomaFolderName(this.xiaomaFolderName);
66
66
  }
67
67
  this.handlers.set(platformCode, handler);
68
68
  }
@@ -126,7 +126,7 @@ class IdeManager {
126
126
  * Setup IDE configuration
127
127
  * @param {string} ideName - Name of the IDE
128
128
  * @param {string} projectDir - Project directory
129
- * @param {string} xiaomaDir - BMAD installation directory
129
+ * @param {string} xiaomaDir - XiaoMa installation directory
130
130
  * @param {Object} options - Setup options
131
131
  */
132
132
  async setup(ideName, projectDir, xiaomaDir, options = {}) {
@@ -1,5 +1,5 @@
1
- # BMAD Platform Codes Configuration
2
- # Central configuration for all platform/IDE codes used in the BMAD system
1
+ # XiaoMa Platform Codes Configuration
2
+ # Central configuration for all platform/IDE codes used in the XiaoMa system
3
3
  #
4
4
  # This file defines:
5
5
  # 1. Platform metadata (name, preferred status, category, description)
@@ -281,7 +281,7 @@ platforms:
281
281
  # skip_existing: boolean (optional) # Skip files that already exist (default: false)
282
282
  # skill_format: boolean (optional) # Use directory-per-skill output: <name>/SKILL.md
283
283
  # # with clean frontmatter (name + description, unquoted)
284
- # ancestor_conflict_check: boolean (optional) # Refuse install when ancestor dir has BMAD files
284
+ # ancestor_conflict_check: boolean (optional) # Refuse install when ancestor dir has XiaoMa files
285
285
  # # in the same target_dir (for IDEs that inherit
286
286
  # # skills from parent directories)
287
287
 
@@ -1,20 +1,20 @@
1
1
  const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
- const { toColonPath, toDashPath, customAgentColonName, customAgentDashName, BMAD_FOLDER_NAME } = require('./path-utils');
3
+ const { toColonPath, toDashPath, customAgentColonName, customAgentDashName, XiaoMa_FOLDER_NAME } = require('./path-utils');
4
4
 
5
5
  /**
6
6
  * Generates launcher command files for each agent
7
7
  * Similar to WorkflowCommandGenerator but for agents
8
8
  */
9
9
  class AgentCommandGenerator {
10
- constructor(xiaomaFolderName = BMAD_FOLDER_NAME) {
10
+ constructor(xiaomaFolderName = XiaoMa_FOLDER_NAME) {
11
11
  this.templatePath = path.join(__dirname, '../templates/agent-command-template.md');
12
12
  this.xiaomaFolderName = xiaomaFolderName;
13
13
  }
14
14
 
15
15
  /**
16
16
  * Collect agent artifacts for IDE installation
17
- * @param {string} xiaomaDir - BMAD installation directory
17
+ * @param {string} xiaomaDir - XiaoMa installation directory
18
18
  * @param {Array} selectedModules - Modules to include
19
19
  * @returns {Object} Artifacts array with metadata
20
20
  */
@@ -19,8 +19,8 @@
19
19
  const TYPE_SEGMENTS = ['workflows', 'tasks', 'tools'];
20
20
  const AGENT_SEGMENT = 'agents';
21
21
 
22
- // BMAD installation folder name - centralized constant for all installers
23
- const BMAD_FOLDER_NAME = '_xiaoma';
22
+ // XiaoMa installation folder name - centralized constant for all installers
23
+ const XiaoMa_FOLDER_NAME = '_xiaoma';
24
24
 
25
25
  /**
26
26
  * Convert hierarchical path to flat dash-separated name (NEW STANDARD)
@@ -360,5 +360,5 @@ module.exports = {
360
360
 
361
361
  TYPE_SEGMENTS,
362
362
  AGENT_SEGMENT,
363
- BMAD_FOLDER_NAME,
363
+ XiaoMa_FOLDER_NAME,
364
364
  };
@@ -72,7 +72,7 @@ function getArtifactType(manifest, filename) {
72
72
  * @param {string} filename - Source filename to look up
73
73
  * @returns {boolean} install_to_xiaoma value (defaults to true)
74
74
  */
75
- function getInstallToBmad(manifest, filename) {
75
+ function getInstallToXiaoma(manifest, filename) {
76
76
  if (!manifest) return true;
77
77
  // Single-entry manifest applies to all files in the directory
78
78
  if (manifest.__single) return manifest.__single.install_to_xiaoma !== false;
@@ -87,4 +87,4 @@ function getInstallToBmad(manifest, filename) {
87
87
  return true;
88
88
  }
89
89
 
90
- module.exports = { loadSkillManifest, getCanonicalId, getArtifactType, getInstallToBmad };
90
+ module.exports = { loadSkillManifest, getCanonicalId, getArtifactType, getInstallToXiaoma };
@@ -1,26 +1,26 @@
1
1
  const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const csv = require('csv-parse/sync');
4
- const { toColonName, toColonPath, toDashPath, BMAD_FOLDER_NAME } = require('./path-utils');
4
+ const { toColonName, toColonPath, toDashPath, XiaoMa_FOLDER_NAME } = require('./path-utils');
5
5
 
6
6
  /**
7
7
  * Generates command files for standalone tasks and tools
8
8
  */
9
9
  class TaskToolCommandGenerator {
10
10
  /**
11
- * @param {string} xiaomaFolderName - Name of the BMAD folder for template rendering (default: '_xiaoma')
11
+ * @param {string} xiaomaFolderName - Name of the XiaoMa folder for template rendering (default: '_xiaoma')
12
12
  * Note: This parameter is accepted for API consistency with AgentCommandGenerator and
13
13
  * WorkflowCommandGenerator, but is not used for path stripping. The manifest always stores
14
14
  * filesystem paths with '_xiaoma/' prefix (the actual folder name), while xiaomaFolderName is
15
15
  * used for template placeholder rendering ({{xiaomaFolderName}}).
16
16
  */
17
- constructor(xiaomaFolderName = BMAD_FOLDER_NAME) {
17
+ constructor(xiaomaFolderName = XiaoMa_FOLDER_NAME) {
18
18
  this.xiaomaFolderName = xiaomaFolderName;
19
19
  }
20
20
 
21
21
  /**
22
22
  * Collect task and tool artifacts for IDE installation
23
- * @param {string} xiaomaDir - BMAD installation directory
23
+ * @param {string} xiaomaDir - XiaoMa installation directory
24
24
  * @returns {Promise<Object>} Artifacts array with metadata
25
25
  */
26
26
  async collectTaskToolArtifacts(xiaomaDir) {
@@ -29,7 +29,7 @@ class TaskToolCommandGenerator {
29
29
 
30
30
  // All tasks/tools in manifest are standalone (internal=true items are filtered during manifest generation)
31
31
  const artifacts = [];
32
- const xiaomaPrefix = `${BMAD_FOLDER_NAME}/`;
32
+ const xiaomaPrefix = `${XiaoMa_FOLDER_NAME}/`;
33
33
 
34
34
  // Collect task artifacts
35
35
  for (const task of tasks || []) {
@@ -95,7 +95,7 @@ class TaskToolCommandGenerator {
95
95
  /**
96
96
  * Generate task and tool commands from manifest CSVs
97
97
  * @param {string} projectDir - Project directory
98
- * @param {string} xiaomaDir - BMAD installation directory
98
+ * @param {string} xiaomaDir - XiaoMa installation directory
99
99
  * @param {string} baseCommandsDir - Optional base commands directory (defaults to .claude/commands/xiaoma)
100
100
  */
101
101
  async generateTaskToolCommands(projectDir, xiaomaDir, baseCommandsDir = null) {
@@ -164,9 +164,9 @@ class TaskToolCommandGenerator {
164
164
  if (xiaomaMatch) {
165
165
  // Found /_xiaoma/ or /xiaoma/ - use relative path after it
166
166
  itemPath = `{project-root}/${this.xiaomaFolderName}/${xiaomaMatch[1]}`;
167
- } else if (itemPath.startsWith(`${BMAD_FOLDER_NAME}/`)) {
167
+ } else if (itemPath.startsWith(`${XiaoMa_FOLDER_NAME}/`)) {
168
168
  // Relative path starting with _xiaoma/
169
- itemPath = `{project-root}/${this.xiaomaFolderName}/${itemPath.slice(BMAD_FOLDER_NAME.length + 1)}`;
169
+ itemPath = `{project-root}/${this.xiaomaFolderName}/${itemPath.slice(XiaoMa_FOLDER_NAME.length + 1)}`;
170
170
  } else if (itemPath.startsWith('xiaoma/')) {
171
171
  // Relative path starting with xiaoma/
172
172
  itemPath = `{project-root}/${this.xiaomaFolderName}/${itemPath.slice(5)}`;
@@ -227,7 +227,7 @@ Follow all instructions in the ${type} file exactly as written.
227
227
  * Creates flat files like: xiaoma_bmm_help.md
228
228
  *
229
229
  * @param {string} projectDir - Project directory
230
- * @param {string} xiaomaDir - BMAD installation directory
230
+ * @param {string} xiaomaDir - XiaoMa installation directory
231
231
  * @param {string} baseCommandsDir - Base commands directory for the IDE
232
232
  * @returns {Object} Generation results
233
233
  */
@@ -271,7 +271,7 @@ Follow all instructions in the ${type} file exactly as written.
271
271
  * Creates flat files like: xiaoma_bmm_help.md
272
272
  *
273
273
  * @param {string} projectDir - Project directory
274
- * @param {string} xiaomaDir - BMAD installation directory
274
+ * @param {string} xiaomaDir - XiaoMa installation directory
275
275
  * @param {string} baseCommandsDir - Base commands directory for the IDE
276
276
  * @returns {Object} Generation results
277
277
  */
@@ -284,7 +284,7 @@ Follow all instructions in the ${type} file exactly as written.
284
284
  // Generate command files for tasks
285
285
  for (const task of tasks || []) {
286
286
  const commandContent = this.generateCommandContent(task, 'task');
287
- // Use dash format: xiaoma-bmm-name.md
287
+ // Use dash format: xiaoma-xmc-name.md
288
288
  const flatName = toDashPath(`${task.module}/tasks/${task.name}.md`);
289
289
  const commandPath = path.join(baseCommandsDir, flatName);
290
290
  await fs.ensureDir(path.dirname(commandPath));
@@ -295,7 +295,7 @@ Follow all instructions in the ${type} file exactly as written.
295
295
  // Generate command files for tools
296
296
  for (const tool of tools || []) {
297
297
  const commandContent = this.generateCommandContent(tool, 'tool');
298
- // Use dash format: xiaoma-bmm-name.md
298
+ // Use dash format: xiaoma-xmc-name.md
299
299
  const flatName = toDashPath(`${tool.module}/tools/${tool.name}.md`);
300
300
  const commandPath = path.join(baseCommandsDir, flatName);
301
301
  await fs.ensureDir(path.dirname(commandPath));
@@ -338,7 +338,7 @@ Follow all instructions in the ${type} file exactly as written.
338
338
 
339
339
  /**
340
340
  * Write task/tool artifacts using dash format (NEW STANDARD)
341
- * Creates flat files like: xiaoma-bmm-help.md
341
+ * Creates flat files like: xiaoma-xmc-help.md
342
342
  *
343
343
  * Note: Tasks/tools do NOT have xiaoma-agent- prefix - only agents do.
344
344
  *
@@ -1,13 +1,13 @@
1
1
  const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const csv = require('csv-parse/sync');
4
- const { BMAD_FOLDER_NAME } = require('./path-utils');
4
+ const { XiaoMa_FOLDER_NAME } = require('./path-utils');
5
5
 
6
6
  /**
7
7
  * Generates command files for each workflow in the manifest
8
8
  */
9
9
  class WorkflowCommandGenerator {
10
- constructor(xiaomaFolderName = BMAD_FOLDER_NAME) {
10
+ constructor(xiaomaFolderName = XiaoMa_FOLDER_NAME) {
11
11
  this.xiaomaFolderName = xiaomaFolderName;
12
12
  }
13
13
 
@@ -3,7 +3,7 @@ const fs = require('fs-extra');
3
3
  const { loadSkillManifest, getCanonicalId } = require('./skill-manifest');
4
4
 
5
5
  /**
6
- * Helpers for gathering BMAD agents/tasks from the installed tree.
6
+ * Helpers for gathering XiaoMa agents/tasks from the installed tree.
7
7
  * Shared by installers that need Claude-style exports.
8
8
  */
9
9
  async function getAgentsFromXiaoma(xiaomaDir, selectedModules = []) {
@@ -6,7 +6,7 @@ description: '{{description}}'
6
6
  You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
7
 
8
8
  <agent-activation CRITICAL="TRUE">
9
- 1. LOAD the FULL agent file from {project-root}/_bmad/{{module}}/agents/{{path}}
9
+ 1. LOAD the FULL agent file from {project-root}/_xiaoma/{{module}}/agents/{{path}}
10
10
  2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
11
  3. Execute ALL activation steps exactly as written in the agent file
12
12
  4. Follow the agent's persona and menu system precisely
@@ -3,6 +3,6 @@ name: '{{name}}'
3
3
  description: '{{description}}'
4
4
  ---
5
5
 
6
- Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}}
6
+ Read the entire workflow file at: {project-root}/_xiaoma/{{workflow_path}}
7
7
 
8
8
  Follow all instructions in the workflow file exactly as written.
@@ -6,7 +6,7 @@ description: '{{description}}'
6
6
  You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
7
 
8
8
  <agent-activation CRITICAL="TRUE">
9
- 1. LOAD the FULL agent file from {project-root}/_bmad/{{path}}
9
+ 1. LOAD the FULL agent file from {project-root}/_xiaoma/{{path}}
10
10
  2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
11
  3. FOLLOW every step in the <activation> section precisely
12
12
  4. DISPLAY the welcome/greeting as instructed
@@ -5,6 +5,6 @@ description: '{{description}}'
5
5
 
6
6
  # {{name}}
7
7
 
8
- Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}}
8
+ Read the entire task file at: {project-root}/{{xiaomaFolderName}}/{{path}}
9
9
 
10
10
  Follow all instructions in the task file exactly as written.
@@ -5,6 +5,6 @@ description: '{{description}}'
5
5
 
6
6
  # {{name}}
7
7
 
8
- Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}}
8
+ Read the entire tool file at: {project-root}/{{xiaomaFolderName}}/{{path}}
9
9
 
10
10
  Follow all instructions in the tool file exactly as written.
@@ -3,4 +3,4 @@ name: '{{name}}'
3
3
  description: '{{description}}'
4
4
  ---
5
5
 
6
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL {project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly!
6
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL {project-root}/{{xiaomaFolderName}}/{{path}}, READ its entire contents and follow its directions exactly!
@@ -7,7 +7,7 @@ inclusion: manual
7
7
  You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
8
8
 
9
9
  <agent-activation CRITICAL="TRUE">
10
- 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]]
10
+ 1. LOAD the FULL agent file from #[[file:{{xiaomaFolderName}}/{{path}}]]
11
11
  2. READ its entire contents - this contains the complete agent persona, menu, and instructions
12
12
  3. FOLLOW every step in the <activation> section precisely
13
13
  4. DISPLAY the welcome/greeting as instructed
@@ -4,6 +4,6 @@ inclusion: manual
4
4
 
5
5
  # {{name}}
6
6
 
7
- Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]]
7
+ Read the entire task file at: #[[file:{{xiaomaFolderName}}/{{path}}]]
8
8
 
9
9
  Follow all instructions in the task file exactly as written.
@@ -4,6 +4,6 @@ inclusion: manual
4
4
 
5
5
  # {{name}}
6
6
 
7
- Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]]
7
+ Read the entire tool file at: #[[file:{{xiaomaFolderName}}/{{path}}]]
8
8
 
9
9
  Follow all instructions in the tool file exactly as written.
@@ -4,4 +4,4 @@ inclusion: manual
4
4
 
5
5
  # {{name}}
6
6
 
7
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly!
7
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{xiaomaFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly!
@@ -6,7 +6,7 @@ description: '{{description}}'
6
6
  You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
7
 
8
8
  <agent-activation CRITICAL="TRUE">
9
- 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}}
9
+ 1. LOAD the FULL agent file from {project-root}/{{xiaomaFolderName}}/{{path}}
10
10
  2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
11
  3. FOLLOW every step in the <activation> section precisely
12
12
  4. DISPLAY the welcome/greeting as instructed
@@ -2,12 +2,12 @@
2
2
  description: '{{description}}'
3
3
  ---
4
4
 
5
- Execute the BMAD '{{name}}' task.
5
+ Execute the XiaoMa '{{name}}' task.
6
6
 
7
7
  TASK INSTRUCTIONS:
8
8
 
9
- 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}}
9
+ 1. LOAD the task file from {project-root}/{{xiaomaFolderName}}/{{path}}
10
10
  2. READ its entire contents
11
11
  3. FOLLOW every instruction precisely as specified
12
12
 
13
- TASK FILE: {project-root}/{{bmadFolderName}}/{{path}}
13
+ TASK FILE: {project-root}/{{xiaomaFolderName}}/{{path}}
@@ -2,12 +2,12 @@
2
2
  description: '{{description}}'
3
3
  ---
4
4
 
5
- Execute the BMAD '{{name}}' tool.
5
+ Execute the XiaoMa '{{name}}' tool.
6
6
 
7
7
  TOOL INSTRUCTIONS:
8
8
 
9
- 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}}
9
+ 1. LOAD the tool file from {project-root}/{{xiaomaFolderName}}/{{path}}
10
10
  2. READ its entire contents
11
11
  3. FOLLOW every instruction precisely as specified
12
12
 
13
- TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}}
13
+ TOOL FILE: {project-root}/{{xiaomaFolderName}}/{{path}}
@@ -2,15 +2,15 @@
2
2
  description: '{{description}}'
3
3
  ---
4
4
 
5
- Execute the BMAD '{{name}}' workflow.
5
+ Execute the XiaoMa '{{name}}' workflow.
6
6
 
7
7
  CRITICAL: You must load and follow the workflow definition exactly.
8
8
 
9
9
  WORKFLOW INSTRUCTIONS:
10
10
 
11
- 1. LOAD the workflow file from {project-root}/{{bmadFolderName}}/{{path}}
11
+ 1. LOAD the workflow file from {project-root}/{{xiaomaFolderName}}/{{path}}
12
12
  2. READ its entire contents
13
13
  3. FOLLOW every step precisely as specified
14
14
  4. DO NOT skip or modify any steps
15
15
 
16
- WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}}
16
+ WORKFLOW FILE: {project-root}/{{xiaomaFolderName}}/{{path}}