@zeyue0329/xiaoma-cli 1.0.48 → 1.0.66

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 (747) hide show
  1. package/.playwright-cli/console-2026-05-13T06-36-26-793Z.log +2 -0
  2. package/.playwright-cli/page-2026-05-13T06-36-27-725Z.yml +1 -0
  3. package/CLAUDE.md +79 -251
  4. package/LICENSE +30 -0
  5. package/README.md +127 -2
  6. package/XiaoMa-CLI-2026H2-/350/277/255/344/273/243/350/247/204/345/210/222.pptx +0 -0
  7. package/demo/xiaoma-bug-circle-resolve/SKILL.md +6 -0
  8. package/demo/xiaoma-bug-circle-resolve/workflow.md +254 -0
  9. package/demo/xiaoma-bug-resolve/SKILL.md +6 -0
  10. package/demo/xiaoma-bug-resolve/workflow.md +269 -0
  11. package/demo/xiaoma-prd-saas-zh/README.md +57 -0
  12. package/demo/xiaoma-prd-saas-zh/domain-research.md +128 -0
  13. package/demo/xiaoma-prd-saas-zh/epics.md +303 -0
  14. package/demo/xiaoma-prd-saas-zh/market-research-2026-q1.md +183 -0
  15. package/demo/xiaoma-prd-saas-zh/prd-bad-examples.md +268 -0
  16. package/demo/xiaoma-prd-saas-zh/prd.md +409 -0
  17. package/demo/xiaoma-prd-saas-zh/product-brief.md +97 -0
  18. package/demo/xiaoma-prd-saas-zh/validation-report.md +279 -0
  19. package/docs/roadshow/01-/351/241/271/347/233/256/346/246/202/350/247/210/344/270/216/346/236/266/346/236/204.md +189 -0
  20. package/docs/roadshow/02-/346/231/272/350/203/275/344/275/223/347/263/273/347/273/237/350/257/246/350/247/243.md +464 -0
  21. package/docs/roadshow/03-/346/231/272/350/203/275/344/275/223/344/272/244/344/272/222/346/265/201/347/250/213/345/233/276.md +334 -0
  22. package/docs/roadshow/04-/345/267/245/344/275/234/346/265/201/346/211/247/350/241/214/350/257/246/350/247/243.md +1038 -0
  23. package/docs/roadshow/05-/346/212/200/346/234/257/345/256/236/347/216/260/344/270/216/345/210/233/346/226/260/344/272/256/347/202/271.md +205 -0
  24. package/docs/roadshow/06-/350/267/257/346/274/224/346/200/273/347/273/223/344/270/216/346/274/224/347/244/272/345/273/272/350/256/256.md +167 -0
  25. package/media/doc1_fig1.png +0 -0
  26. package/media/doc1_fig2.png +0 -0
  27. package/media/doc1_fig3.png +0 -0
  28. package/media/doc1_fig4.png +0 -0
  29. package/media/doc2_fig1.png +0 -0
  30. package/media/doc2_fig2.png +0 -0
  31. package/media/doc2_fig3.png +0 -0
  32. package/media/doc2_fig4.png +0 -0
  33. package/media/doc3_fig1.png +0 -0
  34. package/media/doc3_fig2.png +0 -0
  35. package/media/doc3_fig3.png +0 -0
  36. package/media/doc3_fig4.png +0 -0
  37. package/media/doc4_fig1.png +0 -0
  38. package/media/doc4_fig2.png +0 -0
  39. package/media/doc4_fig3.png +0 -0
  40. package/media/doc5_fig1.png +0 -0
  41. package/media/doc5_fig2.png +0 -0
  42. package/media/doc5_fig3.png +0 -0
  43. package/package.json +50 -60
  44. package/src/core/module-help.csv +11 -0
  45. package/src/core/module.yaml +25 -0
  46. package/src/core/skills/xiaoma-advanced-elicitation/SKILL.md +6 -0
  47. package/src/core/skills/xiaoma-advanced-elicitation/methods.csv +51 -0
  48. package/src/core/skills/xiaoma-advanced-elicitation/workflow.md +135 -0
  49. package/src/core/skills/xiaoma-advanced-elicitation/xiaoma-skill-manifest.yaml +1 -0
  50. package/src/core/skills/xiaoma-brainstorming/SKILL.md +6 -0
  51. package/src/core/skills/xiaoma-brainstorming/brain-methods.csv +62 -0
  52. package/src/core/skills/xiaoma-brainstorming/steps/step-01-session-setup.md +214 -0
  53. package/src/core/skills/xiaoma-brainstorming/steps/step-01b-continue.md +124 -0
  54. package/src/core/skills/xiaoma-brainstorming/steps/step-02a-user-selected.md +229 -0
  55. package/src/core/skills/xiaoma-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  56. package/src/core/skills/xiaoma-brainstorming/steps/step-02c-random-selection.md +211 -0
  57. package/src/core/skills/xiaoma-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  58. package/src/core/skills/xiaoma-brainstorming/steps/step-03-technique-execution.md +401 -0
  59. package/src/core/skills/xiaoma-brainstorming/steps/step-04-idea-organization.md +305 -0
  60. package/src/core/skills/xiaoma-brainstorming/template.md +15 -0
  61. package/src/core/skills/xiaoma-brainstorming/workflow.md +53 -0
  62. package/src/core/skills/xiaoma-brainstorming/xiaoma-skill-manifest.yaml +1 -0
  63. package/src/core/skills/xiaoma-distillator/SKILL.md +178 -0
  64. package/src/core/skills/xiaoma-distillator/agents/distillate-compressor.md +116 -0
  65. package/src/core/skills/xiaoma-distillator/agents/round-trip-reconstructor.md +68 -0
  66. package/src/core/skills/xiaoma-distillator/resources/compression-rules.md +51 -0
  67. package/src/core/skills/xiaoma-distillator/resources/distillate-format-reference.md +227 -0
  68. package/src/core/skills/xiaoma-distillator/resources/splitting-strategy.md +78 -0
  69. package/src/core/skills/xiaoma-distillator/scripts/analyze_sources.py +300 -0
  70. package/src/core/skills/xiaoma-distillator/scripts/tests/test_analyze_sources.py +204 -0
  71. package/src/core/skills/xiaoma-distillator/xiaoma-skill-manifest.yaml +15 -0
  72. package/src/core/skills/xiaoma-editorial-review-prose/SKILL.md +6 -0
  73. package/src/core/skills/xiaoma-editorial-review-prose/workflow.md +81 -0
  74. package/src/core/skills/xiaoma-editorial-review-prose/xiaoma-skill-manifest.yaml +1 -0
  75. package/src/core/skills/xiaoma-editorial-review-structure/SKILL.md +6 -0
  76. package/src/core/skills/xiaoma-editorial-review-structure/workflow.md +174 -0
  77. package/src/core/skills/xiaoma-editorial-review-structure/xiaoma-skill-manifest.yaml +1 -0
  78. package/src/core/skills/xiaoma-help/SKILL.md +6 -0
  79. package/src/core/skills/xiaoma-help/workflow.md +88 -0
  80. package/src/core/skills/xiaoma-help/xiaoma-skill-manifest.yaml +1 -0
  81. package/src/core/skills/xiaoma-index-docs/SKILL.md +6 -0
  82. package/src/core/skills/xiaoma-index-docs/workflow.md +61 -0
  83. package/src/core/skills/xiaoma-index-docs/xiaoma-skill-manifest.yaml +1 -0
  84. package/src/core/skills/xiaoma-party-mode/SKILL.md +6 -0
  85. package/src/core/skills/xiaoma-party-mode/steps/step-01-agent-loading.md +138 -0
  86. package/src/core/skills/xiaoma-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  87. package/src/core/skills/xiaoma-party-mode/steps/step-03-graceful-exit.md +167 -0
  88. package/src/core/skills/xiaoma-party-mode/workflow.md +190 -0
  89. package/src/core/skills/xiaoma-party-mode/xiaoma-skill-manifest.yaml +1 -0
  90. package/src/core/skills/xiaoma-review-adversarial-general/SKILL.md +6 -0
  91. package/src/core/skills/xiaoma-review-adversarial-general/workflow.md +32 -0
  92. package/src/core/skills/xiaoma-review-adversarial-general/xiaoma-skill-manifest.yaml +1 -0
  93. package/src/core/skills/xiaoma-review-edge-case-hunter/SKILL.md +6 -0
  94. package/src/core/skills/xiaoma-review-edge-case-hunter/workflow.md +62 -0
  95. package/src/core/skills/xiaoma-review-edge-case-hunter/xiaoma-skill-manifest.yaml +1 -0
  96. package/src/core/skills/xiaoma-shard-doc/SKILL.md +6 -0
  97. package/src/core/skills/xiaoma-shard-doc/workflow.md +100 -0
  98. package/src/core/skills/xiaoma-shard-doc/xiaoma-skill-manifest.yaml +1 -0
  99. package/src/core/tasks/xiaoma-create-prd/SKILL.md +6 -0
  100. package/src/core/tasks/xiaoma-create-prd/data/domain-complexity.csv +15 -0
  101. package/src/core/tasks/xiaoma-create-prd/data/prd-purpose.md +354 -0
  102. package/src/core/tasks/xiaoma-create-prd/data/project-types.csv +11 -0
  103. package/src/core/tasks/xiaoma-create-prd/data/upstream-input-contract.md +168 -0
  104. package/src/core/tasks/xiaoma-create-prd/steps-c/step-01-init.md +178 -0
  105. package/src/core/tasks/xiaoma-create-prd/steps-c/step-01b-continue.md +161 -0
  106. package/src/core/tasks/xiaoma-create-prd/steps-c/step-02-discovery.md +208 -0
  107. package/src/core/tasks/xiaoma-create-prd/steps-c/step-02b-vision.md +142 -0
  108. package/src/core/tasks/xiaoma-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  109. package/src/core/tasks/xiaoma-create-prd/steps-c/step-03-success.md +214 -0
  110. package/src/core/tasks/xiaoma-create-prd/steps-c/step-04-journeys.md +201 -0
  111. package/src/core/tasks/xiaoma-create-prd/steps-c/step-05-domain.md +194 -0
  112. package/src/core/tasks/xiaoma-create-prd/steps-c/step-06-innovation.md +211 -0
  113. package/src/core/tasks/xiaoma-create-prd/steps-c/step-07-project-type.md +222 -0
  114. package/src/core/tasks/xiaoma-create-prd/steps-c/step-08-scoping.md +216 -0
  115. package/src/core/tasks/xiaoma-create-prd/steps-c/step-09-functional.md +219 -0
  116. package/src/core/tasks/xiaoma-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  117. package/src/core/tasks/xiaoma-create-prd/steps-c/step-11-polish.md +221 -0
  118. package/src/core/tasks/xiaoma-create-prd/steps-c/step-12-complete.md +115 -0
  119. package/src/core/tasks/xiaoma-create-prd/templates/prd-skeleton-reference.md +428 -0
  120. package/src/core/tasks/xiaoma-create-prd/templates/prd-template.md +108 -0
  121. package/src/core/tasks/xiaoma-create-prd/workflow.md +62 -0
  122. package/src/core/tasks/xiaoma-create-prd/xiaoma-skill-manifest.yaml +1 -0
  123. package/src/utility/agent-components/activation-rules.txt +6 -0
  124. package/src/utility/agent-components/activation-steps.txt +14 -0
  125. package/src/utility/agent-components/agent-command-header.md +1 -0
  126. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  127. package/src/utility/agent-components/handler-action.txt +4 -0
  128. package/src/utility/agent-components/handler-data.txt +5 -0
  129. package/src/utility/agent-components/handler-exec.txt +6 -0
  130. package/src/utility/agent-components/handler-multi.txt +13 -0
  131. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  132. package/src/utility/agent-components/menu-handlers.txt +6 -0
  133. package/src/xmc/agents/analyst.agent.yaml +47 -0
  134. package/src/xmc/agents/architect.agent.yaml +29 -0
  135. package/src/xmc/agents/dev.agent.yaml +38 -0
  136. package/src/xmc/agents/pm.agent.yaml +44 -0
  137. package/src/xmc/agents/qa.agent.yaml +58 -0
  138. package/src/xmc/agents/quick-flow-solo-dev.agent.yaml +36 -0
  139. package/src/xmc/agents/sm.agent.yaml +53 -0
  140. package/src/xmc/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  141. package/src/xmc/agents/tech-writer/tech-writer.agent.yaml +46 -0
  142. package/src/xmc/agents/tech-writer/xiaoma-skill-manifest.yaml +3 -0
  143. package/src/xmc/agents/ux-designer.agent.yaml +27 -0
  144. package/src/xmc/agents/xiaoma-skill-manifest.yaml +39 -0
  145. package/src/xmc/data/project-context-template.md +26 -0
  146. package/src/xmc/module-help.csv +32 -0
  147. package/src/xmc/module.yaml +50 -0
  148. package/src/xmc/teams/default-party.csv +20 -0
  149. package/src/xmc/teams/team-fullstack.yaml +12 -0
  150. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/SKILL.md +6 -0
  151. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/checklist.md +28 -0
  152. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-01-init-and-validate.md +102 -0
  153. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-02-requirements-analysis.md +146 -0
  154. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-03-architecture-analysis.md +141 -0
  155. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-04-create-prd.md +101 -0
  156. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-05-validate-prd.md +159 -0
  157. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-06-create-epics.md +104 -0
  158. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-07-create-architecture.md +107 -0
  159. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-08-finalize.md +124 -0
  160. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/workflow.md +107 -0
  161. package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/xiaoma-skill-manifest.yaml +3 -0
  162. package/src/xmc/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  163. package/src/xmc/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  164. package/src/xmc/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  165. package/src/xmc/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  166. package/src/xmc/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  167. package/src/xmc/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
  168. package/src/xmc/workflows/1-analysis/research/research.template.md +29 -0
  169. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/SKILL.md +6 -0
  170. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-01-init.md +137 -0
  171. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  172. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  173. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  174. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  175. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  176. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/research.template.md +29 -0
  177. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/workflow.md +49 -0
  178. package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/xiaoma-skill-manifest.yaml +1 -0
  179. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/SKILL.md +6 -0
  180. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/research.template.md +29 -0
  181. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-01-init.md +184 -0
  182. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-02-customer-behavior.md +239 -0
  183. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-03-customer-pain-points.md +251 -0
  184. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-04-customer-decisions.md +261 -0
  185. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-05-competitive-analysis.md +173 -0
  186. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-06-research-completion.md +478 -0
  187. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/workflow.md +49 -0
  188. package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/xiaoma-skill-manifest.yaml +1 -0
  189. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/SKILL.md +6 -0
  190. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/research.template.md +29 -0
  191. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-01-init.md +137 -0
  192. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  193. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  194. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  195. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  196. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  197. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/workflow.md +50 -0
  198. package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/xiaoma-skill-manifest.yaml +1 -0
  199. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/SKILL.md +6 -0
  200. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/product-brief.template.md +10 -0
  201. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-01-init.md +170 -0
  202. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-01b-continue.md +158 -0
  203. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-02-vision.md +193 -0
  204. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-03-users.md +196 -0
  205. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-04-metrics.md +199 -0
  206. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-05-scope.md +213 -0
  207. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/steps/step-06-complete.md +159 -0
  208. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/workflow.md +55 -0
  209. package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/xiaoma-skill-manifest.yaml +1 -0
  210. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/SKILL.md +88 -0
  211. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/artifact-analyzer.md +60 -0
  212. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/opportunity-reviewer.md +44 -0
  213. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/skeptic-reviewer.md +44 -0
  214. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/web-researcher.md +49 -0
  215. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/contextual-discovery.md +57 -0
  216. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/draft-and-review.md +86 -0
  217. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/finalize.md +75 -0
  218. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/guided-elicitation.md +70 -0
  219. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/resources/brief-template.md +60 -0
  220. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/xiaoma-manifest.json +17 -0
  221. package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/xiaoma-skill-manifest.yaml +1 -0
  222. package/src/xmc/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
  223. package/src/xmc/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  224. package/src/xmc/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  225. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +224 -0
  226. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  227. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  228. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  229. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  230. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  231. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  232. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  233. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  234. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  235. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  236. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  237. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  238. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +232 -0
  239. package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +65 -0
  240. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/SKILL.md +6 -0
  241. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-01-init.md +135 -0
  242. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-01b-continue.md +127 -0
  243. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-02-discovery.md +190 -0
  244. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-03-core-experience.md +217 -0
  245. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-04-emotional-response.md +220 -0
  246. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-05-inspiration.md +235 -0
  247. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-06-design-system.md +253 -0
  248. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-07-defining-experience.md +255 -0
  249. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  250. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-09-design-directions.md +225 -0
  251. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-10-user-journeys.md +242 -0
  252. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-11-component-strategy.md +249 -0
  253. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  254. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  255. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/steps/step-14-complete.md +171 -0
  256. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/ux-design-template.md +13 -0
  257. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/workflow.md +36 -0
  258. package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/xiaoma-skill-manifest.yaml +1 -0
  259. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/SKILL.md +6 -0
  260. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  261. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  262. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-02-review.md +245 -0
  263. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-03-edit.md +250 -0
  264. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/steps-e/step-e-04-complete.md +165 -0
  265. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/workflow.md +63 -0
  266. package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/xiaoma-skill-manifest.yaml +1 -0
  267. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/SKILL.md +6 -0
  268. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/domain-complexity.csv +15 -0
  269. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/prd-purpose.md +197 -0
  270. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/prd-quality-rubric.csv +14 -0
  271. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/project-types.csv +11 -0
  272. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  273. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  274. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  275. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  276. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  277. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  278. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  279. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  280. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  281. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  282. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  283. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  284. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  285. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  286. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/workflow.md +62 -0
  287. package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/xiaoma-skill-manifest.yaml +1 -0
  288. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/SKILL.md +6 -0
  289. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  290. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  291. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  292. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  293. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  294. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  295. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  296. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/workflow.md +49 -0
  297. package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/xiaoma-skill-manifest.yaml +1 -0
  298. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/SKILL.md +6 -0
  299. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/architecture-decision-template.md +12 -0
  300. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/data/domain-complexity.csv +13 -0
  301. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/data/project-types.csv +7 -0
  302. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-01-init.md +153 -0
  303. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-01b-continue.md +173 -0
  304. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-02-context.md +224 -0
  305. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-03-starter.md +329 -0
  306. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-04-decisions.md +318 -0
  307. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-05-patterns.md +359 -0
  308. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-06-structure.md +379 -0
  309. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-07-validation.md +359 -0
  310. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/steps/step-08-complete.md +76 -0
  311. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/workflow.md +38 -0
  312. package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/xiaoma-skill-manifest.yaml +1 -0
  313. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/SKILL.md +6 -0
  314. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  315. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  316. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  317. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  318. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/templates/epics-template.md +61 -0
  319. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/workflow.md +53 -0
  320. package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/xiaoma-skill-manifest.yaml +1 -0
  321. package/src/xmc/workflows/4-implementation/auto-story-pipeline/SKILL.md +6 -0
  322. package/src/xmc/workflows/4-implementation/auto-story-pipeline/checklist.md +22 -0
  323. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-01-init-and-validate.md +173 -0
  324. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-02-create-story.md +102 -0
  325. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-03-validate-story.md +107 -0
  326. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-04-develop-story.md +97 -0
  327. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-05-code-review.md +95 -0
  328. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-06-test-story.md +253 -0
  329. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-07-fix-and-retest.md +237 -0
  330. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-08-complete-story.md +114 -0
  331. package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-09-finalize.md +69 -0
  332. package/src/xmc/workflows/4-implementation/auto-story-pipeline/workflow.md +89 -0
  333. package/src/xmc/workflows/4-implementation/auto-story-pipeline/xiaoma-skill-manifest.yaml +3 -0
  334. package/src/xmc/workflows/4-implementation/auto-story-pipeline-batch/SKILL.md +6 -0
  335. package/src/xmc/workflows/4-implementation/auto-story-pipeline-batch/workflow.md +333 -0
  336. package/src/xmc/workflows/4-implementation/auto-story-pipeline-batch/xiaoma-skill-manifest.yaml +3 -0
  337. package/src/xmc/workflows/4-implementation/xiaoma-code-review/SKILL.md +6 -0
  338. package/src/xmc/workflows/4-implementation/xiaoma-code-review/checklist.md +23 -0
  339. package/src/xmc/workflows/4-implementation/xiaoma-code-review/discover-inputs.md +88 -0
  340. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-01-gather-context.md +61 -0
  341. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-02-review.md +41 -0
  342. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-03-triage.md +50 -0
  343. package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-04-present.md +38 -0
  344. package/src/xmc/workflows/4-implementation/xiaoma-code-review/workflow.md +54 -0
  345. package/src/xmc/workflows/4-implementation/xiaoma-code-review/xiaoma-skill-manifest.yaml +1 -0
  346. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/SKILL.md +6 -0
  347. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/checklist.md +288 -0
  348. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/workflow.md +267 -0
  349. package/src/xmc/workflows/4-implementation/xiaoma-correct-course/xiaoma-skill-manifest.yaml +1 -0
  350. package/src/xmc/workflows/4-implementation/xiaoma-create-story/SKILL.md +6 -0
  351. package/src/xmc/workflows/4-implementation/xiaoma-create-story/checklist.md +357 -0
  352. package/src/xmc/workflows/4-implementation/xiaoma-create-story/discover-inputs.md +88 -0
  353. package/src/xmc/workflows/4-implementation/xiaoma-create-story/template.md +49 -0
  354. package/src/xmc/workflows/4-implementation/xiaoma-create-story/workflow.md +380 -0
  355. package/src/xmc/workflows/4-implementation/xiaoma-create-story/xiaoma-skill-manifest.yaml +1 -0
  356. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/SKILL.md +6 -0
  357. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/checklist.md +80 -0
  358. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/workflow.md +450 -0
  359. package/src/xmc/workflows/4-implementation/xiaoma-dev-story/xiaoma-skill-manifest.yaml +1 -0
  360. package/src/xmc/workflows/4-implementation/xiaoma-retrospective/SKILL.md +6 -0
  361. package/src/xmc/workflows/4-implementation/xiaoma-retrospective/workflow.md +1479 -0
  362. package/src/xmc/workflows/4-implementation/xiaoma-retrospective/xiaoma-skill-manifest.yaml +1 -0
  363. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/SKILL.md +6 -0
  364. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/checklist.md +33 -0
  365. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/sprint-status-template.yaml +56 -0
  366. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/workflow.md +263 -0
  367. package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/xiaoma-skill-manifest.yaml +1 -0
  368. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/SKILL.md +6 -0
  369. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/workflow.md +261 -0
  370. package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/xiaoma-skill-manifest.yaml +1 -0
  371. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/SKILL.md +6 -0
  372. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/checklist.md +37 -0
  373. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/steps/step-01-init-and-validate.md +152 -0
  374. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/steps/step-02-run-requirements-pipeline.md +120 -0
  375. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/steps/step-03-bridge-sprint-planning.md +119 -0
  376. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/steps/step-04-run-story-pipeline.md +114 -0
  377. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/steps/step-05-finalize.md +194 -0
  378. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/workflow.md +108 -0
  379. package/src/xmc/workflows/5-full-pipeline/auto-full-pipeline/xiaoma-skill-manifest.yaml +3 -0
  380. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/SKILL.md +6 -0
  381. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/checklist.md +43 -0
  382. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/steps/step-01-init-and-validate.md +155 -0
  383. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/steps/step-02-create-epics.md +156 -0
  384. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/steps/step-03-bridge-sprint-planning.md +143 -0
  385. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/steps/step-04-batch-create-stories.md +309 -0
  386. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/steps/step-05-finalize.md +311 -0
  387. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/workflow.md +105 -0
  388. package/src/xmc/workflows/5-full-pipeline/auto-prd-to-stories/xiaoma-skill-manifest.yaml +3 -0
  389. package/src/xmc/workflows/xiaoma-document-project/SKILL.md +6 -0
  390. package/src/xmc/workflows/xiaoma-document-project/checklist.md +245 -0
  391. package/src/xmc/workflows/xiaoma-document-project/documentation-requirements.csv +12 -0
  392. package/src/xmc/workflows/xiaoma-document-project/instructions.md +128 -0
  393. package/src/xmc/workflows/xiaoma-document-project/templates/deep-dive-template.md +345 -0
  394. package/src/xmc/workflows/xiaoma-document-project/templates/index-template.md +169 -0
  395. package/src/xmc/workflows/xiaoma-document-project/templates/project-overview-template.md +103 -0
  396. package/src/xmc/workflows/xiaoma-document-project/templates/project-scan-report-schema.json +160 -0
  397. package/src/xmc/workflows/xiaoma-document-project/templates/source-tree-template.md +135 -0
  398. package/src/xmc/workflows/xiaoma-document-project/workflow.md +27 -0
  399. package/src/xmc/workflows/xiaoma-document-project/workflows/deep-dive-instructions.md +299 -0
  400. package/src/xmc/workflows/xiaoma-document-project/workflows/deep-dive-workflow.md +34 -0
  401. package/src/xmc/workflows/xiaoma-document-project/workflows/full-scan-instructions.md +1107 -0
  402. package/src/xmc/workflows/xiaoma-document-project/workflows/full-scan-workflow.md +34 -0
  403. package/src/xmc/workflows/xiaoma-document-project/xiaoma-skill-manifest.yaml +1 -0
  404. package/src/xmc/workflows/xiaoma-generate-project-context/SKILL.md +6 -0
  405. package/src/xmc/workflows/xiaoma-generate-project-context/project-context-template.md +21 -0
  406. package/src/xmc/workflows/xiaoma-generate-project-context/steps/step-01-discover.md +186 -0
  407. package/src/xmc/workflows/xiaoma-generate-project-context/steps/step-02-generate.md +321 -0
  408. package/src/xmc/workflows/xiaoma-generate-project-context/steps/step-03-complete.md +278 -0
  409. package/src/xmc/workflows/xiaoma-generate-project-context/workflow.md +43 -0
  410. package/src/xmc/workflows/xiaoma-generate-project-context/xiaoma-skill-manifest.yaml +1 -0
  411. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/SKILL.md +6 -0
  412. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/checklist.md +33 -0
  413. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/workflow.md +136 -0
  414. package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/xiaoma-skill-manifest.yaml +1 -0
  415. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/SKILL.md +6 -0
  416. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-01-mode-detection.md +169 -0
  417. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-02-context-gathering.md +114 -0
  418. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-03-execute.md +107 -0
  419. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-04-self-check.md +107 -0
  420. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-05-adversarial-review.md +94 -0
  421. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/steps/step-06-resolve-findings.md +144 -0
  422. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/workflow.md +38 -0
  423. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/xiaoma-skill-manifest.yaml +1 -0
  424. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md +6 -0
  425. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-01-clarify-and-route.md +51 -0
  426. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-02-plan.md +35 -0
  427. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-03-implement.md +33 -0
  428. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-04-review.md +50 -0
  429. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-05-present.md +17 -0
  430. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/tech-spec-template.md +90 -0
  431. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/workflow.md +79 -0
  432. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/xiaoma-skill-manifest.yaml +1 -0
  433. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/SKILL.md +6 -0
  434. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/steps/step-01-understand.md +185 -0
  435. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/steps/step-02-investigate.md +140 -0
  436. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/steps/step-03-generate.md +123 -0
  437. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/steps/step-04-review.md +195 -0
  438. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/tech-spec-template.md +74 -0
  439. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/workflow.md +73 -0
  440. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/xiaoma-skill-manifest.yaml +1 -0
  441. package/src/xpm/agents/patent-advisor.agent.yaml +30 -0
  442. package/src/xpm/module.yaml +26 -0
  443. package/src/xpm/skills/xiaoma-patent-mining/SKILL.md +6 -0
  444. package/src/xpm/skills/xiaoma-patent-mining/references/disclosure-template.md +84 -0
  445. package/src/xpm/skills/xiaoma-patent-mining/references/docx-format-spec.md +183 -0
  446. package/src/xpm/skills/xiaoma-patent-mining/references/mining-principles.md +168 -0
  447. package/src/xpm/skills/xiaoma-patent-mining/scripts/md2docx.js +777 -0
  448. package/src/xpm/skills/xiaoma-patent-mining/steps/step-01-project-analysis.md +65 -0
  449. package/src/xpm/skills/xiaoma-patent-mining/steps/step-02-patent-mining.md +87 -0
  450. package/src/xpm/skills/xiaoma-patent-mining/steps/step-03-disclosure-writing.md +110 -0
  451. package/src/xpm/skills/xiaoma-patent-mining/steps/step-04-ai-taste-removal.md +85 -0
  452. package/src/xpm/skills/xiaoma-patent-mining/steps/step-05-docx-generation.md +111 -0
  453. package/src/xpm/skills/xiaoma-patent-mining/workflow.md +94 -0
  454. package/src/xpm/skills/xiaoma-patent-mining/xiaoma-skill-manifest.yaml +1 -0
  455. package/tools/cli/README.md +60 -0
  456. package/tools/cli/commands/install.js +87 -0
  457. package/tools/cli/commands/status.js +65 -0
  458. package/tools/cli/commands/uninstall.js +167 -0
  459. package/tools/cli/external-official-modules.yaml +6 -0
  460. package/tools/cli/installers/install-messages.yaml +9 -0
  461. package/tools/cli/installers/lib/core/config-collector.js +1285 -0
  462. package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
  463. package/tools/cli/installers/lib/core/dependency-resolver.js +742 -0
  464. package/tools/cli/installers/lib/core/detector.js +223 -0
  465. package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
  466. package/tools/cli/installers/lib/core/installer.js +3216 -0
  467. package/tools/cli/installers/lib/core/manifest-generator.js +1374 -0
  468. package/tools/cli/installers/lib/core/manifest.js +1042 -0
  469. package/tools/cli/installers/lib/custom/handler.js +358 -0
  470. package/tools/cli/installers/lib/ide/_base-ide.js +673 -0
  471. package/tools/cli/installers/lib/ide/_config-driven.js +1058 -0
  472. package/tools/cli/installers/lib/ide/manager.js +304 -0
  473. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  474. package/tools/cli/installers/lib/ide/platform-codes.yaml +321 -0
  475. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +181 -0
  476. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  477. package/tools/cli/installers/lib/ide/shared/path-utils.js +364 -0
  478. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +90 -0
  479. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +368 -0
  480. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +179 -0
  481. package/tools/cli/installers/lib/ide/shared/xiaoma-artifacts.js +181 -0
  482. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  483. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  484. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  485. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
  486. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
  487. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  488. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  489. package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
  490. package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
  491. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  492. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  493. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
  494. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
  495. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
  496. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
  497. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
  498. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
  499. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
  500. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
  501. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
  502. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  503. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  504. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  505. package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
  506. package/tools/cli/installers/lib/message-loader.js +83 -0
  507. package/tools/cli/installers/lib/modules/external-manager.js +136 -0
  508. package/tools/cli/installers/lib/modules/manager.js +1387 -0
  509. package/tools/cli/lib/activation-builder.js +165 -0
  510. package/tools/cli/lib/agent/compiler.js +516 -0
  511. package/tools/cli/lib/agent/installer.js +680 -0
  512. package/tools/cli/lib/agent/template-engine.js +152 -0
  513. package/tools/cli/lib/agent-analyzer.js +97 -0
  514. package/tools/cli/lib/agent-party-generator.js +203 -0
  515. package/tools/cli/lib/cli-utils.js +182 -0
  516. package/tools/cli/lib/config.js +213 -0
  517. package/tools/cli/lib/file-ops.js +204 -0
  518. package/tools/cli/lib/platform-codes.js +116 -0
  519. package/tools/cli/lib/project-root.js +75 -0
  520. package/tools/cli/lib/prompts.js +809 -0
  521. package/tools/cli/lib/ui.js +1960 -0
  522. package/tools/cli/lib/xml-handler.js +177 -0
  523. package/tools/cli/lib/xml-to-markdown.js +82 -0
  524. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +39 -71
  525. package/tools/cli/lib/yaml-xml-builder.js +570 -0
  526. package/tools/cli/xiaoma-cli.js +106 -0
  527. package/tools/lib/xml-utils.js +13 -0
  528. package/tools/platform-codes.yaml +157 -0
  529. package/tools/schema/agent.js +489 -0
  530. package/tools/validate-svg-changes.sh +356 -0
  531. package/tools/xiaoma-npx-wrapper.js +18 -24
  532. package//344/270/223/345/210/251/344/272/244/345/272/225/344/271/246_1_/351/235/242/345/220/221AI/346/231/272/350/203/275/344/275/223/347/232/204/345/244/232/351/200/232/351/201/223/344/276/235/350/265/226_20260318.md +483 -0
  533. package//344/270/223/345/210/251/344/272/244/345/272/225/344/271/246_2_/345/237/272/344/272/216/351/205/215/347/275/256/351/251/261/345/212/250/347/232/204/350/267/250/345/271/263/345/217/260IDE/346/231/272/350/203/275_20260318.md +592 -0
  534. package//344/270/223/345/210/251/344/272/244/345/272/225/344/271/246_3_AI/346/231/272/350/203/275/344/275/223/345/243/260/346/230/216/345/274/217/345/256/232/344/271/211/347/232/204/347/274/226/350/257/221/346/265/201/346/260/264_20260318.md +624 -0
  535. package//344/270/223/345/210/251/344/272/244/345/272/225/344/271/246_4_/345/237/272/344/272/216/345/223/210/345/270/214/346/214/207/347/272/271/347/232/204/346/231/272/350/203/275/344/275/223/351/231/204/345/261/236/350/265/204/346/272/220/351/200/211_20260318.md +628 -0
  536. package//344/270/223/345/210/251/344/272/244/345/272/225/344/271/246_5_AI/346/231/272/350/203/275/344/275/223/350/247/246/345/217/221/346/214/207/344/273/244/347/232/204/345/244/215/345/220/210/346/240/274/345/274/217/346/240/241_20260318.md +652 -0
  537. package/.claude/agents/tech-translator.md +0 -124
  538. package/.claude/settings.local.json +0 -37
  539. package/.idea/XiaoMa-Cli.iml +0 -9
  540. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  541. package/.idea/misc.xml +0 -6
  542. package/.idea/modules.xml +0 -8
  543. package/.idea/prettier.xml +0 -6
  544. package/.idea/vcs.xml +0 -7
  545. package/.idea/workspace.xml +0 -114
  546. package/.xiaoma-core/.coordinator-state.json +0 -19
  547. package/JAVA-BACKEND-COMMANDS-REFERENCE.md +0 -300
  548. package/JAVA-BACKEND-ITERATION-GUIDE.md +0 -2116
  549. package/common/tasks/create-doc.md +0 -103
  550. package/common/tasks/execute-checklist.md +0 -88
  551. package/common/utils/bmad-doc-template.md +0 -327
  552. package/common/utils/workflow-management.md +0 -71
  553. package/dist/agents/analyst.txt +0 -6308
  554. package/dist/agents/architect.txt +0 -3911
  555. package/dist/agents/automation-orchestrator.txt +0 -396
  556. package/dist/agents/dev.txt +0 -576
  557. package/dist/agents/full-requirement-orchestrator.txt +0 -505
  558. package/dist/agents/pm.txt +0 -2224
  559. package/dist/agents/po.txt +0 -1358
  560. package/dist/agents/qa.txt +0 -2002
  561. package/dist/agents/sm.txt +0 -2061
  562. package/dist/agents/ux-expert.txt +0 -707
  563. package/dist/agents/workflow-executor.txt +0 -1029
  564. package/dist/agents/workflow-helper.txt +0 -93
  565. package/dist/agents/xiaoma-master.txt +0 -9008
  566. package/dist/agents/xiaoma-orchestrator.txt +0 -1523
  567. package/dist/teams/team-all.txt +0 -19525
  568. package/dist/teams/team-fullstack-with-database.txt +0 -21500
  569. package/dist/teams/team-fullstack.txt +0 -13831
  570. package/dist/teams/team-ide-minimal.txt +0 -6698
  571. package/dist/teams/team-no-ui.txt +0 -12379
  572. package/docs/GUIDING-PRINCIPLES.md +0 -91
  573. package/docs/architecture/workflow-coordinator-implementation.md +0 -1188
  574. package/docs/architecture-sharding-modification.md +0 -623
  575. package/docs/automated-requirements-analysis-outputs.md +0 -896
  576. package/docs/core-architecture.md +0 -219
  577. package/docs/enhanced-ide-development-workflow.md +0 -248
  578. package/docs/prd/workflow-coordinator-prd.md +0 -1214
  579. package/docs/user-guide.md +0 -530
  580. package/docs/versioning-and-releases.md +0 -155
  581. package/docs/versions.md +0 -48
  582. package/docs/working-in-the-brownfield.md +0 -597
  583. package/tools/api-server.js +0 -367
  584. package/tools/builders/web-builder.js +0 -830
  585. package/tools/bump-all-versions.js +0 -133
  586. package/tools/cli.js +0 -157
  587. package/tools/flattener/aggregate.js +0 -94
  588. package/tools/flattener/binary.js +0 -83
  589. package/tools/flattener/discovery.js +0 -79
  590. package/tools/flattener/files.js +0 -35
  591. package/tools/flattener/ignoreRules.js +0 -177
  592. package/tools/flattener/main.js +0 -673
  593. package/tools/flattener/projectRoot.js +0 -211
  594. package/tools/flattener/prompts.js +0 -46
  595. package/tools/flattener/stats.helpers.js +0 -424
  596. package/tools/flattener/stats.js +0 -80
  597. package/tools/flattener/test-matrix.js +0 -468
  598. package/tools/flattener/xml.js +0 -96
  599. package/tools/installer/README.md +0 -8
  600. package/tools/installer/bin/xiaoma.js +0 -477
  601. package/tools/installer/config/ide-agent-config.yaml +0 -58
  602. package/tools/installer/config/install.config.yaml +0 -164
  603. package/tools/installer/lib/config-loader.js +0 -286
  604. package/tools/installer/lib/file-manager.js +0 -446
  605. package/tools/installer/lib/ide-base-setup.js +0 -238
  606. package/tools/installer/lib/ide-setup.js +0 -2027
  607. package/tools/installer/lib/installer.js +0 -2333
  608. package/tools/installer/lib/memory-profiler.js +0 -235
  609. package/tools/installer/lib/module-manager.js +0 -116
  610. package/tools/installer/lib/resource-locator.js +0 -334
  611. package/tools/installer/package-lock.json +0 -715
  612. package/tools/installer/package.json +0 -44
  613. package/tools/lib/dependency-resolver.js +0 -186
  614. package/tools/lib/yaml-utils.js +0 -34
  615. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  616. package/tools/preview-release-notes.js +0 -74
  617. package/tools/setup-hooks.sh +0 -37
  618. package/tools/shared/bannerArt.js +0 -105
  619. package/tools/sync-installer-version.js +0 -41
  620. package/tools/sync-version.sh +0 -23
  621. package/tools/upgraders/v3-to-v4-upgrader.js +0 -753
  622. package/tools/version-bump.js +0 -100
  623. package/tools/workflow-coordinator/README.md +0 -38
  624. package/tools/workflow-coordinator/USAGE.md +0 -548
  625. package/tools/workflow-coordinator/package-lock.json +0 -4868
  626. package/tools/workflow-coordinator/package.json +0 -35
  627. package/tools/workflow-coordinator/src/api/server.js +0 -207
  628. package/tools/workflow-coordinator/src/controller/workflow-controller.js +0 -263
  629. package/tools/workflow-coordinator/src/index.js +0 -113
  630. package/tools/workflow-coordinator/src/parser/workflow-parser.js +0 -144
  631. package/tools/workflow-coordinator/src/utils/state-manager.js +0 -59
  632. package/tools/workflow-coordinator/src/utils/validator.js +0 -86
  633. package/tools/workflow-coordinator/test/integration-test.js +0 -266
  634. package/tools/workflow-coordinator/test/quick-test.js +0 -127
  635. package/xiaoma-core/agent-teams/team-all.yaml +0 -15
  636. package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +0 -27
  637. package/xiaoma-core/agent-teams/team-fullstack.yaml +0 -19
  638. package/xiaoma-core/agent-teams/team-ide-minimal.yaml +0 -11
  639. package/xiaoma-core/agent-teams/team-no-ui.yaml +0 -14
  640. package/xiaoma-core/agents/analyst.md +0 -91
  641. package/xiaoma-core/agents/architect.md +0 -85
  642. package/xiaoma-core/agents/automated-fix-validator.yaml +0 -579
  643. package/xiaoma-core/agents/automated-quality-validator.yaml +0 -549
  644. package/xiaoma-core/agents/automation-orchestrator.md +0 -353
  645. package/xiaoma-core/agents/dev.md +0 -79
  646. package/xiaoma-core/agents/enhanced-workflow-orchestrator.yaml +0 -304
  647. package/xiaoma-core/agents/full-requirement-orchestrator.md +0 -462
  648. package/xiaoma-core/agents/global-requirements-auditor.yaml +0 -520
  649. package/xiaoma-core/agents/intelligent-template-adapter.yaml +0 -389
  650. package/xiaoma-core/agents/issue-dispatcher.yaml +0 -627
  651. package/xiaoma-core/agents/master-execution-engine.yaml +0 -543
  652. package/xiaoma-core/agents/pm.md +0 -82
  653. package/xiaoma-core/agents/po.md +0 -77
  654. package/xiaoma-core/agents/qa.md +0 -88
  655. package/xiaoma-core/agents/requirements-coverage-auditor.yaml +0 -373
  656. package/xiaoma-core/agents/sm.md +0 -67
  657. package/xiaoma-core/agents/ux-expert.md +0 -67
  658. package/xiaoma-core/agents/workflow-executor.md +0 -1031
  659. package/xiaoma-core/agents/workflow-helper.md +0 -481
  660. package/xiaoma-core/agents/xiaoma-master.md +0 -108
  661. package/xiaoma-core/agents/xiaoma-orchestrator.md +0 -145
  662. package/xiaoma-core/checklists/architect-checklist.md +0 -440
  663. package/xiaoma-core/checklists/change-checklist.md +0 -184
  664. package/xiaoma-core/checklists/dev-completion-checklist.md +0 -324
  665. package/xiaoma-core/checklists/pm-checklist.md +0 -372
  666. package/xiaoma-core/checklists/po-master-checklist.md +0 -434
  667. package/xiaoma-core/checklists/po-story-validation-checklist.md +0 -219
  668. package/xiaoma-core/checklists/qa-approval-checklist.md +0 -393
  669. package/xiaoma-core/checklists/story-dod-checklist.md +0 -96
  670. package/xiaoma-core/checklists/story-draft-checklist.md +0 -155
  671. package/xiaoma-core/core-config.yaml +0 -23
  672. package/xiaoma-core/data/bmad-kb.md +0 -809
  673. package/xiaoma-core/data/brainstorming-techniques.md +0 -38
  674. package/xiaoma-core/data/elicitation-methods.md +0 -156
  675. package/xiaoma-core/data/technical-preferences.md +0 -5
  676. package/xiaoma-core/data/test-levels-framework.md +0 -148
  677. package/xiaoma-core/data/test-priorities-matrix.md +0 -174
  678. package/xiaoma-core/scripts/build-validation/pre-dev-validation.sh +0 -71
  679. package/xiaoma-core/scripts/build-validation/progressive-validation.sh +0 -88
  680. package/xiaoma-core/scripts/build-validation/quick-check.sh +0 -69
  681. package/xiaoma-core/tasks/advanced-elicitation.md +0 -119
  682. package/xiaoma-core/tasks/analyze-existing-database.md +0 -155
  683. package/xiaoma-core/tasks/apply-qa-fixes.md +0 -150
  684. package/xiaoma-core/tasks/automated-story-cycle.md +0 -370
  685. package/xiaoma-core/tasks/batch-story-generation.md +0 -354
  686. package/xiaoma-core/tasks/brownfield-create-epic.md +0 -162
  687. package/xiaoma-core/tasks/brownfield-create-story.md +0 -149
  688. package/xiaoma-core/tasks/correct-course.md +0 -72
  689. package/xiaoma-core/tasks/create-brownfield-story.md +0 -314
  690. package/xiaoma-core/tasks/create-database-design.md +0 -161
  691. package/xiaoma-core/tasks/create-deep-research-prompt.md +0 -280
  692. package/xiaoma-core/tasks/create-enhanced-story-with-database.md +0 -250
  693. package/xiaoma-core/tasks/create-next-story.md +0 -114
  694. package/xiaoma-core/tasks/document-project.md +0 -345
  695. package/xiaoma-core/tasks/facilitate-brainstorming-session.md +0 -138
  696. package/xiaoma-core/tasks/generate-ai-frontend-prompt.md +0 -53
  697. package/xiaoma-core/tasks/generate-database-ddl.md +0 -240
  698. package/xiaoma-core/tasks/generate-database-entities.md +0 -501
  699. package/xiaoma-core/tasks/generate-rag-questions.md +0 -312
  700. package/xiaoma-core/tasks/index-docs.md +0 -175
  701. package/xiaoma-core/tasks/kb-mode-interaction.md +0 -77
  702. package/xiaoma-core/tasks/nfr-assess.md +0 -345
  703. package/xiaoma-core/tasks/project-integration-testing.md +0 -477
  704. package/xiaoma-core/tasks/qa-gate.md +0 -163
  705. package/xiaoma-core/tasks/requirement-analysis-with-rag.md +0 -1318
  706. package/xiaoma-core/tasks/requirements-coverage-audit.md +0 -198
  707. package/xiaoma-core/tasks/review-story.md +0 -316
  708. package/xiaoma-core/tasks/risk-profile.md +0 -355
  709. package/xiaoma-core/tasks/serial-development-orchestration.md +0 -426
  710. package/xiaoma-core/tasks/shard-doc.md +0 -187
  711. package/xiaoma-core/tasks/test-design.md +0 -176
  712. package/xiaoma-core/tasks/trace-requirements.md +0 -266
  713. package/xiaoma-core/tasks/validate-next-story.md +0 -136
  714. package/xiaoma-core/templates/api-design-tmpl.yaml +0 -704
  715. package/xiaoma-core/templates/architecture-tmpl.yaml +0 -650
  716. package/xiaoma-core/templates/brainstorming-output-tmpl.yaml +0 -156
  717. package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  718. package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +0 -280
  719. package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +0 -336
  720. package/xiaoma-core/templates/database-design-tmpl.yaml +0 -266
  721. package/xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml +0 -428
  722. package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +0 -272
  723. package/xiaoma-core/templates/front-end-spec-tmpl.yaml +0 -354
  724. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +0 -925
  725. package/xiaoma-core/templates/global-qa-monitoring-tmpl.yaml +0 -443
  726. package/xiaoma-core/templates/market-research-tmpl.yaml +0 -252
  727. package/xiaoma-core/templates/maven-lombok-template.xml +0 -111
  728. package/xiaoma-core/templates/prd-tmpl.yaml +0 -202
  729. package/xiaoma-core/templates/project-brief-tmpl.yaml +0 -221
  730. package/xiaoma-core/templates/qa-gate-tmpl.yaml +0 -102
  731. package/xiaoma-core/templates/rag-knowledge-tmpl.yaml +0 -569
  732. package/xiaoma-core/templates/rag-questions-tmpl.yaml +0 -949
  733. package/xiaoma-core/templates/requirements-coverage-audit.yaml +0 -330
  734. package/xiaoma-core/templates/start-enhanced-workflow.yaml +0 -347
  735. package/xiaoma-core/templates/story-tmpl.yaml +0 -137
  736. package/xiaoma-core/workflows/automated-requirements-analysis.yaml +0 -2149
  737. package/xiaoma-core/workflows/automated-requirements-development.yaml +0 -739
  738. package/xiaoma-core/workflows/automated-story-development.yaml +0 -1264
  739. package/xiaoma-core/workflows/brownfield-fullstack.yaml +0 -298
  740. package/xiaoma-core/workflows/brownfield-service.yaml +0 -188
  741. package/xiaoma-core/workflows/brownfield-ui.yaml +0 -198
  742. package/xiaoma-core/workflows/enhanced-fullstack-with-database.yaml +0 -427
  743. package/xiaoma-core/workflows/enhanced-fullstack-with-qa-loop.yaml +0 -766
  744. package/xiaoma-core/workflows/full-requirement-automation.yaml +0 -1305
  745. package/xiaoma-core/workflows/greenfield-fullstack.yaml +0 -241
  746. package/xiaoma-core/workflows/greenfield-service.yaml +0 -207
  747. package/xiaoma-core/workflows/greenfield-ui.yaml +0 -236
@@ -1,830 +0,0 @@
1
- const fs = require("node:fs").promises;
2
- const path = require("node:path");
3
- const DependencyResolver = require("../lib/dependency-resolver");
4
- const yamlUtilities = require("../lib/yaml-utils");
5
-
6
- class WebBuilder {
7
- constructor(options = {}) {
8
- this.rootDir = options.rootDir || process.cwd();
9
- this.outputDirs = options.outputDirs || [path.join(this.rootDir, "dist")];
10
- this.resolver = new DependencyResolver(this.rootDir);
11
- this.templatePath = path.join(
12
- this.rootDir,
13
- "tools",
14
- "md-assets",
15
- "web-agent-startup-instructions.md",
16
- );
17
- }
18
-
19
- parseYaml(content) {
20
- const yaml = require("js-yaml");
21
- return yaml.load(content);
22
- }
23
-
24
- convertToWebPath(filePath, bundleRoot = "xiaoma-core") {
25
- // Convert absolute paths to web bundle paths with dot prefix
26
- // All resources get installed under the bundle root, so use that path
27
- const relativePath = path.relative(this.rootDir, filePath);
28
- const pathParts = relativePath.split(path.sep);
29
-
30
- let resourcePath;
31
- if (pathParts[0] === "expansion-packs") {
32
- // For expansion packs, remove 'expansion-packs/packname' and use the rest
33
- resourcePath = pathParts.slice(2).join("/");
34
- } else {
35
- // For xiaoma-core, common, etc., remove the first part
36
- resourcePath = pathParts.slice(1).join("/");
37
- }
38
-
39
- return `.${bundleRoot}/${resourcePath}`;
40
- }
41
-
42
- generateWebInstructions(bundleType, packName = null) {
43
- // Generate dynamic web instructions based on bundle type
44
- const rootExample = packName ? `.${packName}` : ".xiaoma-core";
45
- const examplePath = packName
46
- ? `.${packName}/folder/filename.md`
47
- : ".xiaoma-core/folder/filename.md";
48
- const personasExample = packName
49
- ? `.${packName}/personas/analyst.md`
50
- : ".xiaoma-core/personas/analyst.md";
51
- const tasksExample = packName
52
- ? `.${packName}/tasks/create-story.md`
53
- : ".xiaoma-core/tasks/create-story.md";
54
- const utilitiesExample = packName
55
- ? `.${packName}/utils/template-format.md`
56
- : ".xiaoma-core/utils/template-format.md";
57
- const tasksReference = packName
58
- ? `.${packName}/tasks/create-story.md`
59
- : ".xiaoma-core/tasks/create-story.md";
60
-
61
- return `# Web Agent Bundle Instructions
62
-
63
- You are now operating as a specialized AI agent from the XiaoMa-Cli framework. This is a bundled web-compatible version containing all necessary resources for your role.
64
-
65
- ## Important Instructions
66
-
67
- 1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
68
-
69
- 2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
70
-
71
- - \`==================== START: ${examplePath} ====================\`
72
- - \`==================== END: ${examplePath} ====================\`
73
-
74
- When you need to reference a resource mentioned in your instructions:
75
-
76
- - Look for the corresponding START/END tags
77
- - The format is always the full path with dot prefix (e.g., \`${personasExample}\`, \`${tasksExample}\`)
78
- - If a section is specified (e.g., \`{root}/tasks/create-story.md#section-name\`), navigate to that section within the file
79
-
80
- **Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
81
-
82
- \`\`\`yaml
83
- dependencies:
84
- utils:
85
- - template-format
86
- tasks:
87
- - create-story
88
- \`\`\`
89
-
90
- These references map directly to bundle sections:
91
-
92
- - \`utils: template-format\` → Look for \`==================== START: ${utilitiesExample} ====================\`
93
- - \`tasks: create-story\` → Look for \`==================== START: ${tasksReference} ====================\`
94
-
95
- 3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
96
-
97
- 4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the XiaoMa-Cli framework.
98
-
99
- ---
100
-
101
- `;
102
- }
103
-
104
- async cleanOutputDirs() {
105
- for (const dir of this.outputDirs) {
106
- try {
107
- await fs.rm(dir, { recursive: true, force: true });
108
- console.log(`Cleaned: ${path.relative(this.rootDir, dir)}`);
109
- } catch (error) {
110
- console.debug(`Failed to clean directory ${dir}:`, error.message);
111
- // Directory might not exist, that's fine
112
- }
113
- }
114
- }
115
-
116
- async buildAgents() {
117
- const agents = await this.resolver.listAgents();
118
-
119
- for (const agentId of agents) {
120
- console.log(` Building agent: ${agentId}`);
121
- const bundle = await this.buildAgentBundle(agentId);
122
-
123
- // Write to all output directories
124
- for (const outputDir of this.outputDirs) {
125
- const outputPath = path.join(outputDir, "agents");
126
- await fs.mkdir(outputPath, { recursive: true });
127
- const outputFile = path.join(outputPath, `${agentId}.txt`);
128
- await fs.writeFile(outputFile, bundle, "utf8");
129
- }
130
- }
131
-
132
- console.log(
133
- `Built ${agents.length} agent bundles in ${this.outputDirs.length} locations`,
134
- );
135
- }
136
-
137
- async buildTeams() {
138
- const teams = await this.resolver.listTeams();
139
-
140
- for (const teamId of teams) {
141
- console.log(` Building team: ${teamId}`);
142
- const bundle = await this.buildTeamBundle(teamId);
143
-
144
- // Write to all output directories
145
- for (const outputDir of this.outputDirs) {
146
- const outputPath = path.join(outputDir, "teams");
147
- await fs.mkdir(outputPath, { recursive: true });
148
- const outputFile = path.join(outputPath, `${teamId}.txt`);
149
- await fs.writeFile(outputFile, bundle, "utf8");
150
- }
151
- }
152
-
153
- console.log(
154
- `Built ${teams.length} team bundles in ${this.outputDirs.length} locations`,
155
- );
156
- }
157
-
158
- async buildAgentBundle(agentId) {
159
- const dependencies = await this.resolver.resolveAgentDependencies(agentId);
160
- const template = this.generateWebInstructions("agent");
161
-
162
- const sections = [template];
163
-
164
- // Add agent configuration
165
- const agentPath = this.convertToWebPath(
166
- dependencies.agent.path,
167
- "xiaoma-core",
168
- );
169
- sections.push(
170
- this.formatSection(agentPath, dependencies.agent.content, "xiaoma-core"),
171
- );
172
-
173
- // Add all dependencies
174
- for (const resource of dependencies.resources) {
175
- const resourcePath = this.convertToWebPath(resource.path, "xiaoma-core");
176
- sections.push(
177
- this.formatSection(resourcePath, resource.content, "xiaoma-core"),
178
- );
179
- }
180
-
181
- return sections.join("\n");
182
- }
183
-
184
- async buildTeamBundle(teamId) {
185
- const dependencies = await this.resolver.resolveTeamDependencies(teamId);
186
- const template = this.generateWebInstructions("team");
187
-
188
- const sections = [template];
189
-
190
- // Add team configuration
191
- const teamPath = this.convertToWebPath(
192
- dependencies.team.path,
193
- "xiaoma-core",
194
- );
195
- sections.push(
196
- this.formatSection(teamPath, dependencies.team.content, "xiaoma-core"),
197
- );
198
-
199
- // Add all agents
200
- for (const agent of dependencies.agents) {
201
- const agentPath = this.convertToWebPath(agent.path, "xiaoma-core");
202
- sections.push(
203
- this.formatSection(agentPath, agent.content, "xiaoma-core"),
204
- );
205
- }
206
-
207
- // Add all deduplicated resources
208
- for (const resource of dependencies.resources) {
209
- const resourcePath = this.convertToWebPath(resource.path, "xiaoma-core");
210
- sections.push(
211
- this.formatSection(resourcePath, resource.content, "xiaoma-core"),
212
- );
213
- }
214
-
215
- return sections.join("\n");
216
- }
217
-
218
- processAgentContent(content) {
219
- // First, replace content before YAML with the template
220
- const yamlContent = yamlUtilities.extractYamlFromAgent(content);
221
- if (!yamlContent) return content;
222
-
223
- const yamlMatch = content.match(/```ya?ml\n([\s\S]*?)\n```/);
224
- if (!yamlMatch) return content;
225
-
226
- const yamlStartIndex = content.indexOf(yamlMatch[0]);
227
- const yamlEndIndex = yamlStartIndex + yamlMatch[0].length;
228
-
229
- // Parse YAML and remove root and IDE-FILE-RESOLUTION properties
230
- try {
231
- const yaml = require("js-yaml");
232
- const parsed = yaml.load(yamlContent);
233
-
234
- // Remove the properties if they exist at root level
235
- delete parsed.root;
236
- delete parsed["IDE-FILE-RESOLUTION"];
237
- delete parsed["REQUEST-RESOLUTION"];
238
-
239
- // Also remove from activation-instructions if they exist
240
- if (
241
- parsed["activation-instructions"] &&
242
- Array.isArray(parsed["activation-instructions"])
243
- ) {
244
- parsed["activation-instructions"] = parsed[
245
- "activation-instructions"
246
- ].filter((instruction) => {
247
- return (
248
- typeof instruction === "string" &&
249
- !instruction.startsWith("IDE-FILE-RESOLUTION:") &&
250
- !instruction.startsWith("REQUEST-RESOLUTION:")
251
- );
252
- });
253
- }
254
-
255
- // Reconstruct the YAML
256
- const cleanedYaml = yaml.dump(parsed, { lineWidth: -1 });
257
-
258
- // Get the agent name from the YAML for the header
259
- const agentName = parsed.agent?.id || "agent";
260
-
261
- // Build the new content with just the agent header and YAML
262
- const newHeader = `# ${agentName}\n\nCRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:\n\n`;
263
- const afterYaml = content.slice(Math.max(0, yamlEndIndex));
264
-
265
- return newHeader + "```yaml\n" + cleanedYaml.trim() + "\n```" + afterYaml;
266
- } catch (error) {
267
- console.warn("Failed to process agent YAML:", error.message);
268
- // If parsing fails, return original content
269
- return content;
270
- }
271
- }
272
-
273
- formatSection(path, content, bundleRoot = "xiaoma-core") {
274
- const separator = "====================";
275
-
276
- // Process agent content if this is an agent file
277
- if (path.includes("/agents/")) {
278
- content = this.processAgentContent(content);
279
- }
280
-
281
- // Replace {root} references with the actual bundle root
282
- content = this.replaceRootReferences(content, bundleRoot);
283
-
284
- return [
285
- `${separator} START: ${path} ${separator}`,
286
- content.trim(),
287
- `${separator} END: ${path} ${separator}`,
288
- "",
289
- ].join("\n");
290
- }
291
-
292
- replaceRootReferences(content, bundleRoot) {
293
- // Replace {root} with the appropriate bundle root path
294
- return content.replaceAll("{root}", `.${bundleRoot}`);
295
- }
296
-
297
- async validate() {
298
- console.log("Validating agent configurations...");
299
- const agents = await this.resolver.listAgents();
300
- for (const agentId of agents) {
301
- try {
302
- await this.resolver.resolveAgentDependencies(agentId);
303
- console.log(` ✓ ${agentId}`);
304
- } catch (error) {
305
- console.log(` ✗ ${agentId}: ${error.message}`);
306
- throw error;
307
- }
308
- }
309
-
310
- console.log("\nValidating team configurations...");
311
- const teams = await this.resolver.listTeams();
312
- for (const teamId of teams) {
313
- try {
314
- await this.resolver.resolveTeamDependencies(teamId);
315
- console.log(` ✓ ${teamId}`);
316
- } catch (error) {
317
- console.log(` ✗ ${teamId}: ${error.message}`);
318
- throw error;
319
- }
320
- }
321
- }
322
-
323
- async buildAllExpansionPacks(options = {}) {
324
- const expansionPacks = await this.listExpansionPacks();
325
-
326
- for (const packName of expansionPacks) {
327
- console.log(` Building expansion pack: ${packName}`);
328
- await this.buildExpansionPack(packName, options);
329
- }
330
-
331
- console.log(`Built ${expansionPacks.length} expansion pack bundles`);
332
- }
333
-
334
- async buildExpansionPack(packName, options = {}) {
335
- const packDir = path.join(this.rootDir, "expansion-packs", packName);
336
- const outputDirectories = [
337
- path.join(this.rootDir, "dist", "expansion-packs", packName),
338
- ];
339
-
340
- // Clean output directories if requested
341
- if (options.clean !== false) {
342
- for (const outputDir of outputDirectories) {
343
- try {
344
- await fs.rm(outputDir, { recursive: true, force: true });
345
- } catch {
346
- // Directory might not exist, that's fine
347
- }
348
- }
349
- }
350
-
351
- // Build individual agents first
352
- const agentsDir = path.join(packDir, "agents");
353
- try {
354
- const agentFiles = await fs.readdir(agentsDir);
355
- const agentMarkdownFiles = agentFiles.filter((f) => f.endsWith(".md"));
356
-
357
- if (agentMarkdownFiles.length > 0) {
358
- console.log(` Building individual agents for ${packName}:`);
359
-
360
- for (const agentFile of agentMarkdownFiles) {
361
- const agentName = agentFile.replace(".md", "");
362
- console.log(` - ${agentName}`);
363
-
364
- // Build individual agent bundle
365
- const bundle = await this.buildExpansionAgentBundle(
366
- packName,
367
- packDir,
368
- agentName,
369
- );
370
-
371
- // Write to all output directories
372
- for (const outputDir of outputDirectories) {
373
- const agentsOutputDir = path.join(outputDir, "agents");
374
- await fs.mkdir(agentsOutputDir, { recursive: true });
375
- const outputFile = path.join(agentsOutputDir, `${agentName}.txt`);
376
- await fs.writeFile(outputFile, bundle, "utf8");
377
- }
378
- }
379
- }
380
- } catch {
381
- console.debug(` No agents directory found for ${packName}`);
382
- }
383
-
384
- // Build team bundle
385
- const agentTeamsDir = path.join(packDir, "agent-teams");
386
- try {
387
- const teamFiles = await fs.readdir(agentTeamsDir);
388
- const teamFile = teamFiles.find((f) => f.endsWith(".yaml"));
389
-
390
- if (teamFile) {
391
- console.log(` Building team bundle for ${packName}`);
392
- const teamConfigPath = path.join(agentTeamsDir, teamFile);
393
-
394
- // Build expansion pack as a team bundle
395
- const bundle = await this.buildExpansionTeamBundle(
396
- packName,
397
- packDir,
398
- teamConfigPath,
399
- );
400
-
401
- // Write to all output directories
402
- for (const outputDir of outputDirectories) {
403
- const teamsOutputDir = path.join(outputDir, "teams");
404
- await fs.mkdir(teamsOutputDir, { recursive: true });
405
- const outputFile = path.join(
406
- teamsOutputDir,
407
- teamFile.replace(".yaml", ".txt"),
408
- );
409
- await fs.writeFile(outputFile, bundle, "utf8");
410
- console.log(
411
- ` ✓ Created bundle: ${path.relative(this.rootDir, outputFile)}`,
412
- );
413
- }
414
- } else {
415
- console.warn(
416
- ` ⚠ No team configuration found in ${packName}/agent-teams/`,
417
- );
418
- }
419
- } catch {
420
- console.warn(` ⚠ No agent-teams directory found for ${packName}`);
421
- }
422
- }
423
-
424
- async buildExpansionAgentBundle(packName, packDir, agentName) {
425
- const template = this.generateWebInstructions("expansion-agent", packName);
426
- const sections = [template];
427
-
428
- // Add agent configuration
429
- const agentPath = path.join(packDir, "agents", `${agentName}.md`);
430
- const agentContent = await fs.readFile(agentPath, "utf8");
431
- const agentWebPath = this.convertToWebPath(agentPath, packName);
432
- sections.push(this.formatSection(agentWebPath, agentContent, packName));
433
-
434
- // Resolve and add agent dependencies
435
- const yamlContent = yamlUtilities.extractYamlFromAgent(agentContent);
436
- if (yamlContent) {
437
- try {
438
- const yaml = require("js-yaml");
439
- const agentConfig = yaml.load(yamlContent);
440
-
441
- if (agentConfig.dependencies) {
442
- // Add resources, first try expansion pack, then core
443
- for (const [resourceType, resources] of Object.entries(
444
- agentConfig.dependencies,
445
- )) {
446
- if (Array.isArray(resources)) {
447
- for (const resourceName of resources) {
448
- let found = false;
449
-
450
- // Try expansion pack first
451
- const resourcePath = path.join(
452
- packDir,
453
- resourceType,
454
- resourceName,
455
- );
456
- try {
457
- const resourceContent = await fs.readFile(
458
- resourcePath,
459
- "utf8",
460
- );
461
- const resourceWebPath = this.convertToWebPath(
462
- resourcePath,
463
- packName,
464
- );
465
- sections.push(
466
- this.formatSection(
467
- resourceWebPath,
468
- resourceContent,
469
- packName,
470
- ),
471
- );
472
- found = true;
473
- } catch {
474
- // Not in expansion pack, continue
475
- }
476
-
477
- // If not found in expansion pack, try core
478
- if (!found) {
479
- const corePath = path.join(
480
- this.rootDir,
481
- "xiaoma-core",
482
- resourceType,
483
- resourceName,
484
- );
485
- try {
486
- const coreContent = await fs.readFile(corePath, "utf8");
487
- const coreWebPath = this.convertToWebPath(
488
- corePath,
489
- packName,
490
- );
491
- sections.push(
492
- this.formatSection(coreWebPath, coreContent, packName),
493
- );
494
- found = true;
495
- } catch {
496
- // Not in core either, continue
497
- }
498
- }
499
-
500
- // If not found in core, try common folder
501
- if (!found) {
502
- const commonPath = path.join(
503
- this.rootDir,
504
- "common",
505
- resourceType,
506
- resourceName,
507
- );
508
- try {
509
- const commonContent = await fs.readFile(commonPath, "utf8");
510
- const commonWebPath = this.convertToWebPath(
511
- commonPath,
512
- packName,
513
- );
514
- sections.push(
515
- this.formatSection(
516
- commonWebPath,
517
- commonContent,
518
- packName,
519
- ),
520
- );
521
- found = true;
522
- } catch {
523
- // Not in common either, continue
524
- }
525
- }
526
-
527
- if (!found) {
528
- console.warn(
529
- ` ⚠ Dependency ${resourceType}#${resourceName} not found in expansion pack or core`,
530
- );
531
- }
532
- }
533
- }
534
- }
535
- }
536
- } catch (error) {
537
- console.debug(
538
- `Failed to parse agent YAML for ${agentName}:`,
539
- error.message,
540
- );
541
- }
542
- }
543
-
544
- return sections.join("\n");
545
- }
546
-
547
- async buildExpansionTeamBundle(packName, packDir, teamConfigPath) {
548
- const template = this.generateWebInstructions("expansion-team", packName);
549
-
550
- const sections = [template];
551
-
552
- // Add team configuration and parse to get agent list
553
- const teamContent = await fs.readFile(teamConfigPath, "utf8");
554
- const teamFileName = path.basename(teamConfigPath, ".yaml");
555
- const teamConfig = this.parseYaml(teamContent);
556
- const teamWebPath = this.convertToWebPath(teamConfigPath, packName);
557
- sections.push(this.formatSection(teamWebPath, teamContent, packName));
558
-
559
- // Get list of expansion pack agents
560
- const expansionAgents = new Set();
561
- const agentsDir = path.join(packDir, "agents");
562
- try {
563
- const agentFiles = await fs.readdir(agentsDir);
564
- for (const agentFile of agentFiles.filter((f) => f.endsWith(".md"))) {
565
- const agentName = agentFile.replace(".md", "");
566
- expansionAgents.add(agentName);
567
- }
568
- } catch {
569
- console.warn(` ⚠ No agents directory found in ${packName}`);
570
- }
571
-
572
- // Build a map of all available expansion pack resources for override checking
573
- const expansionResources = new Map();
574
- const resourceDirectories = [
575
- "templates",
576
- "tasks",
577
- "checklists",
578
- "workflows",
579
- "data",
580
- ];
581
- for (const resourceDir of resourceDirectories) {
582
- const resourcePath = path.join(packDir, resourceDir);
583
- try {
584
- const resourceFiles = await fs.readdir(resourcePath);
585
- for (const resourceFile of resourceFiles.filter(
586
- (f) => f.endsWith(".md") || f.endsWith(".yaml"),
587
- )) {
588
- expansionResources.set(`${resourceDir}#${resourceFile}`, true);
589
- }
590
- } catch {
591
- // Directory might not exist, that's fine
592
- }
593
- }
594
-
595
- // Process all agents listed in team configuration
596
- const agentsToProcess = teamConfig.agents || [];
597
-
598
- // Ensure xiaoma-orchestrator is always included for teams
599
- if (!agentsToProcess.includes("xiaoma-orchestrator")) {
600
- console.warn(
601
- ` ⚠ Team ${teamFileName} missing xiaoma-orchestrator, adding automatically`,
602
- );
603
- agentsToProcess.unshift("xiaoma-orchestrator");
604
- }
605
-
606
- // Track all dependencies from all agents (deduplicated)
607
- const allDependencies = new Map();
608
-
609
- for (const agentId of agentsToProcess) {
610
- if (expansionAgents.has(agentId)) {
611
- // Use expansion pack version (override)
612
- const agentPath = path.join(agentsDir, `${agentId}.md`);
613
- const agentContent = await fs.readFile(agentPath, "utf8");
614
- const expansionAgentWebPath = this.convertToWebPath(
615
- agentPath,
616
- packName,
617
- );
618
- sections.push(
619
- this.formatSection(expansionAgentWebPath, agentContent, packName),
620
- );
621
-
622
- // Parse and collect dependencies from expansion agent
623
- const agentYaml = agentContent.match(/```yaml\n([\s\S]*?)\n```/);
624
- if (agentYaml) {
625
- try {
626
- const agentConfig = this.parseYaml(agentYaml[1]);
627
- if (agentConfig.dependencies) {
628
- for (const [resourceType, resources] of Object.entries(
629
- agentConfig.dependencies,
630
- )) {
631
- if (Array.isArray(resources)) {
632
- for (const resourceName of resources) {
633
- const key = `${resourceType}#${resourceName}`;
634
- if (!allDependencies.has(key)) {
635
- allDependencies.set(key, {
636
- type: resourceType,
637
- name: resourceName,
638
- });
639
- }
640
- }
641
- }
642
- }
643
- }
644
- } catch (error) {
645
- console.debug(
646
- `Failed to parse agent YAML for ${agentId}:`,
647
- error.message,
648
- );
649
- }
650
- }
651
- } else {
652
- // Use core BMad version
653
- try {
654
- const coreAgentPath = path.join(
655
- this.rootDir,
656
- "xiaoma-core",
657
- "agents",
658
- `${agentId}.md`,
659
- );
660
- const coreAgentContent = await fs.readFile(coreAgentPath, "utf8");
661
- const coreAgentWebPath = this.convertToWebPath(
662
- coreAgentPath,
663
- packName,
664
- );
665
- sections.push(
666
- this.formatSection(coreAgentWebPath, coreAgentContent, packName),
667
- );
668
-
669
- // Parse and collect dependencies from core agent
670
- const yamlContent = yamlUtilities.extractYamlFromAgent(
671
- coreAgentContent,
672
- true,
673
- );
674
- if (yamlContent) {
675
- try {
676
- const agentConfig = this.parseYaml(yamlContent);
677
- if (agentConfig.dependencies) {
678
- for (const [resourceType, resources] of Object.entries(
679
- agentConfig.dependencies,
680
- )) {
681
- if (Array.isArray(resources)) {
682
- for (const resourceName of resources) {
683
- const key = `${resourceType}#${resourceName}`;
684
- if (!allDependencies.has(key)) {
685
- allDependencies.set(key, {
686
- type: resourceType,
687
- name: resourceName,
688
- });
689
- }
690
- }
691
- }
692
- }
693
- }
694
- } catch (error) {
695
- console.debug(
696
- `Failed to parse agent YAML for ${agentId}:`,
697
- error.message,
698
- );
699
- }
700
- }
701
- } catch {
702
- console.warn(
703
- ` ⚠ Agent ${agentId} not found in core or expansion pack`,
704
- );
705
- }
706
- }
707
- }
708
-
709
- // Add all collected dependencies from agents
710
- // Always prefer expansion pack versions if they exist
711
- for (const [key, dep] of allDependencies) {
712
- let found = false;
713
-
714
- // Always check expansion pack first, even if the dependency came from a core agent
715
- if (expansionResources.has(key)) {
716
- // We know it exists in expansion pack, find and load it
717
- const expansionPath = path.join(packDir, dep.type, dep.name);
718
- try {
719
- const content = await fs.readFile(expansionPath, "utf8");
720
- const expansionWebPath = this.convertToWebPath(
721
- expansionPath,
722
- packName,
723
- );
724
- sections.push(
725
- this.formatSection(expansionWebPath, content, packName),
726
- );
727
- console.log(` ✓ Using expansion override for ${key}`);
728
- found = true;
729
- } catch {
730
- // Try next extension
731
- }
732
- }
733
-
734
- // If not found in expansion pack (or doesn't exist there), try core
735
- if (!found) {
736
- const corePath = path.join(
737
- this.rootDir,
738
- "xiaoma-core",
739
- dep.type,
740
- dep.name,
741
- );
742
- try {
743
- const content = await fs.readFile(corePath, "utf8");
744
- const coreWebPath = this.convertToWebPath(corePath, packName);
745
- sections.push(this.formatSection(coreWebPath, content, packName));
746
- found = true;
747
- } catch {
748
- // Not in core either, continue
749
- }
750
- }
751
-
752
- // If not found in core, try common folder
753
- if (!found) {
754
- const commonPath = path.join(
755
- this.rootDir,
756
- "common",
757
- dep.type,
758
- dep.name,
759
- );
760
- try {
761
- const content = await fs.readFile(commonPath, "utf8");
762
- const commonWebPath = this.convertToWebPath(commonPath, packName);
763
- sections.push(this.formatSection(commonWebPath, content, packName));
764
- found = true;
765
- } catch {
766
- // Not in common either, continue
767
- }
768
- }
769
-
770
- if (!found) {
771
- console.warn(
772
- ` ⚠ Dependency ${key} not found in expansion pack or core`,
773
- );
774
- }
775
- }
776
-
777
- // Add remaining expansion pack resources not already included as dependencies
778
- for (const resourceDir of resourceDirectories) {
779
- const resourcePath = path.join(packDir, resourceDir);
780
- try {
781
- const resourceFiles = await fs.readdir(resourcePath);
782
- for (const resourceFile of resourceFiles.filter(
783
- (f) => f.endsWith(".md") || f.endsWith(".yaml"),
784
- )) {
785
- const filePath = path.join(resourcePath, resourceFile);
786
- const fileContent = await fs.readFile(filePath, "utf8");
787
- const fileName = resourceFile.replace(/\.(md|yaml)$/, "");
788
-
789
- // Only add if not already included as a dependency
790
- const resourceKey = `${resourceDir}#${fileName}`;
791
- if (!allDependencies.has(resourceKey)) {
792
- const fullResourcePath = path.join(resourcePath, resourceFile);
793
- const resourceWebPath = this.convertToWebPath(
794
- fullResourcePath,
795
- packName,
796
- );
797
- sections.push(
798
- this.formatSection(resourceWebPath, fileContent, packName),
799
- );
800
- }
801
- }
802
- } catch {
803
- // Directory might not exist, that's fine
804
- }
805
- }
806
-
807
- return sections.join("\n");
808
- }
809
-
810
- async listExpansionPacks() {
811
- const expansionPacksDir = path.join(this.rootDir, "expansion-packs");
812
- try {
813
- const entries = await fs.readdir(expansionPacksDir, {
814
- withFileTypes: true,
815
- });
816
- return entries
817
- .filter((entry) => entry.isDirectory())
818
- .map((entry) => entry.name);
819
- } catch {
820
- console.warn("No expansion-packs directory found");
821
- return [];
822
- }
823
- }
824
-
825
- listAgents() {
826
- return this.resolver.listAgents();
827
- }
828
- }
829
-
830
- module.exports = WebBuilder;