@zeyue0329/xiaoma-cli 1.0.49 → 1.6.4

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 (895) hide show
  1. package/.github/workflows/quality.yaml +116 -0
  2. package/.husky/pre-commit +26 -0
  3. package/.idea/codeStyles/Project.xml +60 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/jsLibraryMappings.xml +6 -0
  6. package/.idea/modules.xml +1 -1
  7. package/.idea/vcs.xml +0 -1
  8. package/.idea/workspace.xml +40 -24
  9. package/.markdownlint-cli2.yaml +41 -0
  10. package/.prettierignore +12 -0
  11. package/.vscode/settings.json +96 -0
  12. package/LICENSE +30 -0
  13. package/README.md +108 -2
  14. package/XIAOMA-CLI-GUIDE.md +512 -0
  15. package/{.idea/XiaoMa-Cli.iml → XiaoMa-Cli.iml} +1 -1
  16. package/custom/src/agents/commit-poet/commit-poet.agent.yaml +129 -0
  17. package/custom/src/agents/commit-poet/installation-guide.md +36 -0
  18. package/custom/src/agents/toolsmith/installation-guide.md +36 -0
  19. package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  20. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  21. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  22. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  23. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  24. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +160 -0
  25. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  26. package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  27. package/custom/src/agents/toolsmith/toolsmith.agent.yaml +108 -0
  28. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  29. package/docs/agent-customization-guide.md +208 -0
  30. package/docs/custom-agent-installation.md +183 -0
  31. package/docs/document-sharding-guide.md +449 -0
  32. package/docs/explanation/advanced-elicitation.md +49 -0
  33. package/docs/explanation/adversarial-review.md +59 -0
  34. package/docs/explanation/brainstorming.md +33 -0
  35. package/docs/explanation/established-projects-faq.md +50 -0
  36. package/docs/explanation/party-mode.md +59 -0
  37. package/docs/explanation/preventing-agent-conflicts.md +112 -0
  38. package/docs/explanation/project-context.md +157 -0
  39. package/docs/explanation/quick-dev-new-preview.md +73 -0
  40. package/docs/explanation/quick-flow.md +77 -0
  41. package/docs/explanation/why-solutioning-matters.md +77 -0
  42. package/docs/how-to/customize-xiaoma.md +172 -0
  43. package/docs/how-to/established-projects.md +117 -0
  44. package/docs/how-to/get-answers-about-xiaoma.md +134 -0
  45. package/docs/how-to/install-xiaoma.md +107 -0
  46. package/docs/how-to/non-interactive-installation.md +171 -0
  47. package/docs/how-to/project-context.md +136 -0
  48. package/docs/how-to/quick-fixes.md +123 -0
  49. package/docs/how-to/shard-large-documents.md +78 -0
  50. package/docs/how-to/upgrade-to-v6.md +100 -0
  51. package/docs/ide-info/auggie.md +31 -0
  52. package/docs/ide-info/claude-code.md +25 -0
  53. package/docs/ide-info/cline.md +31 -0
  54. package/docs/ide-info/codex.md +21 -0
  55. package/docs/ide-info/crush.md +30 -0
  56. package/docs/ide-info/cursor.md +25 -0
  57. package/docs/ide-info/gemini.md +25 -0
  58. package/docs/ide-info/github-copilot.md +26 -0
  59. package/docs/ide-info/iflow.md +33 -0
  60. package/docs/ide-info/kilo.md +24 -0
  61. package/docs/ide-info/opencode.md +24 -0
  62. package/docs/ide-info/qwen.md +25 -0
  63. package/docs/ide-info/roo.md +27 -0
  64. package/docs/ide-info/rovo-dev.md +388 -0
  65. package/docs/ide-info/trae.md +25 -0
  66. package/docs/ide-info/windsurf.md +22 -0
  67. package/docs/index.md +60 -0
  68. package/docs/installers-bundlers/ide-injections.md +186 -0
  69. package/docs/installers-bundlers/installers-modules-platforms-reference.md +379 -0
  70. package/docs/rag/rag.md +856 -0
  71. package/docs/reference/agents.md +28 -0
  72. package/docs/reference/commands.md +145 -0
  73. package/docs/reference/modules.md +76 -0
  74. package/docs/reference/testing.md +106 -0
  75. package/docs/reference/workflow-map.md +89 -0
  76. package/docs/roadmap.mdx +136 -0
  77. package/docs/superpowers/plans/2026-03-11-upstream-sync-with-branding.md +586 -0
  78. package/docs/tutorials/getting-started.md +273 -0
  79. package/docs/v4-to-v6-upgrade.md +220 -0
  80. package/docs/v6-open-items.md +17 -0
  81. package/docs/web-bundles-gemini-gpt-guide.md +468 -0
  82. package/docs/zh-cn/404.md +9 -0
  83. package/docs/zh-cn/_STYLE_GUIDE.md +370 -0
  84. package/docs/zh-cn/explanation/advanced-elicitation.md +62 -0
  85. package/docs/zh-cn/explanation/adversarial-review.md +71 -0
  86. package/docs/zh-cn/explanation/brainstorming.md +43 -0
  87. package/docs/zh-cn/explanation/established-projects-faq.md +60 -0
  88. package/docs/zh-cn/explanation/party-mode.md +79 -0
  89. package/docs/zh-cn/explanation/preventing-agent-conflicts.md +137 -0
  90. package/docs/zh-cn/explanation/project-context.md +176 -0
  91. package/docs/zh-cn/explanation/quick-flow.md +93 -0
  92. package/docs/zh-cn/explanation/why-solutioning-matters.md +90 -0
  93. package/docs/zh-cn/how-to/customize-xiaoma.md +182 -0
  94. package/docs/zh-cn/how-to/established-projects.md +134 -0
  95. package/docs/zh-cn/how-to/get-answers-about-xiaoma.md +144 -0
  96. package/docs/zh-cn/how-to/install-xiaoma.md +105 -0
  97. package/docs/zh-cn/how-to/non-interactive-installation.md +181 -0
  98. package/docs/zh-cn/how-to/project-context.md +152 -0
  99. package/docs/zh-cn/how-to/quick-fixes.md +140 -0
  100. package/docs/zh-cn/how-to/shard-large-documents.md +86 -0
  101. package/docs/zh-cn/how-to/upgrade-to-v6.md +120 -0
  102. package/docs/zh-cn/index.md +69 -0
  103. package/docs/zh-cn/reference/agents.md +41 -0
  104. package/docs/zh-cn/reference/commands.md +166 -0
  105. package/docs/zh-cn/reference/modules.md +94 -0
  106. package/docs/zh-cn/reference/testing.md +122 -0
  107. package/docs/zh-cn/reference/workflow-map.md +104 -0
  108. package/docs/zh-cn/roadmap.mdx +152 -0
  109. package/docs/zh-cn/tutorials/getting-started.md +300 -0
  110. package/eslint.config.mjs +144 -0
  111. package/package.json +56 -58
  112. package/prettier.config.mjs +32 -0
  113. package/src/core/_module-installer/install-config.yaml +29 -0
  114. package/src/core/_module-installer/installer.js +60 -0
  115. package/src/core/agents/xiaoma-master.agent.yaml +30 -0
  116. package/src/core/agents/xiaoma-skill-manifest.yaml +3 -0
  117. package/src/core/agents/xiaoma-web-orchestrator.agent.xml +113 -0
  118. package/src/core/module-help.csv +10 -0
  119. package/src/core/module.yaml +25 -0
  120. package/src/core/resources/excalidraw/README.md +160 -0
  121. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  122. package/src/core/resources/excalidraw/library-loader.md +50 -0
  123. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  124. package/src/core/tasks/advanced-elicitation-methods.csv +51 -0
  125. package/src/core/tasks/advanced-elicitation.xml +116 -0
  126. package/src/core/tasks/editorial-review-prose.xml +102 -0
  127. package/src/core/tasks/editorial-review-structure.xml +208 -0
  128. package/src/core/tasks/help.md +92 -0
  129. package/src/core/tasks/index-docs.xml +65 -0
  130. package/src/core/tasks/review-adversarial-general.xml +49 -0
  131. package/src/core/tasks/review-edge-case-hunter.xml +63 -0
  132. package/src/core/tasks/shard-doc.xml +108 -0
  133. package/src/core/tasks/validate-workflow.xml +89 -0
  134. package/src/core/tasks/workflow.xml +235 -0
  135. package/src/core/tasks/xiaoma-help/SKILL.md +6 -0
  136. package/src/core/tasks/xiaoma-help/workflow.md +88 -0
  137. package/src/core/tasks/xiaoma-help/xiaoma-skill-manifest.yaml +1 -0
  138. package/src/core/tasks/xiaoma-review-adversarial-general/SKILL.md +6 -0
  139. package/src/core/tasks/xiaoma-review-adversarial-general/workflow.md +32 -0
  140. package/src/core/tasks/xiaoma-review-adversarial-general/xiaoma-skill-manifest.yaml +1 -0
  141. package/src/core/tasks/xiaoma-review-edge-case-hunter/SKILL.md +6 -0
  142. package/src/core/tasks/xiaoma-review-edge-case-hunter/workflow.md +62 -0
  143. package/src/core/tasks/xiaoma-review-edge-case-hunter/xiaoma-skill-manifest.yaml +1 -0
  144. package/src/core/tasks/xiaoma-skill-manifest.yaml +19 -0
  145. package/src/core/tools/shard-doc.xml +109 -0
  146. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  147. package/src/core/workflows/advanced-elicitation/workflow.md +138 -0
  148. package/src/core/workflows/advanced-elicitation/workflow.xml +118 -0
  149. package/src/core/workflows/advanced-elicitation/xiaoma-skill-manifest.yaml +3 -0
  150. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  151. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +210 -0
  152. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  153. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  154. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  155. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  156. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  157. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  158. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  159. package/src/core/workflows/brainstorming/template.md +15 -0
  160. package/src/core/workflows/brainstorming/workflow.md +60 -0
  161. package/src/core/workflows/brainstorming/xiaoma-skill-manifest.yaml +3 -0
  162. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  163. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  164. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -0
  165. package/src/core/workflows/party-mode/workflow.md +194 -0
  166. package/src/core/workflows/party-mode/xiaoma-skill-manifest.yaml +3 -0
  167. package/src/utility/agent-components/activation-rules.txt +6 -0
  168. package/src/utility/agent-components/activation-steps.txt +14 -0
  169. package/src/utility/agent-components/agent-command-header.md +1 -0
  170. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  171. package/src/utility/agent-components/handler-action.txt +4 -0
  172. package/src/utility/agent-components/handler-data.txt +5 -0
  173. package/src/utility/agent-components/handler-exec.txt +6 -0
  174. package/src/utility/agent-components/handler-multi.txt +13 -0
  175. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  176. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  177. package/src/utility/agent-components/handler-workflow.txt +10 -0
  178. package/src/utility/agent-components/menu-handlers.txt +6 -0
  179. package/src/utility/models/action-command-header.md +0 -0
  180. package/src/utility/models/agent-activation-ide.xml +51 -0
  181. package/src/utility/models/agent-activation-web.xml +50 -0
  182. package/src/utility/models/agent-command-header.md +1 -0
  183. package/src/utility/models/agent-config-template.md +23 -0
  184. package/src/utility/models/agent-in-team-activation.xml +3 -0
  185. package/src/utility/models/fragments/activation-rules.xml +7 -0
  186. package/src/utility/models/fragments/activation-steps.xml +16 -0
  187. package/src/utility/models/fragments/handler-action.xml +4 -0
  188. package/src/utility/models/fragments/handler-data.xml +5 -0
  189. package/src/utility/models/fragments/handler-exec.xml +6 -0
  190. package/src/utility/models/fragments/handler-multi.xml +14 -0
  191. package/src/utility/models/fragments/handler-tmpl.xml +5 -0
  192. package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
  193. package/src/utility/models/fragments/handler-workflow.xml +9 -0
  194. package/src/utility/models/fragments/menu-handlers.xml +6 -0
  195. package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
  196. package/src/utility/templates/agent.customize.template.yaml +42 -0
  197. package/src/xmc/_module-installer/install-config.yaml +53 -0
  198. package/src/xmc/_module-installer/installer.js +131 -0
  199. package/src/xmc/_module-installer/platform-specifics/claude-code.js +35 -0
  200. package/src/xmc/_module-installer/platform-specifics/windsurf.js +32 -0
  201. package/src/xmc/agents/analyst.agent.yaml +43 -0
  202. package/src/xmc/agents/architect.agent.yaml +29 -0
  203. package/src/xmc/agents/dev.agent.yaml +38 -0
  204. package/src/xmc/agents/pm.agent.yaml +44 -0
  205. package/src/xmc/agents/qa.agent.yaml +58 -0
  206. package/src/xmc/agents/quick-flow-solo-dev.agent.yaml +36 -0
  207. package/src/xmc/agents/sm.agent.yaml +37 -0
  208. package/src/xmc/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  209. package/src/xmc/agents/tech-writer/tech-writer.agent.yaml +46 -0
  210. package/src/xmc/agents/tech-writer/xiaoma-skill-manifest.yaml +3 -0
  211. package/src/xmc/agents/ux-designer.agent.yaml +27 -0
  212. package/src/xmc/agents/xiaoma-skill-manifest.yaml +39 -0
  213. package/src/xmc/data/project-context-template.md +26 -0
  214. package/src/xmc/module-help.csv +32 -0
  215. package/src/xmc/module.yaml +50 -0
  216. package/src/xmc/sub-modules/claude-code/config.yaml +5 -0
  217. package/src/xmc/sub-modules/claude-code/injections.yaml +242 -0
  218. package/src/xmc/sub-modules/claude-code/readme.md +87 -0
  219. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/api-documenter.md +102 -0
  220. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/codebase-analyzer.md +82 -0
  221. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/data-analyst.md +101 -0
  222. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/pattern-detector.md +84 -0
  223. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/dependency-mapper.md +83 -0
  224. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/epic-optimizer.md +81 -0
  225. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/requirements-analyst.md +61 -0
  226. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/technical-decisions-curator.md +168 -0
  227. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/trend-spotter.md +115 -0
  228. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/user-journey-mapper.md +123 -0
  229. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/user-researcher.md +72 -0
  230. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-research/market-researcher.md +51 -0
  231. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-research/tech-debt-auditor.md +106 -0
  232. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/document-reviewer.md +102 -0
  233. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/technical-evaluator.md +68 -0
  234. package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/test-coverage-analyzer.md +108 -0
  235. package/src/xmc/teams/default-party.csv +20 -0
  236. package/src/xmc/teams/team-fullstack.yaml +12 -0
  237. package/src/xmc/testarch/knowledge/api-request.md +303 -0
  238. package/src/xmc/testarch/knowledge/auth-session.md +356 -0
  239. package/src/xmc/testarch/knowledge/burn-in.md +273 -0
  240. package/src/xmc/testarch/knowledge/ci-burn-in.md +675 -0
  241. package/src/xmc/testarch/knowledge/component-tdd.md +486 -0
  242. package/src/xmc/testarch/knowledge/contract-testing.md +957 -0
  243. package/src/xmc/testarch/knowledge/data-factories.md +500 -0
  244. package/src/xmc/testarch/knowledge/email-auth.md +721 -0
  245. package/src/xmc/testarch/knowledge/error-handling.md +725 -0
  246. package/src/xmc/testarch/knowledge/feature-flags.md +750 -0
  247. package/src/xmc/testarch/knowledge/file-utils.md +260 -0
  248. package/src/xmc/testarch/knowledge/fixture-architecture.md +401 -0
  249. package/src/xmc/testarch/knowledge/fixtures-composition.md +382 -0
  250. package/src/xmc/testarch/knowledge/intercept-network-call.md +280 -0
  251. package/src/xmc/testarch/knowledge/log.md +294 -0
  252. package/src/xmc/testarch/knowledge/network-error-monitor.md +272 -0
  253. package/src/xmc/testarch/knowledge/network-first.md +486 -0
  254. package/src/xmc/testarch/knowledge/network-recorder.md +265 -0
  255. package/src/xmc/testarch/knowledge/nfr-criteria.md +670 -0
  256. package/src/xmc/testarch/knowledge/overview.md +284 -0
  257. package/src/xmc/testarch/knowledge/playwright-config.md +730 -0
  258. package/src/xmc/testarch/knowledge/probability-impact.md +601 -0
  259. package/src/xmc/testarch/knowledge/recurse.md +296 -0
  260. package/src/xmc/testarch/knowledge/risk-governance.md +615 -0
  261. package/src/xmc/testarch/knowledge/selective-testing.md +732 -0
  262. package/src/xmc/testarch/knowledge/selector-resilience.md +527 -0
  263. package/src/xmc/testarch/knowledge/test-healing-patterns.md +644 -0
  264. package/src/xmc/testarch/knowledge/test-levels-framework.md +473 -0
  265. package/src/xmc/testarch/knowledge/test-priorities-matrix.md +373 -0
  266. package/src/xmc/testarch/knowledge/test-quality.md +664 -0
  267. package/src/xmc/testarch/knowledge/timing-debugging.md +372 -0
  268. package/src/xmc/testarch/knowledge/visual-debugging.md +524 -0
  269. package/src/xmc/testarch/tea-index.csv +33 -0
  270. package/src/xmc/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  271. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  272. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  273. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  274. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  275. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  276. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  277. package/src/xmc/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  278. package/src/xmc/workflows/1-analysis/create-product-brief/workflow.md +57 -0
  279. package/src/xmc/workflows/1-analysis/create-product-brief/xiaoma-skill-manifest.yaml +3 -0
  280. package/src/xmc/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  281. package/src/xmc/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  282. package/src/xmc/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  283. package/src/xmc/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  284. package/src/xmc/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  285. package/src/xmc/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -0
  286. package/src/xmc/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  287. package/src/xmc/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  288. package/src/xmc/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  289. package/src/xmc/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  290. package/src/xmc/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  291. package/src/xmc/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
  292. package/src/xmc/workflows/1-analysis/research/research.template.md +29 -0
  293. package/src/xmc/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  294. package/src/xmc/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  295. package/src/xmc/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  296. package/src/xmc/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  297. package/src/xmc/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -0
  298. package/src/xmc/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -0
  299. package/src/xmc/workflows/1-analysis/research/workflow-domain-research.md +54 -0
  300. package/src/xmc/workflows/1-analysis/research/workflow-market-research.md +54 -0
  301. package/src/xmc/workflows/1-analysis/research/workflow-technical-research.md +54 -0
  302. package/src/xmc/workflows/1-analysis/research/xiaoma-skill-manifest.yaml +14 -0
  303. package/src/xmc/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
  304. package/src/xmc/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  305. package/src/xmc/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  306. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  307. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -0
  308. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  309. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
  310. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
  311. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  312. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  313. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  314. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  315. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  316. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  317. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  318. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  319. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  320. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  321. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  322. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  323. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  324. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  325. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  326. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -0
  327. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  328. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  329. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  330. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  331. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  332. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  333. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  334. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  335. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  336. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  337. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  338. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  339. package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  340. package/src/xmc/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  341. package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
  342. package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
  343. package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
  344. package/src/xmc/workflows/2-plan-workflows/create-prd/xiaoma-skill-manifest.yaml +14 -0
  345. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  346. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  347. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  348. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  349. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  350. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  351. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  352. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  353. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  354. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  355. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  356. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  357. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  358. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  359. package/src/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  360. package/src/xmc/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  361. package/src/xmc/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
  362. package/src/xmc/workflows/2-plan-workflows/create-ux-design/xiaoma-skill-manifest.yaml +3 -0
  363. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -0
  364. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -0
  365. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -0
  366. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -0
  367. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -0
  368. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -0
  369. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  370. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
  371. package/src/xmc/workflows/3-solutioning/check-implementation-readiness/xiaoma-skill-manifest.yaml +3 -0
  372. package/src/xmc/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  373. package/src/xmc/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
  374. package/src/xmc/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  375. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  376. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -0
  377. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  378. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -0
  379. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  380. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  381. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  382. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  383. package/src/xmc/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  384. package/src/xmc/workflows/3-solutioning/create-architecture/workflow.md +49 -0
  385. package/src/xmc/workflows/3-solutioning/create-architecture/xiaoma-skill-manifest.yaml +3 -0
  386. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  387. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  388. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  389. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  390. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  391. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  392. package/src/xmc/workflows/3-solutioning/create-epics-and-stories/xiaoma-skill-manifest.yaml +3 -0
  393. package/src/xmc/workflows/4-implementation/code-review/checklist.md +23 -0
  394. package/src/xmc/workflows/4-implementation/code-review/discover-inputs.md +88 -0
  395. package/src/xmc/workflows/4-implementation/code-review/workflow.md +271 -0
  396. package/src/xmc/workflows/4-implementation/code-review/xiaoma-skill-manifest.yaml +3 -0
  397. package/src/xmc/workflows/4-implementation/correct-course/checklist.md +288 -0
  398. package/src/xmc/workflows/4-implementation/correct-course/workflow.md +274 -0
  399. package/src/xmc/workflows/4-implementation/correct-course/xiaoma-skill-manifest.yaml +3 -0
  400. package/src/xmc/workflows/4-implementation/create-story/checklist.md +357 -0
  401. package/src/xmc/workflows/4-implementation/create-story/discover-inputs.md +88 -0
  402. package/src/xmc/workflows/4-implementation/create-story/template.md +49 -0
  403. package/src/xmc/workflows/4-implementation/create-story/workflow.md +388 -0
  404. package/src/xmc/workflows/4-implementation/create-story/xiaoma-skill-manifest.yaml +3 -0
  405. package/src/xmc/workflows/4-implementation/dev-story/checklist.md +80 -0
  406. package/src/xmc/workflows/4-implementation/dev-story/workflow.md +457 -0
  407. package/src/xmc/workflows/4-implementation/dev-story/xiaoma-skill-manifest.yaml +3 -0
  408. package/src/xmc/workflows/4-implementation/retrospective/workflow.md +1485 -0
  409. package/src/xmc/workflows/4-implementation/retrospective/xiaoma-skill-manifest.yaml +3 -0
  410. package/src/xmc/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  411. package/src/xmc/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +56 -0
  412. package/src/xmc/workflows/4-implementation/sprint-planning/workflow.md +271 -0
  413. package/src/xmc/workflows/4-implementation/sprint-planning/xiaoma-skill-manifest.yaml +3 -0
  414. package/src/xmc/workflows/4-implementation/sprint-status/workflow.md +267 -0
  415. package/src/xmc/workflows/4-implementation/sprint-status/xiaoma-skill-manifest.yaml +3 -0
  416. package/src/xmc/workflows/document-project/checklist.md +245 -0
  417. package/src/xmc/workflows/document-project/documentation-requirements.csv +12 -0
  418. package/src/xmc/workflows/document-project/instructions.md +128 -0
  419. package/src/xmc/workflows/document-project/templates/deep-dive-template.md +345 -0
  420. package/src/xmc/workflows/document-project/templates/index-template.md +169 -0
  421. package/src/xmc/workflows/document-project/templates/project-overview-template.md +103 -0
  422. package/src/xmc/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  423. package/src/xmc/workflows/document-project/templates/source-tree-template.md +135 -0
  424. package/src/xmc/workflows/document-project/workflow.md +39 -0
  425. package/src/xmc/workflows/document-project/workflows/deep-dive-instructions.md +297 -0
  426. package/src/xmc/workflows/document-project/workflows/deep-dive-workflow.md +42 -0
  427. package/src/xmc/workflows/document-project/workflows/full-scan-instructions.md +1105 -0
  428. package/src/xmc/workflows/document-project/workflows/full-scan-workflow.md +42 -0
  429. package/src/xmc/workflows/document-project/xiaoma-skill-manifest.yaml +3 -0
  430. package/src/xmc/workflows/generate-project-context/project-context-template.md +21 -0
  431. package/src/xmc/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  432. package/src/xmc/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  433. package/src/xmc/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  434. package/src/xmc/workflows/generate-project-context/workflow.md +49 -0
  435. package/src/xmc/workflows/generate-project-context/xiaoma-skill-manifest.yaml +3 -0
  436. package/src/xmc/workflows/qa-generate-e2e-tests/checklist.md +33 -0
  437. package/src/xmc/workflows/qa-generate-e2e-tests/workflow.md +143 -0
  438. package/src/xmc/workflows/qa-generate-e2e-tests/xiaoma-skill-manifest.yaml +3 -0
  439. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -0
  440. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -0
  441. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-03-execute.md +111 -0
  442. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-04-self-check.md +111 -0
  443. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-05-adversarial-review.md +98 -0
  444. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -0
  445. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/workflow.md +50 -0
  446. package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/xiaoma-skill-manifest.yaml +3 -0
  447. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
  448. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/steps/step-02-investigate.md +143 -0
  449. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/steps/step-03-generate.md +126 -0
  450. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/steps/step-04-review.md +198 -0
  451. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/tech-spec-template.md +74 -0
  452. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/workflow.md +79 -0
  453. package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/xiaoma-skill-manifest.yaml +3 -0
  454. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md +6 -0
  455. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-01-clarify-and-route.md +54 -0
  456. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-02-plan.md +39 -0
  457. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-03-implement.md +35 -0
  458. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-04-review.md +55 -0
  459. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-05-present.md +19 -0
  460. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/tech-spec-template.md +90 -0
  461. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/workflow.md +84 -0
  462. package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/xiaoma-skill-manifest.yaml +1 -0
  463. package/test/README.md +295 -0
  464. package/test/adversarial-review-tests/README.md +56 -0
  465. package/test/adversarial-review-tests/sample-content.md +46 -0
  466. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  467. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  468. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  469. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  470. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  471. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  472. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  473. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  474. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  475. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  476. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  477. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  478. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  479. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  480. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  481. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  482. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  483. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  484. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  485. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  486. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  487. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  488. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  489. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  490. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  491. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  492. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  493. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  494. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  495. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  496. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  497. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  498. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  499. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  500. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  501. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  502. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  503. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  504. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
  505. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  506. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  507. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  508. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  509. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  510. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  511. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  512. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  513. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  514. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  515. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  516. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  517. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  518. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  519. package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
  520. package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
  521. package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
  522. package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
  523. package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
  524. package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
  525. package/test/fixtures/file-refs-csv/valid/xmc-style.csv +3 -0
  526. package/test/test-agent-schema.js +387 -0
  527. package/test/test-cli-integration.sh +159 -0
  528. package/test/test-file-refs-csv.js +133 -0
  529. package/test/test-install-to-xiaoma.js +154 -0
  530. package/test/test-installation-components.js +1802 -0
  531. package/test/test-rehype-plugins.mjs +1050 -0
  532. package/test/test-workflow-path-regex.js +88 -0
  533. package/test/unit-test-schema.js +133 -0
  534. package/tools/build-docs.mjs +464 -0
  535. package/tools/cli/README.md +60 -0
  536. package/tools/cli/bundlers/bundle-web.js +179 -0
  537. package/tools/cli/bundlers/bundlers/bundle-web.js +179 -0
  538. package/tools/cli/bundlers/bundlers/test-analyst.js +28 -0
  539. package/tools/cli/bundlers/bundlers/test-bundler.js +119 -0
  540. package/tools/cli/bundlers/bundlers/web-bundler.js +1754 -0
  541. package/tools/cli/bundlers/test-analyst.js +28 -0
  542. package/tools/cli/bundlers/test-bundler.js +119 -0
  543. package/tools/cli/bundlers/web-bundler.js +1754 -0
  544. package/tools/cli/commands/agent-install.js +409 -0
  545. package/tools/cli/commands/build.js +458 -0
  546. package/tools/cli/commands/cleanup.js +144 -0
  547. package/tools/cli/commands/install.js +87 -0
  548. package/tools/cli/commands/list.js +43 -0
  549. package/tools/cli/commands/status.js +65 -0
  550. package/tools/cli/commands/uninstall.js +167 -0
  551. package/tools/cli/commands/update.js +28 -0
  552. package/tools/cli/external-official-modules.yaml +53 -0
  553. package/tools/cli/installers/install-messages.yaml +39 -0
  554. package/tools/cli/installers/lib/core/config-collector.js +1285 -0
  555. package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
  556. package/tools/cli/installers/lib/core/dependency-resolver.js +743 -0
  557. package/tools/cli/installers/lib/core/detector.js +223 -0
  558. package/tools/cli/installers/lib/core/ide-config-manager.js +157 -0
  559. package/tools/cli/installers/lib/core/installer.js +3195 -0
  560. package/tools/cli/installers/lib/core/manifest-generator.js +1374 -0
  561. package/tools/cli/installers/lib/core/manifest.js +1038 -0
  562. package/tools/cli/installers/lib/custom/handler.js +358 -0
  563. package/tools/cli/installers/lib/ide/_base-ide.js +674 -0
  564. package/tools/cli/installers/lib/ide/_config-driven.js +1053 -0
  565. package/tools/cli/installers/lib/ide/antigravity.js +510 -0
  566. package/tools/cli/installers/lib/ide/auggie.js +232 -0
  567. package/tools/cli/installers/lib/ide/claude-code.js +512 -0
  568. package/tools/cli/installers/lib/ide/cline.js +269 -0
  569. package/tools/cli/installers/lib/ide/codex.js +440 -0
  570. package/tools/cli/installers/lib/ide/crush.js +287 -0
  571. package/tools/cli/installers/lib/ide/cursor.js +400 -0
  572. package/tools/cli/installers/lib/ide/gemini.js +253 -0
  573. package/tools/cli/installers/lib/ide/github-copilot.js +699 -0
  574. package/tools/cli/installers/lib/ide/iflow.js +172 -0
  575. package/tools/cli/installers/lib/ide/kilo.js +269 -0
  576. package/tools/cli/installers/lib/ide/manager.js +304 -0
  577. package/tools/cli/installers/lib/ide/opencode.js +257 -0
  578. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  579. package/tools/cli/installers/lib/ide/platform-codes.yaml +321 -0
  580. package/tools/cli/installers/lib/ide/qwen.js +372 -0
  581. package/tools/cli/installers/lib/ide/roo.js +324 -0
  582. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  583. package/tools/cli/installers/lib/ide/rovodev.js +257 -0
  584. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +181 -0
  585. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  586. package/tools/cli/installers/lib/ide/shared/path-utils.js +364 -0
  587. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +90 -0
  588. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +368 -0
  589. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +179 -0
  590. package/tools/cli/installers/lib/ide/shared/xiaoma-artifacts.js +181 -0
  591. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  592. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  593. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  594. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
  595. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
  596. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
  597. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  598. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  599. package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
  600. package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
  601. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  602. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  603. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
  604. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
  605. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
  606. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
  607. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
  608. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
  609. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +13 -0
  610. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +13 -0
  611. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +16 -0
  612. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +16 -0
  613. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  614. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  615. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  616. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  617. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  618. package/tools/cli/installers/lib/ide/templates/split/.gitkeep +0 -0
  619. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  620. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  621. package/tools/cli/installers/lib/ide/trae.js +313 -0
  622. package/tools/cli/installers/lib/ide/windsurf.js +258 -0
  623. package/tools/cli/installers/lib/message-loader.js +83 -0
  624. package/tools/cli/installers/lib/modules/external-manager.js +136 -0
  625. package/tools/cli/installers/lib/modules/manager.js +1382 -0
  626. package/tools/cli/lib/activation-builder.js +165 -0
  627. package/tools/cli/lib/agent/compiler.js +516 -0
  628. package/tools/cli/lib/agent/installer.js +680 -0
  629. package/tools/cli/lib/agent/template-engine.js +152 -0
  630. package/tools/cli/lib/agent-analyzer.js +97 -0
  631. package/tools/cli/lib/agent-party-generator.js +194 -0
  632. package/tools/cli/lib/cli-utils.js +182 -0
  633. package/tools/cli/lib/config.js +213 -0
  634. package/tools/cli/lib/file-ops.js +204 -0
  635. package/tools/cli/lib/platform-codes.js +116 -0
  636. package/tools/cli/lib/project-root.js +77 -0
  637. package/tools/cli/lib/prompts.js +809 -0
  638. package/tools/cli/lib/replace-project-root.js +239 -0
  639. package/tools/cli/lib/ui.js +1940 -0
  640. package/tools/cli/lib/xml-handler.js +177 -0
  641. package/tools/cli/lib/xml-to-markdown.js +82 -0
  642. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +39 -71
  643. package/tools/cli/lib/yaml-xml-builder.js +570 -0
  644. package/tools/cli/regenerate-manifests.js +28 -0
  645. package/tools/cli/test-yaml-builder.js +43 -0
  646. package/tools/cli/xiaoma-cli.js +106 -0
  647. package/tools/docs/_prompt-external-modules-page.md +59 -0
  648. package/tools/docs/fix-refs.md +91 -0
  649. package/tools/docs/native-skills-migration-checklist.md +281 -0
  650. package/tools/fix-doc-links.js +285 -0
  651. package/tools/flattener/aggregate.js +12 -30
  652. package/tools/flattener/binary.js +43 -46
  653. package/tools/flattener/discovery.js +15 -23
  654. package/tools/flattener/files.js +6 -6
  655. package/tools/flattener/flattener/aggregate.js +76 -0
  656. package/tools/flattener/flattener/binary.js +80 -0
  657. package/tools/flattener/flattener/discovery.js +71 -0
  658. package/tools/flattener/flattener/files.js +35 -0
  659. package/tools/flattener/flattener/ignoreRules.js +172 -0
  660. package/tools/flattener/flattener/main.js +483 -0
  661. package/tools/flattener/flattener/projectRoot.js +201 -0
  662. package/tools/flattener/flattener/prompts.js +44 -0
  663. package/tools/flattener/flattener/stats.helpers.js +368 -0
  664. package/tools/flattener/flattener/stats.js +75 -0
  665. package/tools/flattener/flattener/test-matrix.js +409 -0
  666. package/tools/flattener/flattener/xml.js +88 -0
  667. package/tools/flattener/ignoreRules.js +122 -127
  668. package/tools/flattener/main.js +140 -330
  669. package/tools/flattener/projectRoot.js +71 -81
  670. package/tools/flattener/prompts.js +10 -12
  671. package/tools/flattener/stats.helpers.js +63 -119
  672. package/tools/flattener/stats.js +2 -7
  673. package/tools/flattener/test-matrix.js +169 -228
  674. package/tools/flattener/xml.js +23 -31
  675. package/tools/format-workflow-md.js +263 -0
  676. package/tools/lib/xml-utils.js +13 -0
  677. package/tools/migrate-custom-module-paths.js +124 -0
  678. package/tools/platform-codes.yaml +157 -0
  679. package/tools/schema/agent.js +489 -0
  680. package/tools/validate-agent-schema.js +110 -0
  681. package/tools/validate-bundles.js +87 -0
  682. package/tools/validate-doc-links.js +409 -0
  683. package/tools/validate-file-refs.js +556 -0
  684. package/tools/validate-svg-changes.sh +356 -0
  685. package/tools/xiaoma-npx-wrapper.js +18 -24
  686. package/web-bundles/xmc/agents/analyst.xml +109 -0
  687. package/web-bundles/xmc/agents/architect.xml +101 -0
  688. package/web-bundles/xmc/agents/dev.xml +106 -0
  689. package/web-bundles/xmc/agents/pm.xml +112 -0
  690. package/web-bundles/xmc/agents/qa.xml +126 -0
  691. package/web-bundles/xmc/agents/quick-flow-solo-dev.xml +104 -0
  692. package/web-bundles/xmc/agents/sm.xml +109 -0
  693. package/web-bundles/xmc/agents/ux-designer.xml +100 -0
  694. package/web-bundles/xmc/teams/team-fullstack.xml +1192 -0
  695. package/.claude/agents/tech-translator.md +0 -124
  696. package/.claude/settings.local.json +0 -37
  697. package/.idea/misc.xml +0 -6
  698. package/.xiaoma-core/.coordinator-state.json +0 -19
  699. package/CLAUDE.md +0 -283
  700. package/JAVA-BACKEND-COMMANDS-REFERENCE.md +0 -300
  701. package/JAVA-BACKEND-ITERATION-GUIDE.md +0 -2116
  702. package/common/tasks/create-doc.md +0 -103
  703. package/common/tasks/execute-checklist.md +0 -88
  704. package/common/utils/bmad-doc-template.md +0 -327
  705. package/common/utils/workflow-management.md +0 -71
  706. package/dist/agents/analyst.txt +0 -6308
  707. package/dist/agents/architect.txt +0 -5046
  708. package/dist/agents/automation-orchestrator.txt +0 -396
  709. package/dist/agents/dev.txt +0 -1180
  710. package/dist/agents/full-requirement-orchestrator.txt +0 -505
  711. package/dist/agents/pm.txt +0 -3078
  712. package/dist/agents/po.txt +0 -1358
  713. package/dist/agents/qa.txt +0 -2002
  714. package/dist/agents/sm.txt +0 -3044
  715. package/dist/agents/ux-expert.txt +0 -707
  716. package/dist/agents/workflow-executor.txt +0 -1029
  717. package/dist/agents/workflow-helper.txt +0 -93
  718. package/dist/agents/xiaoma-master.txt +0 -9008
  719. package/dist/agents/xiaoma-orchestrator.txt +0 -1523
  720. package/dist/teams/team-all.txt +0 -23101
  721. package/dist/teams/team-fullstack-with-database.txt +0 -25076
  722. package/dist/teams/team-fullstack.txt +0 -15820
  723. package/dist/teams/team-ide-minimal.txt +0 -8285
  724. package/dist/teams/team-no-ui.txt +0 -14368
  725. package/docs/GUIDING-PRINCIPLES.md +0 -91
  726. package/docs/architecture/workflow-coordinator-implementation.md +0 -1188
  727. package/docs/architecture-sharding-modification.md +0 -623
  728. package/docs/automated-requirements-analysis-outputs.md +0 -896
  729. package/docs/core-architecture.md +0 -219
  730. package/docs/enhanced-ide-development-workflow.md +0 -248
  731. package/docs/prd/workflow-coordinator-prd.md +0 -1214
  732. package/docs/user-guide.md +0 -530
  733. package/docs/versioning-and-releases.md +0 -155
  734. package/docs/versions.md +0 -48
  735. package/docs/working-in-the-brownfield.md +0 -597
  736. package/tools/api-server.js +0 -367
  737. package/tools/builders/web-builder.js +0 -830
  738. package/tools/bump-all-versions.js +0 -133
  739. package/tools/cli.js +0 -157
  740. package/tools/installer/README.md +0 -8
  741. package/tools/installer/bin/xiaoma.js +0 -477
  742. package/tools/installer/config/ide-agent-config.yaml +0 -58
  743. package/tools/installer/config/install.config.yaml +0 -164
  744. package/tools/installer/lib/config-loader.js +0 -286
  745. package/tools/installer/lib/file-manager.js +0 -446
  746. package/tools/installer/lib/ide-base-setup.js +0 -238
  747. package/tools/installer/lib/ide-setup.js +0 -2027
  748. package/tools/installer/lib/installer.js +0 -2333
  749. package/tools/installer/lib/memory-profiler.js +0 -235
  750. package/tools/installer/lib/module-manager.js +0 -116
  751. package/tools/installer/lib/resource-locator.js +0 -334
  752. package/tools/installer/package-lock.json +0 -715
  753. package/tools/installer/package.json +0 -44
  754. package/tools/lib/dependency-resolver.js +0 -186
  755. package/tools/lib/yaml-utils.js +0 -34
  756. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  757. package/tools/preview-release-notes.js +0 -74
  758. package/tools/setup-hooks.sh +0 -37
  759. package/tools/shared/bannerArt.js +0 -105
  760. package/tools/sync-installer-version.js +0 -41
  761. package/tools/sync-version.sh +0 -23
  762. package/tools/upgraders/v3-to-v4-upgrader.js +0 -753
  763. package/tools/version-bump.js +0 -100
  764. package/tools/workflow-coordinator/README.md +0 -38
  765. package/tools/workflow-coordinator/USAGE.md +0 -548
  766. package/tools/workflow-coordinator/package-lock.json +0 -4868
  767. package/tools/workflow-coordinator/package.json +0 -35
  768. package/tools/workflow-coordinator/src/api/server.js +0 -207
  769. package/tools/workflow-coordinator/src/controller/workflow-controller.js +0 -263
  770. package/tools/workflow-coordinator/src/index.js +0 -113
  771. package/tools/workflow-coordinator/src/parser/workflow-parser.js +0 -144
  772. package/tools/workflow-coordinator/src/utils/state-manager.js +0 -59
  773. package/tools/workflow-coordinator/src/utils/validator.js +0 -86
  774. package/tools/workflow-coordinator/test/integration-test.js +0 -266
  775. package/tools/workflow-coordinator/test/quick-test.js +0 -127
  776. package/xiaoma-core/agent-teams/team-all.yaml +0 -15
  777. package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +0 -27
  778. package/xiaoma-core/agent-teams/team-fullstack.yaml +0 -19
  779. package/xiaoma-core/agent-teams/team-ide-minimal.yaml +0 -11
  780. package/xiaoma-core/agent-teams/team-no-ui.yaml +0 -14
  781. package/xiaoma-core/agents/analyst.md +0 -91
  782. package/xiaoma-core/agents/architect.md +0 -88
  783. package/xiaoma-core/agents/automated-fix-validator.yaml +0 -579
  784. package/xiaoma-core/agents/automated-quality-validator.yaml +0 -549
  785. package/xiaoma-core/agents/automation-orchestrator.md +0 -353
  786. package/xiaoma-core/agents/dev.md +0 -144
  787. package/xiaoma-core/agents/enhanced-workflow-orchestrator.yaml +0 -304
  788. package/xiaoma-core/agents/full-requirement-orchestrator.md +0 -462
  789. package/xiaoma-core/agents/global-requirements-auditor.yaml +0 -520
  790. package/xiaoma-core/agents/intelligent-template-adapter.yaml +0 -389
  791. package/xiaoma-core/agents/issue-dispatcher.yaml +0 -627
  792. package/xiaoma-core/agents/master-execution-engine.yaml +0 -543
  793. package/xiaoma-core/agents/pm.md +0 -85
  794. package/xiaoma-core/agents/po.md +0 -77
  795. package/xiaoma-core/agents/qa.md +0 -88
  796. package/xiaoma-core/agents/requirements-coverage-auditor.yaml +0 -373
  797. package/xiaoma-core/agents/sm.md +0 -125
  798. package/xiaoma-core/agents/ux-expert.md +0 -67
  799. package/xiaoma-core/agents/workflow-executor.md +0 -1031
  800. package/xiaoma-core/agents/workflow-helper.md +0 -481
  801. package/xiaoma-core/agents/xiaoma-master.md +0 -108
  802. package/xiaoma-core/agents/xiaoma-orchestrator.md +0 -145
  803. package/xiaoma-core/checklists/architect-checklist.md +0 -440
  804. package/xiaoma-core/checklists/change-checklist.md +0 -184
  805. package/xiaoma-core/checklists/dev-completion-checklist.md +0 -324
  806. package/xiaoma-core/checklists/pm-checklist.md +0 -372
  807. package/xiaoma-core/checklists/po-master-checklist.md +0 -434
  808. package/xiaoma-core/checklists/po-story-validation-checklist.md +0 -219
  809. package/xiaoma-core/checklists/qa-approval-checklist.md +0 -393
  810. package/xiaoma-core/checklists/story-dod-checklist.md +0 -96
  811. package/xiaoma-core/checklists/story-draft-checklist.md +0 -155
  812. package/xiaoma-core/core-config.yaml +0 -23
  813. package/xiaoma-core/data/bmad-kb.md +0 -809
  814. package/xiaoma-core/data/brainstorming-techniques.md +0 -38
  815. package/xiaoma-core/data/elicitation-methods.md +0 -156
  816. package/xiaoma-core/data/technical-preferences.md +0 -5
  817. package/xiaoma-core/data/test-levels-framework.md +0 -148
  818. package/xiaoma-core/data/test-priorities-matrix.md +0 -174
  819. package/xiaoma-core/scripts/build-validation/pre-dev-validation.sh +0 -71
  820. package/xiaoma-core/scripts/build-validation/progressive-validation.sh +0 -88
  821. package/xiaoma-core/scripts/build-validation/quick-check.sh +0 -69
  822. package/xiaoma-core/tasks/advanced-elicitation.md +0 -119
  823. package/xiaoma-core/tasks/analyze-existing-database.md +0 -155
  824. package/xiaoma-core/tasks/apply-qa-fixes.md +0 -150
  825. package/xiaoma-core/tasks/automated-story-cycle.md +0 -370
  826. package/xiaoma-core/tasks/batch-story-generation.md +0 -354
  827. package/xiaoma-core/tasks/brownfield-create-epic.md +0 -162
  828. package/xiaoma-core/tasks/brownfield-create-story.md +0 -149
  829. package/xiaoma-core/tasks/correct-course.md +0 -72
  830. package/xiaoma-core/tasks/create-brownfield-story.md +0 -314
  831. package/xiaoma-core/tasks/create-database-design.md +0 -161
  832. package/xiaoma-core/tasks/create-deep-research-prompt.md +0 -280
  833. package/xiaoma-core/tasks/create-enhanced-story-with-database.md +0 -250
  834. package/xiaoma-core/tasks/create-incremental-architecture.md +0 -525
  835. package/xiaoma-core/tasks/create-next-story.md +0 -114
  836. package/xiaoma-core/tasks/create-prd-from-rag.md +0 -435
  837. package/xiaoma-core/tasks/create-story-with-rag.md +0 -559
  838. package/xiaoma-core/tasks/develop-story-with-rag.md +0 -536
  839. package/xiaoma-core/tasks/document-project.md +0 -345
  840. package/xiaoma-core/tasks/facilitate-brainstorming-session.md +0 -138
  841. package/xiaoma-core/tasks/generate-ai-frontend-prompt.md +0 -53
  842. package/xiaoma-core/tasks/generate-database-ddl.md +0 -240
  843. package/xiaoma-core/tasks/generate-database-entities.md +0 -501
  844. package/xiaoma-core/tasks/generate-rag-questions.md +0 -312
  845. package/xiaoma-core/tasks/index-docs.md +0 -175
  846. package/xiaoma-core/tasks/kb-mode-interaction.md +0 -77
  847. package/xiaoma-core/tasks/nfr-assess.md +0 -345
  848. package/xiaoma-core/tasks/project-integration-testing.md +0 -477
  849. package/xiaoma-core/tasks/qa-gate.md +0 -163
  850. package/xiaoma-core/tasks/requirement-analysis-with-rag.md +0 -1318
  851. package/xiaoma-core/tasks/requirements-coverage-audit.md +0 -198
  852. package/xiaoma-core/tasks/review-story.md +0 -316
  853. package/xiaoma-core/tasks/risk-profile.md +0 -355
  854. package/xiaoma-core/tasks/serial-development-orchestration.md +0 -426
  855. package/xiaoma-core/tasks/shard-doc.md +0 -187
  856. package/xiaoma-core/tasks/test-design.md +0 -176
  857. package/xiaoma-core/tasks/trace-requirements.md +0 -266
  858. package/xiaoma-core/tasks/validate-next-story.md +0 -136
  859. package/xiaoma-core/templates/api-design-tmpl.yaml +0 -704
  860. package/xiaoma-core/templates/architecture-tmpl.yaml +0 -650
  861. package/xiaoma-core/templates/brainstorming-output-tmpl.yaml +0 -156
  862. package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  863. package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +0 -280
  864. package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +0 -336
  865. package/xiaoma-core/templates/database-design-tmpl.yaml +0 -266
  866. package/xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml +0 -428
  867. package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +0 -272
  868. package/xiaoma-core/templates/front-end-spec-tmpl.yaml +0 -354
  869. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +0 -925
  870. package/xiaoma-core/templates/global-qa-monitoring-tmpl.yaml +0 -443
  871. package/xiaoma-core/templates/incremental-architecture-tmpl.yaml +0 -601
  872. package/xiaoma-core/templates/market-research-tmpl.yaml +0 -252
  873. package/xiaoma-core/templates/maven-lombok-template.xml +0 -111
  874. package/xiaoma-core/templates/prd-from-rag-tmpl.yaml +0 -410
  875. package/xiaoma-core/templates/prd-tmpl.yaml +0 -202
  876. package/xiaoma-core/templates/project-brief-tmpl.yaml +0 -221
  877. package/xiaoma-core/templates/qa-gate-tmpl.yaml +0 -102
  878. package/xiaoma-core/templates/rag-knowledge-tmpl.yaml +0 -569
  879. package/xiaoma-core/templates/rag-questions-tmpl.yaml +0 -949
  880. package/xiaoma-core/templates/requirements-coverage-audit.yaml +0 -330
  881. package/xiaoma-core/templates/start-enhanced-workflow.yaml +0 -347
  882. package/xiaoma-core/templates/story-tmpl.yaml +0 -137
  883. package/xiaoma-core/templates/story-with-rag-tmpl.yaml +0 -360
  884. package/xiaoma-core/workflows/automated-requirements-analysis.yaml +0 -2149
  885. package/xiaoma-core/workflows/automated-requirements-development.yaml +0 -739
  886. package/xiaoma-core/workflows/automated-story-development.yaml +0 -1264
  887. package/xiaoma-core/workflows/brownfield-fullstack.yaml +0 -298
  888. package/xiaoma-core/workflows/brownfield-service.yaml +0 -188
  889. package/xiaoma-core/workflows/brownfield-ui.yaml +0 -198
  890. package/xiaoma-core/workflows/enhanced-fullstack-with-database.yaml +0 -427
  891. package/xiaoma-core/workflows/enhanced-fullstack-with-qa-loop.yaml +0 -766
  892. package/xiaoma-core/workflows/full-requirement-automation.yaml +0 -1305
  893. package/xiaoma-core/workflows/greenfield-fullstack.yaml +0 -241
  894. package/xiaoma-core/workflows/greenfield-service.yaml +0 -207
  895. package/xiaoma-core/workflows/greenfield-ui.yaml +0 -236
@@ -0,0 +1,287 @@
1
+ const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+ const { BaseIdeSetup } = require('./_base-ide');
4
+ const chalk = require('chalk');
5
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
6
+
7
+ /**
8
+ * Crush IDE setup handler
9
+ * Creates commands in .crush/commands/ directory structure
10
+ */
11
+ class CrushSetup extends BaseIdeSetup {
12
+ constructor() {
13
+ super('crush', 'Crush');
14
+ this.configDir = '.crush';
15
+ this.commandsDir = 'commands';
16
+ }
17
+
18
+ /**
19
+ * Setup Crush IDE configuration
20
+ * @param {string} projectDir - Project directory
21
+ * @param {string} xiaomaDir - XIAOMA installation directory
22
+ * @param {Object} options - Setup options
23
+ */
24
+ async setup(projectDir, xiaomaDir, options = {}) {
25
+ console.log(chalk.cyan(`Setting up ${this.name}...`));
26
+
27
+ // Create .crush/commands/xiaoma directory structure
28
+ const crushDir = path.join(projectDir, this.configDir);
29
+ const commandsDir = path.join(crushDir, this.commandsDir, 'xiaoma');
30
+
31
+ await this.ensureDir(commandsDir);
32
+
33
+ // Generate agent launchers
34
+ const agentGen = new AgentCommandGenerator(this.xiaomaFolderName);
35
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(xiaomaDir, options.selectedModules || []);
36
+
37
+ // Get tasks, tools, and workflows (standalone only)
38
+ const tasks = await this.getTasks(xiaomaDir, true);
39
+ const tools = await this.getTools(xiaomaDir, true);
40
+ const workflows = await this.getWorkflows(xiaomaDir, true);
41
+
42
+ // Organize by module
43
+ const agentCount = await this.organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir);
44
+
45
+ console.log(chalk.green(`✓ ${this.name} configured:`));
46
+ console.log(chalk.dim(` - ${agentCount.agents} agent commands created`));
47
+ console.log(chalk.dim(` - ${agentCount.tasks} task commands created`));
48
+ console.log(chalk.dim(` - ${agentCount.tools} tool commands created`));
49
+ console.log(chalk.dim(` - ${agentCount.workflows} workflow commands created`));
50
+ console.log(chalk.dim(` - Commands directory: ${path.relative(projectDir, commandsDir)}`));
51
+ console.log(chalk.dim('\n Commands can be accessed via Crush command palette'));
52
+
53
+ return {
54
+ success: true,
55
+ ...agentCount,
56
+ };
57
+ }
58
+
59
+ /**
60
+ * Organize commands by module
61
+ */
62
+ async organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir) {
63
+ // Get unique modules
64
+ const modules = new Set();
65
+ for (const artifact of agentArtifacts) modules.add(artifact.module);
66
+ for (const task of tasks) modules.add(task.module);
67
+ for (const tool of tools) modules.add(tool.module);
68
+ for (const workflow of workflows) modules.add(workflow.module);
69
+
70
+ let agentCount = 0;
71
+ let taskCount = 0;
72
+ let toolCount = 0;
73
+ let workflowCount = 0;
74
+
75
+ // Create module directories
76
+ for (const module of modules) {
77
+ const moduleDir = path.join(commandsDir, module);
78
+ const moduleAgentsDir = path.join(moduleDir, 'agents');
79
+ const moduleTasksDir = path.join(moduleDir, 'tasks');
80
+ const moduleToolsDir = path.join(moduleDir, 'tools');
81
+ const moduleWorkflowsDir = path.join(moduleDir, 'workflows');
82
+
83
+ await this.ensureDir(moduleAgentsDir);
84
+ await this.ensureDir(moduleTasksDir);
85
+ await this.ensureDir(moduleToolsDir);
86
+ await this.ensureDir(moduleWorkflowsDir);
87
+
88
+ // Write module-specific agent launchers
89
+ const moduleAgents = agentArtifacts.filter((a) => a.module === module);
90
+ for (const artifact of moduleAgents) {
91
+ const targetPath = path.join(moduleAgentsDir, `${artifact.name}.md`);
92
+ await this.writeFile(targetPath, artifact.content);
93
+ agentCount++;
94
+ }
95
+
96
+ // Copy module-specific tasks
97
+ const moduleTasks = tasks.filter((t) => t.module === module);
98
+ for (const task of moduleTasks) {
99
+ const content = await this.readFile(task.path);
100
+ const commandContent = this.createTaskCommand(task, content);
101
+ const targetPath = path.join(moduleTasksDir, `${task.name}.md`);
102
+ await this.writeFile(targetPath, commandContent);
103
+ taskCount++;
104
+ }
105
+
106
+ // Copy module-specific tools
107
+ const moduleTools = tools.filter((t) => t.module === module);
108
+ for (const tool of moduleTools) {
109
+ const content = await this.readFile(tool.path);
110
+ const commandContent = this.createToolCommand(tool, content);
111
+ const targetPath = path.join(moduleToolsDir, `${tool.name}.md`);
112
+ await this.writeFile(targetPath, commandContent);
113
+ toolCount++;
114
+ }
115
+
116
+ // Copy module-specific workflows
117
+ const moduleWorkflows = workflows.filter((w) => w.module === module);
118
+ for (const workflow of moduleWorkflows) {
119
+ const content = await this.readFile(workflow.path);
120
+ const commandContent = this.createWorkflowCommand(workflow, content);
121
+ const targetPath = path.join(moduleWorkflowsDir, `${workflow.name}.md`);
122
+ await this.writeFile(targetPath, commandContent);
123
+ workflowCount++;
124
+ }
125
+ }
126
+
127
+ return {
128
+ agents: agentCount,
129
+ tasks: taskCount,
130
+ tools: toolCount,
131
+ workflows: workflowCount,
132
+ };
133
+ }
134
+
135
+ /**
136
+ * Create task command content
137
+ */
138
+ createTaskCommand(task, content) {
139
+ // Extract task name
140
+ const nameMatch = content.match(/name="([^"]+)"/);
141
+ const taskName = nameMatch ? nameMatch[1] : this.formatTitle(task.name);
142
+
143
+ let commandContent = `# /task-${task.name} Command
144
+
145
+ When this command is used, execute the following task:
146
+
147
+ ## ${taskName} Task
148
+
149
+ ${content}
150
+
151
+ ## Command Usage
152
+
153
+ This command executes the ${taskName} task from the XIAOMA ${task.module.toUpperCase()} module.
154
+
155
+ ## Module
156
+
157
+ Part of the XIAOMA ${task.module.toUpperCase()} module.
158
+ `;
159
+
160
+ return commandContent;
161
+ }
162
+
163
+ /**
164
+ * Create tool command content
165
+ */
166
+ createToolCommand(tool, content) {
167
+ // Extract tool name
168
+ const nameMatch = content.match(/name="([^"]+)"/);
169
+ const toolName = nameMatch ? nameMatch[1] : this.formatTitle(tool.name);
170
+
171
+ let commandContent = `# /tool-${tool.name} Command
172
+
173
+ When this command is used, execute the following tool:
174
+
175
+ ## ${toolName} Tool
176
+
177
+ ${content}
178
+
179
+ ## Command Usage
180
+
181
+ This command executes the ${toolName} tool from the XIAOMA ${tool.module.toUpperCase()} module.
182
+
183
+ ## Module
184
+
185
+ Part of the XIAOMA ${tool.module.toUpperCase()} module.
186
+ `;
187
+
188
+ return commandContent;
189
+ }
190
+
191
+ /**
192
+ * Create workflow command content
193
+ */
194
+ createWorkflowCommand(workflow, content) {
195
+ const workflowName = workflow.name ? this.formatTitle(workflow.name) : 'Workflow';
196
+
197
+ let commandContent = `# /${workflow.name} Command
198
+
199
+ When this command is used, execute the following workflow:
200
+
201
+ ## ${workflowName} Workflow
202
+
203
+ ${content}
204
+
205
+ ## Command Usage
206
+
207
+ This command executes the ${workflowName} workflow from the XIAOMA ${workflow.module.toUpperCase()} module.
208
+
209
+ ## Module
210
+
211
+ Part of the XIAOMA ${workflow.module.toUpperCase()} module.
212
+ `;
213
+
214
+ return commandContent;
215
+ }
216
+
217
+ /**
218
+ * Format name as title
219
+ */
220
+ formatTitle(name) {
221
+ return name
222
+ .split('-')
223
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
224
+ .join(' ');
225
+ }
226
+
227
+ /**
228
+ * Cleanup Crush configuration
229
+ */
230
+ async cleanup(projectDir) {
231
+ const fs = require('fs-extra');
232
+ const xiaomaCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'xiaoma');
233
+
234
+ if (await fs.pathExists(xiaomaCommandsDir)) {
235
+ await fs.remove(xiaomaCommandsDir);
236
+ console.log(chalk.dim(`Removed XIAOMA commands from Crush`));
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Install a custom agent launcher for Crush
242
+ * @param {string} projectDir - Project directory
243
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
244
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
245
+ * @param {Object} metadata - Agent metadata
246
+ * @returns {Object} Installation result
247
+ */
248
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
249
+ const crushDir = path.join(projectDir, this.configDir);
250
+ const xiaomaCommandsDir = path.join(crushDir, this.commandsDir, 'xiaoma');
251
+
252
+ // Create .crush/commands/xiaoma directory if it doesn't exist
253
+ await fs.ensureDir(xiaomaCommandsDir);
254
+
255
+ // Create custom agent launcher
256
+ const launcherContent = `# ${agentName} Custom Agent
257
+
258
+ **⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
259
+
260
+ This is a launcher for the custom XIAOMA agent "${agentName}".
261
+
262
+ ## Usage
263
+ 1. First run: \`${agentPath}\` to load the complete agent
264
+ 2. Then use this command to activate ${agentName}
265
+
266
+ The agent will follow the persona and instructions from the main agent file.
267
+
268
+ ---
269
+
270
+ *Generated by XIAOMA Method*`;
271
+
272
+ const fileName = `custom-${agentName.toLowerCase()}.md`;
273
+ const launcherPath = path.join(xiaomaCommandsDir, fileName);
274
+
275
+ // Write the launcher file
276
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
277
+
278
+ return {
279
+ ide: 'crush',
280
+ path: path.relative(projectDir, launcherPath),
281
+ command: agentName,
282
+ type: 'custom-agent-launcher',
283
+ };
284
+ }
285
+ }
286
+
287
+ module.exports = { CrushSetup };
@@ -0,0 +1,400 @@
1
+ const path = require('node:path');
2
+ const { BaseIdeSetup } = require('./_base-ide');
3
+ const chalk = require('chalk');
4
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
5
+
6
+ /**
7
+ * Cursor IDE setup handler
8
+ */
9
+ class CursorSetup extends BaseIdeSetup {
10
+ constructor() {
11
+ super('cursor', 'Cursor', true); // preferred IDE
12
+ this.configDir = '.cursor';
13
+ this.rulesDir = 'rules';
14
+ }
15
+
16
+ /**
17
+ * Cleanup old XIAOMA installation before reinstalling
18
+ * @param {string} projectDir - Project directory
19
+ */
20
+ async cleanup(projectDir) {
21
+ const fs = require('fs-extra');
22
+ const xiaomaRulesDir = path.join(projectDir, this.configDir, this.rulesDir, 'xiaoma');
23
+
24
+ if (await fs.pathExists(xiaomaRulesDir)) {
25
+ await fs.remove(xiaomaRulesDir);
26
+ console.log(chalk.dim(` Removed old XIAOMA rules from ${this.name}`));
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Setup Cursor IDE configuration
32
+ * @param {string} projectDir - Project directory
33
+ * @param {string} xiaomaDir - XIAOMA installation directory
34
+ * @param {Object} options - Setup options
35
+ */
36
+ async setup(projectDir, xiaomaDir, options = {}) {
37
+ console.log(chalk.cyan(`Setting up ${this.name}...`));
38
+
39
+ // Clean up old XIAOMA installation first
40
+ await this.cleanup(projectDir);
41
+
42
+ // Create .cursor/rules directory structure
43
+ const cursorDir = path.join(projectDir, this.configDir);
44
+ const rulesDir = path.join(cursorDir, this.rulesDir);
45
+ const xiaomaRulesDir = path.join(rulesDir, 'xiaoma');
46
+
47
+ await this.ensureDir(xiaomaRulesDir);
48
+
49
+ // Generate agent launchers first
50
+ const agentGen = new AgentCommandGenerator(this.xiaomaFolderName);
51
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(xiaomaDir, options.selectedModules || []);
52
+
53
+ // Convert artifacts to agent format for index creation
54
+ const agents = agentArtifacts.map((a) => ({ module: a.module, name: a.name }));
55
+
56
+ // Get tasks, tools, and workflows (standalone only)
57
+ const tasks = await this.getTasks(xiaomaDir, true);
58
+ const tools = await this.getTools(xiaomaDir, true);
59
+ const workflows = await this.getWorkflows(xiaomaDir, true);
60
+
61
+ // Create directories for each module
62
+ const modules = new Set();
63
+ for (const item of [...agents, ...tasks, ...tools, ...workflows]) modules.add(item.module);
64
+
65
+ for (const module of modules) {
66
+ await this.ensureDir(path.join(xiaomaRulesDir, module));
67
+ await this.ensureDir(path.join(xiaomaRulesDir, module, 'agents'));
68
+ await this.ensureDir(path.join(xiaomaRulesDir, module, 'tasks'));
69
+ await this.ensureDir(path.join(xiaomaRulesDir, module, 'tools'));
70
+ await this.ensureDir(path.join(xiaomaRulesDir, module, 'workflows'));
71
+ }
72
+
73
+ // Process and write agent launchers with MDC format
74
+ let agentCount = 0;
75
+ for (const artifact of agentArtifacts) {
76
+ // Add MDC metadata header to launcher (but don't call processContent which adds activation headers)
77
+ const content = this.wrapLauncherWithMDC(artifact.content, {
78
+ module: artifact.module,
79
+ name: artifact.name,
80
+ });
81
+
82
+ const targetPath = path.join(xiaomaRulesDir, artifact.module, 'agents', `${artifact.name}.mdc`);
83
+
84
+ await this.writeFile(targetPath, content);
85
+ agentCount++;
86
+ }
87
+
88
+ // Process and copy tasks
89
+ let taskCount = 0;
90
+ for (const task of tasks) {
91
+ const content = await this.readAndProcess(task.path, {
92
+ module: task.module,
93
+ name: task.name,
94
+ });
95
+
96
+ const targetPath = path.join(xiaomaRulesDir, task.module, 'tasks', `${task.name}.mdc`);
97
+
98
+ await this.writeFile(targetPath, content);
99
+ taskCount++;
100
+ }
101
+
102
+ // Process and copy tools
103
+ let toolCount = 0;
104
+ for (const tool of tools) {
105
+ const content = await this.readAndProcess(tool.path, {
106
+ module: tool.module,
107
+ name: tool.name,
108
+ });
109
+
110
+ const targetPath = path.join(xiaomaRulesDir, tool.module, 'tools', `${tool.name}.mdc`);
111
+
112
+ await this.writeFile(targetPath, content);
113
+ toolCount++;
114
+ }
115
+
116
+ // Process and copy workflows
117
+ let workflowCount = 0;
118
+ for (const workflow of workflows) {
119
+ const content = await this.readAndProcess(workflow.path, {
120
+ module: workflow.module,
121
+ name: workflow.name,
122
+ });
123
+
124
+ const targetPath = path.join(xiaomaRulesDir, workflow.module, 'workflows', `${workflow.name}.mdc`);
125
+
126
+ await this.writeFile(targetPath, content);
127
+ workflowCount++;
128
+ }
129
+
130
+ // Create XIAOMA index file (but NOT .cursorrules - user manages that)
131
+ await this.createXIAOMAIndex(xiaomaRulesDir, agents, tasks, tools, workflows, modules);
132
+
133
+ console.log(chalk.green(`✓ ${this.name} configured:`));
134
+ console.log(chalk.dim(` - ${agentCount} agents installed`));
135
+ console.log(chalk.dim(` - ${taskCount} tasks installed`));
136
+ console.log(chalk.dim(` - ${toolCount} tools installed`));
137
+ console.log(chalk.dim(` - ${workflowCount} workflows installed`));
138
+ console.log(chalk.dim(` - Rules directory: ${path.relative(projectDir, xiaomaRulesDir)}`));
139
+
140
+ return {
141
+ success: true,
142
+ agents: agentCount,
143
+ tasks: taskCount,
144
+ tools: toolCount,
145
+ workflows: workflowCount,
146
+ };
147
+ }
148
+
149
+ /**
150
+ * Create XIAOMA index file for easy navigation
151
+ */
152
+ async createXIAOMAIndex(xiaomaRulesDir, agents, tasks, tools, workflows, modules) {
153
+ const indexPath = path.join(xiaomaRulesDir, 'index.mdc');
154
+
155
+ let content = `---
156
+ description: XIAOMA Method - Master Index
157
+ globs:
158
+ alwaysApply: true
159
+ ---
160
+
161
+ # XIAOMA Method - Cursor Rules Index
162
+
163
+ This is the master index for all XIAOMA agents, tasks, tools, and workflows available in your project.
164
+
165
+ ## Installation Complete!
166
+
167
+ XIAOMA rules have been installed to: \`.cursor/rules/xiaoma/\`
168
+
169
+ **Note:** XIAOMA does not modify your \`.cursorrules\` file. You manage that separately.
170
+
171
+ ## How to Use
172
+
173
+ - Reference specific agents: @xiaoma/{module}/agents/{agent-name}
174
+ - Reference specific tasks: @xiaoma/{module}/tasks/{task-name}
175
+ - Reference specific tools: @xiaoma/{module}/tools/{tool-name}
176
+ - Reference specific workflows: @xiaoma/{module}/workflows/{workflow-name}
177
+ - Reference entire modules: @xiaoma/{module}
178
+ - Reference this index: @xiaoma/index
179
+
180
+ ## Available Modules
181
+
182
+ `;
183
+
184
+ for (const module of modules) {
185
+ content += `### ${module.toUpperCase()}\n\n`;
186
+
187
+ // List agents for this module
188
+ const moduleAgents = agents.filter((a) => a.module === module);
189
+ if (moduleAgents.length > 0) {
190
+ content += `**Agents:**\n`;
191
+ for (const agent of moduleAgents) {
192
+ content += `- @xiaoma/${module}/agents/${agent.name} - ${agent.name}\n`;
193
+ }
194
+ content += '\n';
195
+ }
196
+
197
+ // List tasks for this module
198
+ const moduleTasks = tasks.filter((t) => t.module === module);
199
+ if (moduleTasks.length > 0) {
200
+ content += `**Tasks:**\n`;
201
+ for (const task of moduleTasks) {
202
+ content += `- @xiaoma/${module}/tasks/${task.name} - ${task.name}\n`;
203
+ }
204
+ content += '\n';
205
+ }
206
+
207
+ // List tools for this module
208
+ const moduleTools = tools.filter((t) => t.module === module);
209
+ if (moduleTools.length > 0) {
210
+ content += `**Tools:**\n`;
211
+ for (const tool of moduleTools) {
212
+ content += `- @xiaoma/${module}/tools/${tool.name} - ${tool.name}\n`;
213
+ }
214
+ content += '\n';
215
+ }
216
+
217
+ // List workflows for this module
218
+ const moduleWorkflows = workflows.filter((w) => w.module === module);
219
+ if (moduleWorkflows.length > 0) {
220
+ content += `**Workflows:**\n`;
221
+ for (const workflow of moduleWorkflows) {
222
+ content += `- @xiaoma/${module}/workflows/${workflow.name} - ${workflow.name}\n`;
223
+ }
224
+ content += '\n';
225
+ }
226
+ }
227
+
228
+ content += `
229
+ ## Quick Reference
230
+
231
+ - All XIAOMA rules are Manual type - reference them explicitly when needed
232
+ - Agents provide persona-based assistance with specific expertise
233
+ - Tasks are reusable workflows for common operations
234
+ - Tools provide specialized functionality
235
+ - Workflows orchestrate multi-step processes
236
+ - Each agent includes an activation block for proper initialization
237
+
238
+ ## Configuration
239
+
240
+ XIAOMA rules are configured as Manual rules (alwaysApply: false) to give you control
241
+ over when they're included in your context. Reference them explicitly when you need
242
+ specific agent expertise, task workflows, tools, or guided workflows.
243
+ `;
244
+
245
+ await this.writeFile(indexPath, content);
246
+ }
247
+
248
+ /**
249
+ * Read and process file content
250
+ */
251
+ async readAndProcess(filePath, metadata) {
252
+ const fs = require('fs-extra');
253
+ const content = await fs.readFile(filePath, 'utf8');
254
+ return this.processContent(content, metadata);
255
+ }
256
+
257
+ /**
258
+ * Override processContent to add MDC metadata header for Cursor
259
+ * @param {string} content - File content
260
+ * @param {Object} metadata - File metadata
261
+ * @returns {string} Processed content with MDC header
262
+ */
263
+ processContent(content, metadata = {}) {
264
+ // First apply base processing (includes activation injection for agents)
265
+ let processed = super.processContent(content, metadata);
266
+
267
+ // Strip any existing frontmatter from the processed content
268
+ // This prevents duplicate frontmatter blocks
269
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
270
+ if (frontmatterRegex.test(processed)) {
271
+ processed = processed.replace(frontmatterRegex, '');
272
+ }
273
+
274
+ // Determine the type and description based on content
275
+ const isAgent = content.includes('<agent');
276
+ const isTask = content.includes('<task');
277
+ const isTool = content.includes('<tool');
278
+ const isWorkflow = content.includes('workflow:') || content.includes('name:');
279
+
280
+ let description = '';
281
+ let globs = '';
282
+
283
+ if (isAgent) {
284
+ // Extract agent title if available
285
+ const titleMatch = content.match(/title="([^"]+)"/);
286
+ const title = titleMatch ? titleMatch[1] : metadata.name;
287
+ description = `XIAOMA ${metadata.module.toUpperCase()} Agent: ${title}`;
288
+ globs = '';
289
+ } else if (isTask) {
290
+ // Extract task name if available
291
+ const nameMatch = content.match(/name="([^"]+)"/);
292
+ const taskName = nameMatch ? nameMatch[1] : metadata.name;
293
+ description = `XIAOMA ${metadata.module.toUpperCase()} Task: ${taskName}`;
294
+ globs = '';
295
+ } else if (isTool) {
296
+ // Extract tool name if available
297
+ const nameMatch = content.match(/name="([^"]+)"/);
298
+ const toolName = nameMatch ? nameMatch[1] : metadata.name;
299
+ description = `XIAOMA ${metadata.module.toUpperCase()} Tool: ${toolName}`;
300
+ globs = '';
301
+ } else if (isWorkflow) {
302
+ // Workflow
303
+ description = `XIAOMA ${metadata.module.toUpperCase()} Workflow: ${metadata.name}`;
304
+ globs = '';
305
+ } else {
306
+ description = `XIAOMA ${metadata.module.toUpperCase()}: ${metadata.name}`;
307
+ globs = '';
308
+ }
309
+
310
+ // Create MDC metadata header
311
+ const mdcHeader = `---
312
+ description: ${description}
313
+ globs: ${globs}
314
+ alwaysApply: false
315
+ ---
316
+
317
+ `;
318
+
319
+ // Add the MDC header to the processed content
320
+ return mdcHeader + processed;
321
+ }
322
+
323
+ /**
324
+ * Wrap launcher content with MDC metadata (without base processing)
325
+ * Launchers are already complete and should not have activation headers injected
326
+ */
327
+ wrapLauncherWithMDC(launcherContent, metadata = {}) {
328
+ // Strip the launcher's frontmatter - we'll replace it with MDC frontmatter
329
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
330
+ const contentWithoutFrontmatter = launcherContent.replace(frontmatterRegex, '');
331
+
332
+ // Extract metadata from launcher frontmatter for MDC description
333
+ const nameMatch = launcherContent.match(/name:\s*"([^"]+)"/);
334
+ const name = nameMatch ? nameMatch[1] : metadata.name;
335
+
336
+ const description = `XIAOMA ${metadata.module.toUpperCase()} Agent: ${name}`;
337
+
338
+ // Create MDC metadata header
339
+ const mdcHeader = `---
340
+ description: ${description}
341
+ globs:
342
+ alwaysApply: false
343
+ ---
344
+
345
+ `;
346
+
347
+ // Return MDC header + launcher content (without its original frontmatter)
348
+ return mdcHeader + contentWithoutFrontmatter;
349
+ }
350
+
351
+ /**
352
+ * Install a custom agent launcher for Cursor
353
+ * @param {string} projectDir - Project directory
354
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
355
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
356
+ * @param {Object} metadata - Agent metadata
357
+ * @returns {Object|null} Info about created command
358
+ */
359
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
360
+ const customAgentsDir = path.join(projectDir, this.configDir, this.rulesDir, 'xiaoma', 'custom', 'agents');
361
+
362
+ if (!(await this.exists(path.join(projectDir, this.configDir)))) {
363
+ return null; // IDE not configured for this project
364
+ }
365
+
366
+ await this.ensureDir(customAgentsDir);
367
+
368
+ const launcherContent = `You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
369
+
370
+ <agent-activation CRITICAL="TRUE">
371
+ 1. LOAD the FULL agent file from @${agentPath}
372
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
373
+ 3. FOLLOW every step in the <activation> section precisely
374
+ 4. DISPLAY the welcome/greeting as instructed
375
+ 5. PRESENT the numbered menu
376
+ 6. WAIT for user input before proceeding
377
+ </agent-activation>
378
+ `;
379
+
380
+ // Cursor uses MDC format with metadata header
381
+ const mdcContent = `---
382
+ description: "${agentName} agent"
383
+ globs:
384
+ alwaysApply: false
385
+ ---
386
+
387
+ ${launcherContent}
388
+ `;
389
+
390
+ const launcherPath = path.join(customAgentsDir, `${agentName}.mdc`);
391
+ await this.writeFile(launcherPath, mdcContent);
392
+
393
+ return {
394
+ path: launcherPath,
395
+ command: `@${agentName}`,
396
+ };
397
+ }
398
+ }
399
+
400
+ module.exports = { CursorSetup };