@zeyue0329/xiaoma-cli 1.0.48 → 6.0.0-alpha.13

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 (914) hide show
  1. package/README.md +0 -2
  2. package/custom/src/agents/commit-poet/commit-poet.agent.yaml +129 -0
  3. package/custom/src/agents/commit-poet/installation-guide.md +36 -0
  4. package/custom/src/agents/toolsmith/installation-guide.md +36 -0
  5. package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  6. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  7. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  8. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  9. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  10. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +160 -0
  11. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  12. package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  13. package/custom/src/agents/toolsmith/toolsmith.agent.yaml +108 -0
  14. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  15. package/docs/agent-customization-guide.md +208 -0
  16. package/docs/custom-agent-installation.md +183 -0
  17. package/docs/document-sharding-guide.md +449 -0
  18. package/docs/ide-info/auggie.md +31 -0
  19. package/docs/ide-info/claude-code.md +25 -0
  20. package/docs/ide-info/cline.md +31 -0
  21. package/docs/ide-info/codex.md +21 -0
  22. package/docs/ide-info/crush.md +30 -0
  23. package/docs/ide-info/cursor.md +25 -0
  24. package/docs/ide-info/gemini.md +25 -0
  25. package/docs/ide-info/github-copilot.md +26 -0
  26. package/docs/ide-info/iflow.md +33 -0
  27. package/docs/ide-info/kilo.md +24 -0
  28. package/docs/ide-info/opencode.md +24 -0
  29. package/docs/ide-info/qwen.md +25 -0
  30. package/docs/ide-info/roo.md +27 -0
  31. package/docs/ide-info/rovo-dev.md +388 -0
  32. package/docs/ide-info/trae.md +25 -0
  33. package/docs/ide-info/windsurf.md +22 -0
  34. package/docs/index.md +144 -0
  35. package/docs/installers-bundlers/ide-injections.md +186 -0
  36. package/docs/installers-bundlers/installers-modules-platforms-reference.md +379 -0
  37. package/docs/rag/rag.md +812 -0
  38. package/docs/v4-to-v6-upgrade.md +220 -0
  39. package/docs/v6-open-items.md +17 -0
  40. package/docs/web-bundles-gemini-gpt-guide.md +468 -0
  41. package/eslint.config.mjs +133 -0
  42. package/package.json +41 -51
  43. package/prettier.config.mjs +32 -0
  44. package/src/core/_module-installer/install-config.yaml +29 -0
  45. package/src/core/_module-installer/installer.js +60 -0
  46. package/src/core/agents/xiaoma-master.agent.yaml +39 -0
  47. package/src/core/agents/xiaoma-web-orchestrator.agent.xml +113 -0
  48. package/src/core/resources/excalidraw/README.md +160 -0
  49. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  50. package/src/core/resources/excalidraw/library-loader.md +50 -0
  51. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  52. package/src/core/tasks/advanced-elicitation-methods.csv +51 -0
  53. package/src/core/tasks/advanced-elicitation.xml +116 -0
  54. package/src/core/tasks/index-docs.xml +65 -0
  55. package/src/core/tasks/validate-workflow.xml +89 -0
  56. package/src/core/tasks/workflow.xml +235 -0
  57. package/src/core/tools/shard-doc.xml +109 -0
  58. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  59. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  60. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  61. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  62. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  63. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  64. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  65. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  66. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  67. package/src/core/workflows/brainstorming/template.md +15 -0
  68. package/src/core/workflows/brainstorming/workflow.md +51 -0
  69. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  70. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  71. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  72. package/src/core/workflows/party-mode/workflow.md +207 -0
  73. package/src/modules/cis/_module-installer/install-config.yaml +16 -0
  74. package/src/modules/cis/_module-installer/installer.js +92 -0
  75. package/src/modules/cis/agents/README.md +104 -0
  76. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +29 -0
  77. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +29 -0
  78. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +29 -0
  79. package/src/modules/cis/agents/innovation-strategist.agent.yaml +29 -0
  80. package/src/modules/cis/agents/presentation-master.agent.yaml +61 -0
  81. package/src/modules/cis/agents/storyteller.agent.yaml +29 -0
  82. package/src/modules/cis/readme.md +153 -0
  83. package/src/modules/cis/teams/creative-squad.yaml +7 -0
  84. package/src/modules/cis/teams/default-party.csv +12 -0
  85. package/src/modules/cis/workflows/README.md +139 -0
  86. package/src/modules/cis/workflows/design-thinking/README.md +56 -0
  87. package/src/modules/cis/workflows/design-thinking/design-methods.csv +31 -0
  88. package/src/modules/cis/workflows/design-thinking/instructions.md +202 -0
  89. package/src/modules/cis/workflows/design-thinking/template.md +111 -0
  90. package/src/modules/cis/workflows/design-thinking/workflow.yaml +38 -0
  91. package/src/modules/cis/workflows/innovation-strategy/README.md +56 -0
  92. package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  93. package/src/modules/cis/workflows/innovation-strategy/instructions.md +276 -0
  94. package/src/modules/cis/workflows/innovation-strategy/template.md +189 -0
  95. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +38 -0
  96. package/src/modules/cis/workflows/problem-solving/README.md +56 -0
  97. package/src/modules/cis/workflows/problem-solving/instructions.md +252 -0
  98. package/src/modules/cis/workflows/problem-solving/solving-methods.csv +31 -0
  99. package/src/modules/cis/workflows/problem-solving/template.md +165 -0
  100. package/src/modules/cis/workflows/problem-solving/workflow.yaml +38 -0
  101. package/src/modules/cis/workflows/storytelling/README.md +58 -0
  102. package/src/modules/cis/workflows/storytelling/instructions.md +293 -0
  103. package/src/modules/cis/workflows/storytelling/story-types.csv +26 -0
  104. package/src/modules/cis/workflows/storytelling/template.md +113 -0
  105. package/src/modules/cis/workflows/storytelling/workflow.yaml +38 -0
  106. package/src/modules/xmb/README.md +261 -0
  107. package/src/modules/xmb/_module-installer/install-config.yaml +28 -0
  108. package/src/modules/xmb/agents/xiaoma-builder.agent.yaml +71 -0
  109. package/src/modules/xmb/docs/agents/agent-compilation.md +340 -0
  110. package/src/modules/xmb/docs/agents/agent-menu-patterns.md +524 -0
  111. package/src/modules/xmb/docs/agents/expert-agent-architecture.md +364 -0
  112. package/src/modules/xmb/docs/agents/index.md +55 -0
  113. package/src/modules/xmb/docs/agents/kb.csv +0 -0
  114. package/src/modules/xmb/docs/agents/module-agent-architecture.md +367 -0
  115. package/src/modules/xmb/docs/agents/simple-agent-architecture.md +288 -0
  116. package/src/modules/xmb/docs/agents/understanding-agent-types.md +184 -0
  117. package/src/modules/xmb/docs/workflows/architecture.md +220 -0
  118. package/src/modules/xmb/docs/workflows/common-workflow-tools.csv +19 -0
  119. package/src/modules/xmb/docs/workflows/csv-data-file-standards.md +206 -0
  120. package/src/modules/xmb/docs/workflows/index.md +45 -0
  121. package/src/modules/xmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  122. package/src/modules/xmb/docs/workflows/kb.csv +0 -0
  123. package/src/modules/xmb/docs/workflows/step-template.md +283 -0
  124. package/src/modules/xmb/docs/workflows/terms.md +97 -0
  125. package/src/modules/xmb/docs/workflows/workflow-template.md +152 -0
  126. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  127. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  128. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  129. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  130. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  131. package/src/modules/xmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  132. package/src/modules/xmb/reference/agents/module-examples/README.md +50 -0
  133. package/src/modules/xmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  134. package/src/modules/xmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  135. package/src/modules/xmb/reference/agents/simple-examples/README.md +223 -0
  136. package/src/modules/xmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  137. package/src/modules/xmb/reference/readme.md +3 -0
  138. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  139. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  140. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  141. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  142. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  143. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  144. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  145. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  146. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  147. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  148. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  149. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  150. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  151. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  152. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  153. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  154. package/src/modules/xmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  155. package/src/modules/xmb/workflows/create-agent/data/agent-validation-checklist.md +174 -0
  156. package/src/modules/xmb/workflows/create-agent/data/brainstorm-context.md +153 -0
  157. package/src/modules/xmb/workflows/create-agent/data/communication-presets.csv +61 -0
  158. package/src/modules/xmb/workflows/create-agent/data/info-and-installation-guide.md +17 -0
  159. package/src/modules/xmb/workflows/create-agent/data/reference/README.md +3 -0
  160. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  161. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  162. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  163. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  164. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  165. package/src/modules/xmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  166. package/src/modules/xmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  167. package/src/modules/xmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  168. package/src/modules/xmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  169. package/src/modules/xmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  170. package/src/modules/xmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  171. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  172. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  173. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  174. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  175. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  176. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  177. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  178. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  179. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  180. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  181. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  182. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  183. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  184. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  185. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  186. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  187. package/src/modules/xmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  188. package/src/modules/xmb/workflows/create-agent/data/validation-complete.md +305 -0
  189. package/src/modules/xmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  190. package/src/modules/xmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  191. package/src/modules/xmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  192. package/src/modules/xmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  193. package/src/modules/xmb/workflows/create-agent/steps/step-05-name.md +231 -0
  194. package/src/modules/xmb/workflows/create-agent/steps/step-06-build.md +224 -0
  195. package/src/modules/xmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  196. package/src/modules/xmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  197. package/src/modules/xmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  198. package/src/modules/xmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  199. package/src/modules/xmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  200. package/src/modules/xmb/workflows/create-agent/templates/agent_commands.md +21 -0
  201. package/src/modules/xmb/workflows/create-agent/templates/agent_persona.md +25 -0
  202. package/src/modules/xmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  203. package/src/modules/xmb/workflows/create-agent/workflow.md +91 -0
  204. package/src/modules/xmb/workflows/create-workflow/steps/step-01-init.md +168 -0
  205. package/src/modules/xmb/workflows/create-workflow/steps/step-02-gather.md +233 -0
  206. package/src/modules/xmb/workflows/create-workflow/steps/step-03-tools-overview.md +127 -0
  207. package/src/modules/xmb/workflows/create-workflow/steps/step-04-core-tools.md +145 -0
  208. package/src/modules/xmb/workflows/create-workflow/steps/step-05-memory-requirements.md +136 -0
  209. package/src/modules/xmb/workflows/create-workflow/steps/step-06-external-tools.md +154 -0
  210. package/src/modules/xmb/workflows/create-workflow/steps/step-07-installation-guidance.md +159 -0
  211. package/src/modules/xmb/workflows/create-workflow/steps/step-08-tools-summary.md +167 -0
  212. package/src/modules/xmb/workflows/create-workflow/steps/step-09-design.md +239 -0
  213. package/src/modules/xmb/workflows/create-workflow/steps/step-10-plan-review.md +215 -0
  214. package/src/modules/xmb/workflows/create-workflow/steps/step-11-build.md +262 -0
  215. package/src/modules/xmb/workflows/create-workflow/steps/step-12-review.md +270 -0
  216. package/src/modules/xmb/workflows/create-workflow/templates/build-summary.md +36 -0
  217. package/src/modules/xmb/workflows/create-workflow/templates/completion-section.md +39 -0
  218. package/src/modules/xmb/workflows/create-workflow/templates/content-template.md +21 -0
  219. package/src/modules/xmb/workflows/create-workflow/templates/design-section.md +53 -0
  220. package/src/modules/xmb/workflows/create-workflow/templates/project-info.md +18 -0
  221. package/src/modules/xmb/workflows/create-workflow/templates/requirements-section.md +47 -0
  222. package/src/modules/xmb/workflows/create-workflow/templates/review-section.md +56 -0
  223. package/src/modules/xmb/workflows/create-workflow/templates/step-file.md +139 -0
  224. package/src/modules/xmb/workflows/create-workflow/templates/workflow-plan.md +54 -0
  225. package/src/modules/xmb/workflows/create-workflow/templates/workflow.md +58 -0
  226. package/src/modules/xmb/workflows/create-workflow/workflow.md +58 -0
  227. package/src/modules/xmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  228. package/src/modules/xmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  229. package/src/modules/xmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  230. package/src/modules/xmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  231. package/src/modules/xmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  232. package/src/modules/xmb/workflows/edit-agent/workflow.md +58 -0
  233. package/src/modules/xmb/workflows/edit-workflow/steps/step-01-analyze.md +221 -0
  234. package/src/modules/xmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  235. package/src/modules/xmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  236. package/src/modules/xmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  237. package/src/modules/xmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  238. package/src/modules/xmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  239. package/src/modules/xmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  240. package/src/modules/xmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  241. package/src/modules/xmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  242. package/src/modules/xmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  243. package/src/modules/xmb/workflows/edit-workflow/workflow.md +58 -0
  244. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  245. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  246. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  247. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  248. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  249. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  250. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  251. package/src/modules/xmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  252. package/src/modules/xmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  253. package/src/modules/xmb/workflows/workflow-compliance-check/workflow.md +58 -0
  254. package/src/modules/xmb/workflows-legacy/create-module/README.md +229 -0
  255. package/src/modules/xmb/workflows-legacy/create-module/brainstorm-context.md +137 -0
  256. package/src/modules/xmb/workflows-legacy/create-module/checklist.md +235 -0
  257. package/src/modules/xmb/workflows-legacy/create-module/installer-templates/install-config.yaml +92 -0
  258. package/src/modules/xmb/workflows-legacy/create-module/installer-templates/installer.js +231 -0
  259. package/src/modules/xmb/workflows-legacy/create-module/instructions.md +577 -0
  260. package/src/modules/xmb/workflows-legacy/create-module/module-structure.md +400 -0
  261. package/src/modules/xmb/workflows-legacy/create-module/workflow.yaml +52 -0
  262. package/src/modules/xmb/workflows-legacy/edit-module/README.md +187 -0
  263. package/src/modules/xmb/workflows-legacy/edit-module/checklist.md +165 -0
  264. package/src/modules/xmb/workflows-legacy/edit-module/instructions.md +341 -0
  265. package/src/modules/xmb/workflows-legacy/edit-module/workflow.yaml +34 -0
  266. package/src/modules/xmb/workflows-legacy/module-brief/README.md +264 -0
  267. package/src/modules/xmb/workflows-legacy/module-brief/checklist.md +116 -0
  268. package/src/modules/xmb/workflows-legacy/module-brief/instructions.md +268 -0
  269. package/src/modules/xmb/workflows-legacy/module-brief/template.md +275 -0
  270. package/src/modules/xmb/workflows-legacy/module-brief/workflow.yaml +36 -0
  271. package/src/modules/xmc/README.md +128 -0
  272. package/src/modules/xmc/_module-installer/install-config.yaml +53 -0
  273. package/src/modules/xmc/_module-installer/installer.js +131 -0
  274. package/src/modules/xmc/_module-installer/platform-specifics/claude-code.js +35 -0
  275. package/src/modules/xmc/_module-installer/platform-specifics/windsurf.js +32 -0
  276. package/src/modules/xmc/agents/analyst.agent.yaml +49 -0
  277. package/src/modules/xmc/agents/architect.agent.yaml +52 -0
  278. package/src/modules/xmc/agents/auto-iteration-orchestrator.agent.yaml +115 -0
  279. package/src/modules/xmc/agents/dev.agent.yaml +44 -0
  280. package/src/modules/xmc/agents/pm.agent.yaml +50 -0
  281. package/src/modules/xmc/agents/quick-flow-solo-dev.agent.yaml +36 -0
  282. package/src/modules/xmc/agents/sm.agent.yaml +55 -0
  283. package/src/modules/xmc/agents/tea.agent.yaml +70 -0
  284. package/src/modules/xmc/agents/tech-writer.agent.yaml +67 -0
  285. package/src/modules/xmc/agents/ux-designer.agent.yaml +45 -0
  286. package/src/modules/xmc/data/README.md +29 -0
  287. package/src/modules/xmc/data/documentation-standards.md +262 -0
  288. package/src/modules/xmc/data/project-context-template.md +40 -0
  289. package/src/modules/xmc/docs/README.md +252 -0
  290. package/src/modules/xmc/docs/agents-guide.md +952 -0
  291. package/src/modules/xmc/docs/brownfield-guide.md +750 -0
  292. package/src/modules/xmc/docs/enterprise-agentic-development.md +686 -0
  293. package/src/modules/xmc/docs/faq.md +561 -0
  294. package/src/modules/xmc/docs/glossary.md +303 -0
  295. package/src/modules/xmc/docs/images/workflow-method-greenfield.excalidraw +5174 -0
  296. package/src/modules/xmc/docs/images/workflow-method-greenfield.svg +2 -0
  297. package/src/modules/xmc/docs/iteration-development-guide.md +752 -0
  298. package/src/modules/xmc/docs/party-mode.md +224 -0
  299. package/src/modules/xmc/docs/quick-flow-solo-dev.md +337 -0
  300. package/src/modules/xmc/docs/quick-start.md +367 -0
  301. package/src/modules/xmc/docs/scale-adaptive-system.md +618 -0
  302. package/src/modules/xmc/docs/test-architecture.md +462 -0
  303. package/src/modules/xmc/docs/workflow-architecture-reference.md +366 -0
  304. package/src/modules/xmc/docs/workflow-document-project-reference.md +489 -0
  305. package/src/modules/xmc/docs/workflows-analysis.md +266 -0
  306. package/src/modules/xmc/docs/workflows-implementation.md +171 -0
  307. package/src/modules/xmc/docs/workflows-planning.md +451 -0
  308. package/src/modules/xmc/docs/workflows-solutioning.md +509 -0
  309. package/src/modules/xmc/docs/xiaoma-quick-flow.md +528 -0
  310. package/src/modules/xmc/sub-modules/claude-code/config.yaml +5 -0
  311. package/src/modules/xmc/sub-modules/claude-code/injections.yaml +242 -0
  312. package/src/modules/xmc/sub-modules/claude-code/readme.md +87 -0
  313. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +102 -0
  314. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +82 -0
  315. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +101 -0
  316. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +84 -0
  317. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +83 -0
  318. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +81 -0
  319. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +61 -0
  320. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +168 -0
  321. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +115 -0
  322. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +123 -0
  323. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +72 -0
  324. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +51 -0
  325. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +106 -0
  326. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +102 -0
  327. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +68 -0
  328. package/src/modules/xmc/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +108 -0
  329. package/src/modules/xmc/teams/default-party.csv +21 -0
  330. package/src/modules/xmc/teams/team-fullstack.yaml +12 -0
  331. package/src/modules/xmc/testarch/knowledge/api-request.md +303 -0
  332. package/src/modules/xmc/testarch/knowledge/auth-session.md +356 -0
  333. package/src/modules/xmc/testarch/knowledge/burn-in.md +273 -0
  334. package/src/modules/xmc/testarch/knowledge/ci-burn-in.md +675 -0
  335. package/src/modules/xmc/testarch/knowledge/component-tdd.md +486 -0
  336. package/src/modules/xmc/testarch/knowledge/contract-testing.md +957 -0
  337. package/src/modules/xmc/testarch/knowledge/data-factories.md +500 -0
  338. package/src/modules/xmc/testarch/knowledge/email-auth.md +721 -0
  339. package/src/modules/xmc/testarch/knowledge/error-handling.md +725 -0
  340. package/src/modules/xmc/testarch/knowledge/feature-flags.md +750 -0
  341. package/src/modules/xmc/testarch/knowledge/file-utils.md +260 -0
  342. package/src/modules/xmc/testarch/knowledge/fixture-architecture.md +401 -0
  343. package/src/modules/xmc/testarch/knowledge/fixtures-composition.md +382 -0
  344. package/src/modules/xmc/testarch/knowledge/intercept-network-call.md +280 -0
  345. package/src/modules/xmc/testarch/knowledge/log.md +294 -0
  346. package/src/modules/xmc/testarch/knowledge/network-error-monitor.md +272 -0
  347. package/src/modules/xmc/testarch/knowledge/network-first.md +486 -0
  348. package/src/modules/xmc/testarch/knowledge/network-recorder.md +265 -0
  349. package/src/modules/xmc/testarch/knowledge/nfr-criteria.md +670 -0
  350. package/src/modules/xmc/testarch/knowledge/overview.md +284 -0
  351. package/src/modules/xmc/testarch/knowledge/playwright-config.md +730 -0
  352. package/src/modules/xmc/testarch/knowledge/probability-impact.md +601 -0
  353. package/src/modules/xmc/testarch/knowledge/recurse.md +296 -0
  354. package/src/modules/xmc/testarch/knowledge/risk-governance.md +615 -0
  355. package/src/modules/xmc/testarch/knowledge/selective-testing.md +732 -0
  356. package/src/modules/xmc/testarch/knowledge/selector-resilience.md +527 -0
  357. package/src/modules/xmc/testarch/knowledge/test-healing-patterns.md +644 -0
  358. package/src/modules/xmc/testarch/knowledge/test-levels-framework.md +473 -0
  359. package/src/modules/xmc/testarch/knowledge/test-priorities-matrix.md +373 -0
  360. package/src/modules/xmc/testarch/knowledge/test-quality.md +664 -0
  361. package/src/modules/xmc/testarch/knowledge/timing-debugging.md +372 -0
  362. package/src/modules/xmc/testarch/knowledge/visual-debugging.md +524 -0
  363. package/src/modules/xmc/testarch/tea-index.csv +33 -0
  364. package/src/modules/xmc/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  365. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  366. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  367. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  368. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  369. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  370. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  371. package/src/modules/xmc/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  372. package/src/modules/xmc/workflows/1-analysis/product-brief/workflow.md +58 -0
  373. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  374. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  375. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  376. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  377. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  378. package/src/modules/xmc/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  379. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  380. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +235 -0
  381. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +198 -0
  382. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +247 -0
  383. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +257 -0
  384. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +175 -0
  385. package/src/modules/xmc/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  386. package/src/modules/xmc/workflows/1-analysis/research/research.template.md +16 -0
  387. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  388. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +237 -0
  389. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +246 -0
  390. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +200 -0
  391. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +237 -0
  392. package/src/modules/xmc/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  393. package/src/modules/xmc/workflows/1-analysis/research/workflow.md +198 -0
  394. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  395. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  396. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  397. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  398. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  399. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  400. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  401. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  402. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  403. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  404. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  405. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  406. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  407. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  408. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  409. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  410. package/src/modules/xmc/workflows/2-plan-workflows/create-ux-design/workflow.md +53 -0
  411. package/src/modules/xmc/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  412. package/src/modules/xmc/workflows/2-plan-workflows/prd/prd-template.md +9 -0
  413. package/src/modules/xmc/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  414. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-01-init.md +161 -0
  415. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +123 -0
  416. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +275 -0
  417. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-03-success.md +271 -0
  418. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +272 -0
  419. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-05-domain.md +249 -0
  420. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +240 -0
  421. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +236 -0
  422. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +280 -0
  423. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-09-functional.md +251 -0
  424. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +275 -0
  425. package/src/modules/xmc/workflows/2-plan-workflows/prd/steps/step-11-complete.md +210 -0
  426. package/src/modules/xmc/workflows/2-plan-workflows/prd/workflow.md +61 -0
  427. package/src/modules/xmc/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  428. package/src/modules/xmc/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  429. package/src/modules/xmc/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  430. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  431. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  432. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  433. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  434. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  435. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  436. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  437. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  438. package/src/modules/xmc/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  439. package/src/modules/xmc/workflows/3-solutioning/architecture/workflow.md +48 -0
  440. package/src/modules/xmc/workflows/3-solutioning/create-epics-and-stories/epics-template.md +80 -0
  441. package/src/modules/xmc/workflows/3-solutioning/create-epics-and-stories/instructions.md +387 -0
  442. package/src/modules/xmc/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +53 -0
  443. package/src/modules/xmc/workflows/3-solutioning/implementation-readiness/checklist.md +169 -0
  444. package/src/modules/xmc/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  445. package/src/modules/xmc/workflows/3-solutioning/implementation-readiness/template.md +146 -0
  446. package/src/modules/xmc/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
  447. package/src/modules/xmc/workflows/4-implementation/code-review/instructions.xml +176 -0
  448. package/src/modules/xmc/workflows/4-implementation/code-review/workflow.yaml +54 -0
  449. package/src/modules/xmc/workflows/4-implementation/correct-course/checklist.md +279 -0
  450. package/src/modules/xmc/workflows/4-implementation/correct-course/instructions.md +206 -0
  451. package/src/modules/xmc/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  452. package/src/modules/xmc/workflows/4-implementation/create-story/checklist.md +358 -0
  453. package/src/modules/xmc/workflows/4-implementation/create-story/instructions.xml +354 -0
  454. package/src/modules/xmc/workflows/4-implementation/create-story/template.md +51 -0
  455. package/src/modules/xmc/workflows/4-implementation/create-story/workflow.yaml +60 -0
  456. package/src/modules/xmc/workflows/4-implementation/dev-story/checklist.md +80 -0
  457. package/src/modules/xmc/workflows/4-implementation/dev-story/instructions.xml +406 -0
  458. package/src/modules/xmc/workflows/4-implementation/dev-story/workflow.yaml +27 -0
  459. package/src/modules/xmc/workflows/4-implementation/retrospective/instructions.md +1443 -0
  460. package/src/modules/xmc/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  461. package/src/modules/xmc/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  462. package/src/modules/xmc/workflows/4-implementation/sprint-planning/instructions.md +232 -0
  463. package/src/modules/xmc/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +56 -0
  464. package/src/modules/xmc/workflows/4-implementation/sprint-planning/workflow.yaml +53 -0
  465. package/src/modules/xmc/workflows/auto-iteration/full-auto-workflow.md +692 -0
  466. package/src/modules/xmc/workflows/auto-iteration/knowledge-base/kb-call-points.md +595 -0
  467. package/src/modules/xmc/workflows/auto-iteration/knowledge-base/kb-interface.md +347 -0
  468. package/src/modules/xmc/workflows/auto-iteration/knowledge-base/kb-query.md +368 -0
  469. package/src/modules/xmc/workflows/auto-iteration/knowledge-base/kb-setup.md +343 -0
  470. package/src/modules/xmc/workflows/auto-iteration/phases/phase-1-analyze.md +406 -0
  471. package/src/modules/xmc/workflows/auto-iteration/phases/phase-2-plan.md +574 -0
  472. package/src/modules/xmc/workflows/auto-iteration/phases/phase-3-design.md +628 -0
  473. package/src/modules/xmc/workflows/auto-iteration/phases/phase-4-develop.md +622 -0
  474. package/src/modules/xmc/workflows/auto-iteration/phases/phase-5-test.md +538 -0
  475. package/src/modules/xmc/workflows/auto-iteration/resume.md +254 -0
  476. package/src/modules/xmc/workflows/auto-iteration/status.md +194 -0
  477. package/src/modules/xmc/workflows/auto-iteration/templates/auto-iteration-status.template.yaml +142 -0
  478. package/src/modules/xmc/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  479. package/src/modules/xmc/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  480. package/src/modules/xmc/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  481. package/src/modules/xmc/workflows/bmad-quick-flow/quick-dev/instructions.md +105 -0
  482. package/src/modules/xmc/workflows/bmad-quick-flow/quick-dev/workflow.yaml +29 -0
  483. package/src/modules/xmc/workflows/diagrams/_shared/excalidraw-library.json +90 -0
  484. package/src/modules/xmc/workflows/diagrams/_shared/excalidraw-templates.yaml +127 -0
  485. package/src/modules/xmc/workflows/diagrams/create-dataflow/checklist.md +39 -0
  486. package/src/modules/xmc/workflows/diagrams/create-dataflow/instructions.md +130 -0
  487. package/src/modules/xmc/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
  488. package/src/modules/xmc/workflows/diagrams/create-diagram/checklist.md +43 -0
  489. package/src/modules/xmc/workflows/diagrams/create-diagram/instructions.md +141 -0
  490. package/src/modules/xmc/workflows/diagrams/create-diagram/workflow.yaml +27 -0
  491. package/src/modules/xmc/workflows/diagrams/create-flowchart/checklist.md +49 -0
  492. package/src/modules/xmc/workflows/diagrams/create-flowchart/instructions.md +241 -0
  493. package/src/modules/xmc/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
  494. package/src/modules/xmc/workflows/diagrams/create-wireframe/checklist.md +38 -0
  495. package/src/modules/xmc/workflows/diagrams/create-wireframe/instructions.md +133 -0
  496. package/src/modules/xmc/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
  497. package/src/modules/xmc/workflows/document-project/checklist.md +245 -0
  498. package/src/modules/xmc/workflows/document-project/documentation-requirements.csv +12 -0
  499. package/src/modules/xmc/workflows/document-project/instructions.md +222 -0
  500. package/src/modules/xmc/workflows/document-project/templates/deep-dive-template.md +345 -0
  501. package/src/modules/xmc/workflows/document-project/templates/index-template.md +169 -0
  502. package/src/modules/xmc/workflows/document-project/templates/project-overview-template.md +103 -0
  503. package/src/modules/xmc/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  504. package/src/modules/xmc/workflows/document-project/templates/source-tree-template.md +135 -0
  505. package/src/modules/xmc/workflows/document-project/workflow.yaml +31 -0
  506. package/src/modules/xmc/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  507. package/src/modules/xmc/workflows/document-project/workflows/deep-dive.yaml +31 -0
  508. package/src/modules/xmc/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  509. package/src/modules/xmc/workflows/document-project/workflows/full-scan.yaml +31 -0
  510. package/src/modules/xmc/workflows/generate-project-context/project-context-template.md +20 -0
  511. package/src/modules/xmc/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  512. package/src/modules/xmc/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  513. package/src/modules/xmc/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  514. package/src/modules/xmc/workflows/generate-project-context/workflow.md +48 -0
  515. package/src/modules/xmc/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  516. package/src/modules/xmc/workflows/testarch/atdd/checklist.md +373 -0
  517. package/src/modules/xmc/workflows/testarch/atdd/instructions.md +805 -0
  518. package/src/modules/xmc/workflows/testarch/atdd/workflow.yaml +47 -0
  519. package/src/modules/xmc/workflows/testarch/automate/checklist.md +580 -0
  520. package/src/modules/xmc/workflows/testarch/automate/instructions.md +1324 -0
  521. package/src/modules/xmc/workflows/testarch/automate/workflow.yaml +54 -0
  522. package/src/modules/xmc/workflows/testarch/ci/checklist.md +246 -0
  523. package/src/modules/xmc/workflows/testarch/ci/github-actions-template.yaml +165 -0
  524. package/src/modules/xmc/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  525. package/src/modules/xmc/workflows/testarch/ci/instructions.md +534 -0
  526. package/src/modules/xmc/workflows/testarch/ci/workflow.yaml +47 -0
  527. package/src/modules/xmc/workflows/testarch/framework/checklist.md +321 -0
  528. package/src/modules/xmc/workflows/testarch/framework/instructions.md +481 -0
  529. package/src/modules/xmc/workflows/testarch/framework/workflow.yaml +49 -0
  530. package/src/modules/xmc/workflows/testarch/nfr-assess/checklist.md +405 -0
  531. package/src/modules/xmc/workflows/testarch/nfr-assess/instructions.md +722 -0
  532. package/src/modules/xmc/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  533. package/src/modules/xmc/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  534. package/src/modules/xmc/workflows/testarch/test-design/checklist.md +234 -0
  535. package/src/modules/xmc/workflows/testarch/test-design/instructions.md +788 -0
  536. package/src/modules/xmc/workflows/testarch/test-design/test-design-template.md +285 -0
  537. package/src/modules/xmc/workflows/testarch/test-design/workflow.yaml +50 -0
  538. package/src/modules/xmc/workflows/testarch/test-review/checklist.md +470 -0
  539. package/src/modules/xmc/workflows/testarch/test-review/instructions.md +628 -0
  540. package/src/modules/xmc/workflows/testarch/test-review/test-review-template.md +388 -0
  541. package/src/modules/xmc/workflows/testarch/test-review/workflow.yaml +48 -0
  542. package/src/modules/xmc/workflows/testarch/trace/checklist.md +654 -0
  543. package/src/modules/xmc/workflows/testarch/trace/instructions.md +1045 -0
  544. package/src/modules/xmc/workflows/testarch/trace/trace-template.md +673 -0
  545. package/src/modules/xmc/workflows/testarch/trace/workflow.yaml +57 -0
  546. package/src/modules/xmc/workflows/workflow-status/init/instructions.md +331 -0
  547. package/src/modules/xmc/workflows/workflow-status/init/workflow.yaml +29 -0
  548. package/src/modules/xmc/workflows/workflow-status/instructions.md +395 -0
  549. package/src/modules/xmc/workflows/workflow-status/paths/enterprise-brownfield.yaml +127 -0
  550. package/src/modules/xmc/workflows/workflow-status/paths/enterprise-greenfield.yaml +115 -0
  551. package/src/modules/xmc/workflows/workflow-status/paths/method-brownfield.yaml +111 -0
  552. package/src/modules/xmc/workflows/workflow-status/paths/method-greenfield.yaml +102 -0
  553. package/src/modules/xmc/workflows/workflow-status/project-levels.yaml +59 -0
  554. package/src/modules/xmc/workflows/workflow-status/workflow-status-template.yaml +24 -0
  555. package/src/modules/xmc/workflows/workflow-status/workflow.yaml +30 -0
  556. package/src/utility/models/action-command-header.md +0 -0
  557. package/src/utility/models/agent-activation-ide.xml +51 -0
  558. package/src/utility/models/agent-activation-web.xml +50 -0
  559. package/src/utility/models/agent-command-header.md +1 -0
  560. package/src/utility/models/agent-config-template.md +23 -0
  561. package/src/utility/models/agent-in-team-activation.xml +3 -0
  562. package/src/utility/models/fragments/activation-rules.xml +7 -0
  563. package/src/utility/models/fragments/activation-steps.xml +16 -0
  564. package/src/utility/models/fragments/handler-action.xml +4 -0
  565. package/src/utility/models/fragments/handler-data.xml +5 -0
  566. package/src/utility/models/fragments/handler-exec.xml +6 -0
  567. package/src/utility/models/fragments/handler-multi.xml +14 -0
  568. package/src/utility/models/fragments/handler-tmpl.xml +5 -0
  569. package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
  570. package/src/utility/models/fragments/handler-workflow.xml +9 -0
  571. package/src/utility/models/fragments/menu-handlers.xml +6 -0
  572. package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
  573. package/src/utility/templates/agent.customize.template.yaml +42 -0
  574. package/test/README.md +295 -0
  575. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +26 -0
  576. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +29 -0
  577. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +21 -0
  578. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +19 -0
  579. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +24 -0
  580. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +23 -0
  581. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +24 -0
  582. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +30 -0
  583. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +24 -0
  584. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +24 -0
  585. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +24 -0
  586. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +24 -0
  587. package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +26 -0
  588. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  589. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  590. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +26 -0
  591. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  592. package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +25 -0
  593. package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +26 -0
  594. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +23 -0
  595. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +26 -0
  596. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +26 -0
  597. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +23 -0
  598. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +28 -0
  599. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +30 -0
  600. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +27 -0
  601. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +27 -0
  602. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  603. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +27 -0
  604. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  605. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  606. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  607. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +23 -0
  608. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +21 -0
  609. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +26 -0
  610. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +30 -0
  611. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +21 -0
  612. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +37 -0
  613. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
  614. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +33 -0
  615. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +23 -0
  616. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +23 -0
  617. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +23 -0
  618. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +23 -0
  619. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +23 -0
  620. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +21 -0
  621. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +27 -0
  622. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +29 -0
  623. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +23 -0
  624. package/test/test-agent-schema.js +387 -0
  625. package/test/test-cli-integration.sh +159 -0
  626. package/test/test-installation-components.js +214 -0
  627. package/test/unit-test-schema.js +133 -0
  628. package/tools/cli/README.md +609 -0
  629. package/tools/cli/bundlers/bundle-web.js +179 -0
  630. package/tools/cli/bundlers/test-analyst.js +28 -0
  631. package/tools/cli/bundlers/test-bundler.js +119 -0
  632. package/tools/cli/bundlers/web-bundler.js +1764 -0
  633. package/tools/cli/commands/agent-install.js +409 -0
  634. package/tools/cli/commands/build.js +458 -0
  635. package/tools/cli/commands/cleanup.js +141 -0
  636. package/tools/cli/commands/install.js +124 -0
  637. package/tools/cli/commands/list.js +28 -0
  638. package/tools/cli/commands/status.js +47 -0
  639. package/tools/cli/commands/uninstall.js +44 -0
  640. package/tools/cli/commands/update.js +28 -0
  641. package/tools/cli/installers/lib/core/config-collector.js +876 -0
  642. package/tools/cli/installers/lib/core/dependency-resolver.js +725 -0
  643. package/tools/cli/installers/lib/core/detector.js +329 -0
  644. package/tools/cli/installers/lib/core/ide-config-manager.js +154 -0
  645. package/tools/cli/installers/lib/core/installer.js +2956 -0
  646. package/tools/cli/installers/lib/core/manifest-generator.js +692 -0
  647. package/tools/cli/installers/lib/core/manifest.js +540 -0
  648. package/tools/cli/installers/lib/ide/_base-ide.js +651 -0
  649. package/tools/cli/installers/lib/ide/antigravity.js +510 -0
  650. package/tools/cli/installers/lib/ide/auggie.js +232 -0
  651. package/tools/cli/installers/lib/ide/claude-code.js +512 -0
  652. package/tools/cli/installers/lib/ide/cline.js +269 -0
  653. package/tools/cli/installers/lib/ide/codex.js +388 -0
  654. package/tools/cli/installers/lib/ide/crush.js +287 -0
  655. package/tools/cli/installers/lib/ide/cursor.js +400 -0
  656. package/tools/cli/installers/lib/ide/gemini.js +253 -0
  657. package/tools/cli/installers/lib/ide/github-copilot.js +387 -0
  658. package/tools/cli/installers/lib/ide/iflow.js +172 -0
  659. package/tools/cli/installers/lib/ide/kilo.js +249 -0
  660. package/tools/cli/installers/lib/ide/manager.js +245 -0
  661. package/tools/cli/installers/lib/ide/opencode.js +257 -0
  662. package/tools/cli/installers/lib/ide/qwen.js +372 -0
  663. package/tools/cli/installers/lib/ide/roo.js +324 -0
  664. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  665. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
  666. package/tools/cli/installers/lib/ide/shared/module-injections.js +133 -0
  667. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +119 -0
  668. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +237 -0
  669. package/tools/cli/installers/lib/ide/shared/xiaoma-artifacts.js +143 -0
  670. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  671. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  672. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  673. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  674. package/tools/cli/installers/lib/ide/trae.js +313 -0
  675. package/tools/cli/installers/lib/ide/windsurf.js +258 -0
  676. package/tools/cli/installers/lib/modules/manager.js +751 -0
  677. package/tools/cli/lib/activation-builder.js +168 -0
  678. package/tools/cli/lib/agent/compiler.js +524 -0
  679. package/tools/cli/lib/agent/installer.js +735 -0
  680. package/tools/cli/lib/agent/template-engine.js +152 -0
  681. package/tools/cli/lib/agent-analyzer.js +109 -0
  682. package/tools/cli/lib/agent-party-generator.js +206 -0
  683. package/tools/cli/lib/cli-utils.js +210 -0
  684. package/tools/cli/lib/config.js +212 -0
  685. package/tools/cli/lib/file-ops.js +204 -0
  686. package/tools/cli/lib/platform-codes.js +116 -0
  687. package/tools/cli/lib/project-root.js +71 -0
  688. package/tools/cli/lib/replace-project-root.js +239 -0
  689. package/tools/cli/lib/ui.js +769 -0
  690. package/tools/cli/lib/xml-handler.js +229 -0
  691. package/tools/cli/lib/xml-to-markdown.js +82 -0
  692. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +36 -66
  693. package/tools/cli/lib/yaml-xml-builder.js +606 -0
  694. package/tools/cli/regenerate-manifests.js +28 -0
  695. package/tools/cli/test-yaml-builder.js +43 -0
  696. package/tools/cli/xiaoma-cli.js +40 -0
  697. package/tools/flattener/aggregate.js +12 -30
  698. package/tools/flattener/binary.js +43 -46
  699. package/tools/flattener/discovery.js +15 -23
  700. package/tools/flattener/files.js +6 -6
  701. package/tools/flattener/ignoreRules.js +122 -127
  702. package/tools/flattener/main.js +140 -330
  703. package/tools/flattener/projectRoot.js +71 -81
  704. package/tools/flattener/prompts.js +10 -12
  705. package/tools/flattener/stats.helpers.js +63 -119
  706. package/tools/flattener/stats.js +2 -7
  707. package/tools/flattener/test-matrix.js +169 -228
  708. package/tools/flattener/xml.js +23 -31
  709. package/tools/format-workflow-md.js +263 -0
  710. package/tools/platform-codes.yaml +145 -0
  711. package/tools/schema/agent.js +389 -0
  712. package/tools/validate-agent-schema.js +110 -0
  713. package/tools/validate-bundles.js +87 -0
  714. package/tools/xiaoma-npx-wrapper.js +18 -24
  715. package/.claude/agents/tech-translator.md +0 -124
  716. package/.claude/settings.local.json +0 -37
  717. package/.idea/XiaoMa-Cli.iml +0 -9
  718. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  719. package/.idea/misc.xml +0 -6
  720. package/.idea/modules.xml +0 -8
  721. package/.idea/prettier.xml +0 -6
  722. package/.idea/vcs.xml +0 -7
  723. package/.idea/workspace.xml +0 -114
  724. package/.xiaoma-core/.coordinator-state.json +0 -19
  725. package/CLAUDE.md +0 -283
  726. package/JAVA-BACKEND-COMMANDS-REFERENCE.md +0 -300
  727. package/JAVA-BACKEND-ITERATION-GUIDE.md +0 -2116
  728. package/common/tasks/create-doc.md +0 -103
  729. package/common/tasks/execute-checklist.md +0 -88
  730. package/common/utils/bmad-doc-template.md +0 -327
  731. package/common/utils/workflow-management.md +0 -71
  732. package/dist/agents/analyst.txt +0 -6308
  733. package/dist/agents/architect.txt +0 -3911
  734. package/dist/agents/automation-orchestrator.txt +0 -396
  735. package/dist/agents/dev.txt +0 -576
  736. package/dist/agents/full-requirement-orchestrator.txt +0 -505
  737. package/dist/agents/pm.txt +0 -2224
  738. package/dist/agents/po.txt +0 -1358
  739. package/dist/agents/qa.txt +0 -2002
  740. package/dist/agents/sm.txt +0 -2061
  741. package/dist/agents/ux-expert.txt +0 -707
  742. package/dist/agents/workflow-executor.txt +0 -1029
  743. package/dist/agents/workflow-helper.txt +0 -93
  744. package/dist/agents/xiaoma-master.txt +0 -9008
  745. package/dist/agents/xiaoma-orchestrator.txt +0 -1523
  746. package/dist/teams/team-all.txt +0 -19525
  747. package/dist/teams/team-fullstack-with-database.txt +0 -21500
  748. package/dist/teams/team-fullstack.txt +0 -13831
  749. package/dist/teams/team-ide-minimal.txt +0 -6698
  750. package/dist/teams/team-no-ui.txt +0 -12379
  751. package/docs/GUIDING-PRINCIPLES.md +0 -91
  752. package/docs/architecture/workflow-coordinator-implementation.md +0 -1188
  753. package/docs/architecture-sharding-modification.md +0 -623
  754. package/docs/automated-requirements-analysis-outputs.md +0 -896
  755. package/docs/core-architecture.md +0 -219
  756. package/docs/enhanced-ide-development-workflow.md +0 -248
  757. package/docs/prd/workflow-coordinator-prd.md +0 -1214
  758. package/docs/user-guide.md +0 -530
  759. package/docs/versioning-and-releases.md +0 -155
  760. package/docs/versions.md +0 -48
  761. package/docs/working-in-the-brownfield.md +0 -597
  762. package/tools/api-server.js +0 -367
  763. package/tools/builders/web-builder.js +0 -830
  764. package/tools/bump-all-versions.js +0 -133
  765. package/tools/cli.js +0 -157
  766. package/tools/installer/README.md +0 -8
  767. package/tools/installer/bin/xiaoma.js +0 -477
  768. package/tools/installer/config/ide-agent-config.yaml +0 -58
  769. package/tools/installer/config/install.config.yaml +0 -164
  770. package/tools/installer/lib/config-loader.js +0 -286
  771. package/tools/installer/lib/file-manager.js +0 -446
  772. package/tools/installer/lib/ide-base-setup.js +0 -238
  773. package/tools/installer/lib/ide-setup.js +0 -2027
  774. package/tools/installer/lib/installer.js +0 -2333
  775. package/tools/installer/lib/memory-profiler.js +0 -235
  776. package/tools/installer/lib/module-manager.js +0 -116
  777. package/tools/installer/lib/resource-locator.js +0 -334
  778. package/tools/installer/package-lock.json +0 -715
  779. package/tools/installer/package.json +0 -44
  780. package/tools/lib/dependency-resolver.js +0 -186
  781. package/tools/lib/yaml-utils.js +0 -34
  782. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  783. package/tools/preview-release-notes.js +0 -74
  784. package/tools/setup-hooks.sh +0 -37
  785. package/tools/shared/bannerArt.js +0 -105
  786. package/tools/sync-installer-version.js +0 -41
  787. package/tools/sync-version.sh +0 -23
  788. package/tools/upgraders/v3-to-v4-upgrader.js +0 -753
  789. package/tools/version-bump.js +0 -100
  790. package/tools/workflow-coordinator/README.md +0 -38
  791. package/tools/workflow-coordinator/USAGE.md +0 -548
  792. package/tools/workflow-coordinator/package-lock.json +0 -4868
  793. package/tools/workflow-coordinator/package.json +0 -35
  794. package/tools/workflow-coordinator/src/api/server.js +0 -207
  795. package/tools/workflow-coordinator/src/controller/workflow-controller.js +0 -263
  796. package/tools/workflow-coordinator/src/index.js +0 -113
  797. package/tools/workflow-coordinator/src/parser/workflow-parser.js +0 -144
  798. package/tools/workflow-coordinator/src/utils/state-manager.js +0 -59
  799. package/tools/workflow-coordinator/src/utils/validator.js +0 -86
  800. package/tools/workflow-coordinator/test/integration-test.js +0 -266
  801. package/tools/workflow-coordinator/test/quick-test.js +0 -127
  802. package/xiaoma-core/agent-teams/team-all.yaml +0 -15
  803. package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +0 -27
  804. package/xiaoma-core/agent-teams/team-fullstack.yaml +0 -19
  805. package/xiaoma-core/agent-teams/team-ide-minimal.yaml +0 -11
  806. package/xiaoma-core/agent-teams/team-no-ui.yaml +0 -14
  807. package/xiaoma-core/agents/analyst.md +0 -91
  808. package/xiaoma-core/agents/architect.md +0 -85
  809. package/xiaoma-core/agents/automated-fix-validator.yaml +0 -579
  810. package/xiaoma-core/agents/automated-quality-validator.yaml +0 -549
  811. package/xiaoma-core/agents/automation-orchestrator.md +0 -353
  812. package/xiaoma-core/agents/dev.md +0 -79
  813. package/xiaoma-core/agents/enhanced-workflow-orchestrator.yaml +0 -304
  814. package/xiaoma-core/agents/full-requirement-orchestrator.md +0 -462
  815. package/xiaoma-core/agents/global-requirements-auditor.yaml +0 -520
  816. package/xiaoma-core/agents/intelligent-template-adapter.yaml +0 -389
  817. package/xiaoma-core/agents/issue-dispatcher.yaml +0 -627
  818. package/xiaoma-core/agents/master-execution-engine.yaml +0 -543
  819. package/xiaoma-core/agents/pm.md +0 -82
  820. package/xiaoma-core/agents/po.md +0 -77
  821. package/xiaoma-core/agents/qa.md +0 -88
  822. package/xiaoma-core/agents/requirements-coverage-auditor.yaml +0 -373
  823. package/xiaoma-core/agents/sm.md +0 -67
  824. package/xiaoma-core/agents/ux-expert.md +0 -67
  825. package/xiaoma-core/agents/workflow-executor.md +0 -1031
  826. package/xiaoma-core/agents/workflow-helper.md +0 -481
  827. package/xiaoma-core/agents/xiaoma-master.md +0 -108
  828. package/xiaoma-core/agents/xiaoma-orchestrator.md +0 -145
  829. package/xiaoma-core/checklists/architect-checklist.md +0 -440
  830. package/xiaoma-core/checklists/change-checklist.md +0 -184
  831. package/xiaoma-core/checklists/dev-completion-checklist.md +0 -324
  832. package/xiaoma-core/checklists/pm-checklist.md +0 -372
  833. package/xiaoma-core/checklists/po-master-checklist.md +0 -434
  834. package/xiaoma-core/checklists/po-story-validation-checklist.md +0 -219
  835. package/xiaoma-core/checklists/qa-approval-checklist.md +0 -393
  836. package/xiaoma-core/checklists/story-dod-checklist.md +0 -96
  837. package/xiaoma-core/checklists/story-draft-checklist.md +0 -155
  838. package/xiaoma-core/core-config.yaml +0 -23
  839. package/xiaoma-core/data/bmad-kb.md +0 -809
  840. package/xiaoma-core/data/brainstorming-techniques.md +0 -38
  841. package/xiaoma-core/data/elicitation-methods.md +0 -156
  842. package/xiaoma-core/data/technical-preferences.md +0 -5
  843. package/xiaoma-core/data/test-levels-framework.md +0 -148
  844. package/xiaoma-core/data/test-priorities-matrix.md +0 -174
  845. package/xiaoma-core/scripts/build-validation/pre-dev-validation.sh +0 -71
  846. package/xiaoma-core/scripts/build-validation/progressive-validation.sh +0 -88
  847. package/xiaoma-core/scripts/build-validation/quick-check.sh +0 -69
  848. package/xiaoma-core/tasks/advanced-elicitation.md +0 -119
  849. package/xiaoma-core/tasks/analyze-existing-database.md +0 -155
  850. package/xiaoma-core/tasks/apply-qa-fixes.md +0 -150
  851. package/xiaoma-core/tasks/automated-story-cycle.md +0 -370
  852. package/xiaoma-core/tasks/batch-story-generation.md +0 -354
  853. package/xiaoma-core/tasks/brownfield-create-epic.md +0 -162
  854. package/xiaoma-core/tasks/brownfield-create-story.md +0 -149
  855. package/xiaoma-core/tasks/correct-course.md +0 -72
  856. package/xiaoma-core/tasks/create-brownfield-story.md +0 -314
  857. package/xiaoma-core/tasks/create-database-design.md +0 -161
  858. package/xiaoma-core/tasks/create-deep-research-prompt.md +0 -280
  859. package/xiaoma-core/tasks/create-enhanced-story-with-database.md +0 -250
  860. package/xiaoma-core/tasks/create-next-story.md +0 -114
  861. package/xiaoma-core/tasks/document-project.md +0 -345
  862. package/xiaoma-core/tasks/facilitate-brainstorming-session.md +0 -138
  863. package/xiaoma-core/tasks/generate-ai-frontend-prompt.md +0 -53
  864. package/xiaoma-core/tasks/generate-database-ddl.md +0 -240
  865. package/xiaoma-core/tasks/generate-database-entities.md +0 -501
  866. package/xiaoma-core/tasks/generate-rag-questions.md +0 -312
  867. package/xiaoma-core/tasks/index-docs.md +0 -175
  868. package/xiaoma-core/tasks/kb-mode-interaction.md +0 -77
  869. package/xiaoma-core/tasks/nfr-assess.md +0 -345
  870. package/xiaoma-core/tasks/project-integration-testing.md +0 -477
  871. package/xiaoma-core/tasks/qa-gate.md +0 -163
  872. package/xiaoma-core/tasks/requirement-analysis-with-rag.md +0 -1318
  873. package/xiaoma-core/tasks/requirements-coverage-audit.md +0 -198
  874. package/xiaoma-core/tasks/review-story.md +0 -316
  875. package/xiaoma-core/tasks/risk-profile.md +0 -355
  876. package/xiaoma-core/tasks/serial-development-orchestration.md +0 -426
  877. package/xiaoma-core/tasks/shard-doc.md +0 -187
  878. package/xiaoma-core/tasks/test-design.md +0 -176
  879. package/xiaoma-core/tasks/trace-requirements.md +0 -266
  880. package/xiaoma-core/tasks/validate-next-story.md +0 -136
  881. package/xiaoma-core/templates/api-design-tmpl.yaml +0 -704
  882. package/xiaoma-core/templates/architecture-tmpl.yaml +0 -650
  883. package/xiaoma-core/templates/brainstorming-output-tmpl.yaml +0 -156
  884. package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  885. package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +0 -280
  886. package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +0 -336
  887. package/xiaoma-core/templates/database-design-tmpl.yaml +0 -266
  888. package/xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml +0 -428
  889. package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +0 -272
  890. package/xiaoma-core/templates/front-end-spec-tmpl.yaml +0 -354
  891. package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +0 -925
  892. package/xiaoma-core/templates/global-qa-monitoring-tmpl.yaml +0 -443
  893. package/xiaoma-core/templates/market-research-tmpl.yaml +0 -252
  894. package/xiaoma-core/templates/maven-lombok-template.xml +0 -111
  895. package/xiaoma-core/templates/prd-tmpl.yaml +0 -202
  896. package/xiaoma-core/templates/project-brief-tmpl.yaml +0 -221
  897. package/xiaoma-core/templates/qa-gate-tmpl.yaml +0 -102
  898. package/xiaoma-core/templates/rag-knowledge-tmpl.yaml +0 -569
  899. package/xiaoma-core/templates/rag-questions-tmpl.yaml +0 -949
  900. package/xiaoma-core/templates/requirements-coverage-audit.yaml +0 -330
  901. package/xiaoma-core/templates/start-enhanced-workflow.yaml +0 -347
  902. package/xiaoma-core/templates/story-tmpl.yaml +0 -137
  903. package/xiaoma-core/workflows/automated-requirements-analysis.yaml +0 -2149
  904. package/xiaoma-core/workflows/automated-requirements-development.yaml +0 -739
  905. package/xiaoma-core/workflows/automated-story-development.yaml +0 -1264
  906. package/xiaoma-core/workflows/brownfield-fullstack.yaml +0 -298
  907. package/xiaoma-core/workflows/brownfield-service.yaml +0 -188
  908. package/xiaoma-core/workflows/brownfield-ui.yaml +0 -198
  909. package/xiaoma-core/workflows/enhanced-fullstack-with-database.yaml +0 -427
  910. package/xiaoma-core/workflows/enhanced-fullstack-with-qa-loop.yaml +0 -766
  911. package/xiaoma-core/workflows/full-requirement-automation.yaml +0 -1305
  912. package/xiaoma-core/workflows/greenfield-fullstack.yaml +0 -241
  913. package/xiaoma-core/workflows/greenfield-service.yaml +0 -207
  914. package/xiaoma-core/workflows/greenfield-ui.yaml +0 -236
@@ -0,0 +1,1324 @@
1
+ <!-- Powered by XIAOMA-CORE™ -->
2
+
3
+ # Test Automation Expansion
4
+
5
+ **Workflow ID**: `{xiaoma_folder}/xmc/testarch/automate`
6
+ **Version**: 4.0 (XiaoMa v6)
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ Expands test automation coverage by generating comprehensive test suites at appropriate levels (E2E, API, Component, Unit) with supporting infrastructure. This workflow operates in **dual mode**:
13
+
14
+ 1. **XiaoMa-Integrated Mode**: Works WITH XiaoMa artifacts (story, tech-spec, PRD, test-design) to expand coverage after story implementation
15
+ 2. **Standalone Mode**: Works WITHOUT XiaoMa artifacts - analyzes existing codebase and generates tests independently
16
+
17
+ **Core Principle**: Generate prioritized, deterministic tests that avoid duplicate coverage and follow testing best practices.
18
+
19
+ ---
20
+
21
+ ## Preflight Requirements
22
+
23
+ **Flexible:** This workflow can run with minimal prerequisites. Only HALT if framework is completely missing.
24
+
25
+ ### Required (Always)
26
+
27
+ - ✅ Framework scaffolding configured (run `framework` workflow if missing)
28
+ - ✅ Test framework configuration available (playwright.config.ts or cypress.config.ts)
29
+
30
+ ### Optional (XiaoMa-Integrated Mode)
31
+
32
+ - Story markdown with acceptance criteria (enhances coverage targeting)
33
+ - Tech spec or PRD (provides architectural context)
34
+ - Test design document (provides risk/priority context)
35
+
36
+ ### Optional (Standalone Mode)
37
+
38
+ - Source code to analyze (feature implementation)
39
+ - Existing tests (for gap analysis)
40
+
41
+ **If framework is missing:** HALT with message: "Framework scaffolding required. Run `xiaoma tea *framework` first."
42
+
43
+ ---
44
+
45
+ ## Step 1: Determine Execution Mode and Load Context
46
+
47
+ ### Actions
48
+
49
+ 1. **Detect Execution Mode**
50
+
51
+ Check if XiaoMa artifacts are available:
52
+ - If `{story_file}` variable is set → XiaoMa-Integrated Mode
53
+ - If `{target_feature}` or `{target_files}` set → Standalone Mode
54
+ - If neither set → Auto-discover mode (scan codebase for features needing tests)
55
+
56
+ 2. **Load XiaoMa Artifacts (If Available)**
57
+
58
+ **XiaoMa-Integrated Mode:**
59
+ - Read story markdown from `{story_file}`
60
+ - Extract acceptance criteria and technical requirements
61
+ - Load tech-spec.md if `{use_tech_spec}` is true
62
+ - Load test-design.md if `{use_test_design}` is true
63
+ - Load PRD.md if `{use_prd}` is true
64
+ - Note: These are **optional enhancements**, not hard requirements
65
+
66
+ **Standalone Mode:**
67
+ - Skip XiaoMa artifact loading
68
+ - Proceed directly to source code analysis
69
+
70
+ 3. **Load Framework Configuration**
71
+ - Read test framework config (playwright.config.ts or cypress.config.ts)
72
+ - Identify test directory structure from `{test_dir}`
73
+ - Check existing test patterns in `{test_dir}`
74
+ - Note test runner capabilities (parallel execution, fixtures, etc.)
75
+
76
+ 4. **Analyze Existing Test Coverage**
77
+
78
+ If `{analyze_coverage}` is true:
79
+ - Search `{test_dir}` for existing test files
80
+ - Identify tested features vs untested features
81
+ - Map tests to source files (coverage gaps)
82
+ - Check existing fixture and factory patterns
83
+
84
+ 5. **Check Playwright Utils Flag**
85
+
86
+ Read `{config_source}` and check `config.tea_use_playwright_utils`.
87
+
88
+ 6. **Load Knowledge Base Fragments**
89
+
90
+ **Critical:** Consult `{project-root}/{xiaoma_folder}/xmc/testarch/tea-index.csv` to load:
91
+
92
+ **Core Testing Patterns (Always load):**
93
+ - `test-levels-framework.md` - Test level selection (E2E vs API vs Component vs Unit with decision matrix, 467 lines, 4 examples)
94
+ - `test-priorities-matrix.md` - Priority classification (P0-P3 with automated scoring, risk mapping, 389 lines, 2 examples)
95
+ - `data-factories.md` - Factory patterns with faker (overrides, nested factories, API seeding, 498 lines, 5 examples)
96
+ - `selective-testing.md` - Targeted test execution strategies (tag-based, spec filters, diff-based, promotion rules, 727 lines, 4 examples)
97
+ - `ci-burn-in.md` - Flaky test detection patterns (10-iteration burn-in, sharding, selective execution, 678 lines, 4 examples)
98
+ - `test-quality.md` - Test design principles (deterministic, isolated, explicit assertions, length/time limits, 658 lines, 5 examples)
99
+
100
+ **If `config.tea_use_playwright_utils: true` (Playwright Utils Integration - All Utilities):**
101
+ - `overview.md` - Playwright utils installation, design principles, fixture patterns
102
+ - `api-request.md` - Typed HTTP client with schema validation
103
+ - `network-recorder.md` - HAR record/playback for offline testing
104
+ - `auth-session.md` - Token persistence and multi-user support
105
+ - `intercept-network-call.md` - Network spy/stub with automatic JSON parsing
106
+ - `recurse.md` - Cypress-style polling for async conditions
107
+ - `log.md` - Playwright report-integrated logging
108
+ - `file-utils.md` - CSV/XLSX/PDF/ZIP reading and validation
109
+ - `burn-in.md` - Smart test selection (relevant for CI test generation)
110
+ - `network-error-monitor.md` - Automatic HTTP error detection
111
+ - `fixtures-composition.md` - mergeTests composition patterns
112
+
113
+ **If `config.tea_use_playwright_utils: false` (Traditional Patterns):**
114
+ - `fixture-architecture.md` - Test fixture patterns (pure function → fixture → mergeTests, auto-cleanup, 406 lines, 5 examples)
115
+ - `network-first.md` - Route interception patterns (intercept before navigate, HAR capture, deterministic waiting, 489 lines, 5 examples)
116
+
117
+ **Healing Knowledge (If `{auto_heal_failures}` is true):**
118
+ - `test-healing-patterns.md` - Common failure patterns and automated fixes (stale selectors, race conditions, dynamic data, network errors, hard waits, 648 lines, 5 examples)
119
+ - `selector-resilience.md` - Selector debugging and refactoring guide (data-testid > ARIA > text > CSS hierarchy, anti-patterns, 541 lines, 4 examples)
120
+ - `timing-debugging.md` - Race condition identification and fixes (network-first, deterministic waiting, async debugging, 370 lines, 3 examples)
121
+
122
+ ---
123
+
124
+ ## Step 2: Identify Automation Targets
125
+
126
+ ### Actions
127
+
128
+ 1. **Determine What Needs Testing**
129
+
130
+ **XiaoMa-Integrated Mode (story available):**
131
+ - Map acceptance criteria from story to test scenarios
132
+ - Identify features implemented in this story
133
+ - Check if story has existing ATDD tests (from `*atdd` workflow)
134
+ - Expand beyond ATDD with edge cases and negative paths
135
+
136
+ **Standalone Mode (no story):**
137
+ - If `{target_feature}` specified: Analyze that specific feature
138
+ - If `{target_files}` specified: Analyze those specific files
139
+ - If `{auto_discover_features}` is true: Scan `{source_dir}` for features
140
+ - Prioritize features with:
141
+ - No test coverage (highest priority)
142
+ - Complex business logic
143
+ - External integrations (API calls, database, auth)
144
+ - Critical user paths (login, checkout, etc.)
145
+
146
+ 2. **Apply Test Level Selection Framework**
147
+
148
+ **Knowledge Base Reference**: `test-levels-framework.md`
149
+
150
+ For each feature or acceptance criterion, determine appropriate test level:
151
+
152
+ **E2E (End-to-End)**:
153
+ - Critical user journeys (login, checkout, core workflows)
154
+ - Multi-system integration
155
+ - Full user-facing scenarios
156
+ - Characteristics: High confidence, slow, brittle
157
+
158
+ **API (Integration)**:
159
+ - Business logic validation
160
+ - Service contracts and data transformations
161
+ - Backend integration without UI
162
+ - Characteristics: Fast feedback, stable, good balance
163
+
164
+ **Component**:
165
+ - UI component behavior (buttons, forms, modals)
166
+ - Interaction testing (click, hover, keyboard)
167
+ - State management within component
168
+ - Characteristics: Fast, isolated, granular
169
+
170
+ **Unit**:
171
+ - Pure business logic and algorithms
172
+ - Edge cases and error handling
173
+ - Minimal dependencies
174
+ - Characteristics: Fastest, most granular
175
+
176
+ 3. **Avoid Duplicate Coverage**
177
+
178
+ **Critical principle:** Don't test same behavior at multiple levels unless necessary
179
+ - Use E2E for critical happy path only
180
+ - Use API tests for business logic variations
181
+ - Use component tests for UI interaction edge cases
182
+ - Use unit tests for pure logic edge cases
183
+
184
+ **Example:**
185
+ - E2E: User can log in with valid credentials → Dashboard loads
186
+ - API: POST /auth/login returns 401 for invalid credentials
187
+ - API: POST /auth/login returns 200 and JWT token for valid credentials
188
+ - Component: LoginForm disables submit button when fields are empty
189
+ - Unit: validateEmail() returns false for malformed email addresses
190
+
191
+ 4. **Assign Test Priorities**
192
+
193
+ **Knowledge Base Reference**: `test-priorities-matrix.md`
194
+
195
+ **P0 (Critical - Every commit)**:
196
+ - Critical user paths that must always work
197
+ - Security-critical functionality (auth, permissions)
198
+ - Data integrity scenarios
199
+ - Run in pre-commit hooks or PR checks
200
+
201
+ **P1 (High - PR to main)**:
202
+ - Important features with high user impact
203
+ - Integration points between systems
204
+ - Error handling for common failures
205
+ - Run before merging to main branch
206
+
207
+ **P2 (Medium - Nightly)**:
208
+ - Edge cases with moderate impact
209
+ - Less-critical feature variations
210
+ - Performance/load testing
211
+ - Run in nightly CI builds
212
+
213
+ **P3 (Low - On-demand)**:
214
+ - Nice-to-have validations
215
+ - Rarely-used features
216
+ - Exploratory testing scenarios
217
+ - Run manually or weekly
218
+
219
+ **Priority Variables:**
220
+ - `{include_p0}` - Always include (default: true)
221
+ - `{include_p1}` - High priority (default: true)
222
+ - `{include_p2}` - Medium priority (default: true)
223
+ - `{include_p3}` - Low priority (default: false)
224
+
225
+ 5. **Create Test Coverage Plan**
226
+
227
+ Document what will be tested at each level with priorities:
228
+
229
+ ```markdown
230
+ ## Test Coverage Plan
231
+
232
+ ### E2E Tests (P0)
233
+
234
+ - User login with valid credentials → Dashboard loads
235
+ - User logout → Redirects to login page
236
+
237
+ ### API Tests (P1)
238
+
239
+ - POST /auth/login - valid credentials → 200 + JWT token
240
+ - POST /auth/login - invalid credentials → 401 + error message
241
+ - POST /auth/login - missing fields → 400 + validation errors
242
+
243
+ ### Component Tests (P1)
244
+
245
+ - LoginForm - empty fields → submit button disabled
246
+ - LoginForm - valid input → submit button enabled
247
+
248
+ ### Unit Tests (P2)
249
+
250
+ - validateEmail() - valid email → returns true
251
+ - validateEmail() - malformed email → returns false
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Step 3: Generate Test Infrastructure
257
+
258
+ ### Actions
259
+
260
+ 1. **Enhance Fixture Architecture**
261
+
262
+ **Knowledge Base Reference**: `fixture-architecture.md`
263
+
264
+ Check existing fixtures in `tests/support/fixtures/`:
265
+ - If missing or incomplete, create fixture architecture
266
+ - Use Playwright's `test.extend()` pattern
267
+ - Ensure all fixtures have auto-cleanup in teardown
268
+
269
+ **Common fixtures to create/enhance:**
270
+ - **authenticatedUser**: User with valid session (auto-deletes user after test)
271
+ - **apiRequest**: Authenticated API client with base URL and headers
272
+ - **mockNetwork**: Network mocking for external services
273
+ - **testDatabase**: Database with test data (auto-cleanup after test)
274
+
275
+ **Example fixture:**
276
+
277
+ ```typescript
278
+ // tests/support/fixtures/auth.fixture.ts
279
+ import { test as base } from '@playwright/test';
280
+ import { createUser, deleteUser } from '../factories/user.factory';
281
+
282
+ export const test = base.extend({
283
+ authenticatedUser: async ({ page }, use) => {
284
+ // Setup: Create and authenticate user
285
+ const user = await createUser();
286
+ await page.goto('/login');
287
+ await page.fill('[data-testid="email"]', user.email);
288
+ await page.fill('[data-testid="password"]', user.password);
289
+ await page.click('[data-testid="login-button"]');
290
+ await page.waitForURL('/dashboard');
291
+
292
+ // Provide to test
293
+ await use(user);
294
+
295
+ // Cleanup: Delete user automatically
296
+ await deleteUser(user.id);
297
+ },
298
+ });
299
+ ```
300
+
301
+ 2. **Enhance Data Factories**
302
+
303
+ **Knowledge Base Reference**: `data-factories.md`
304
+
305
+ Check existing factories in `tests/support/factories/`:
306
+ - If missing or incomplete, create factory architecture
307
+ - Use `@faker-js/faker` for all random data (no hardcoded values)
308
+ - Support overrides for specific test scenarios
309
+
310
+ **Common factories to create/enhance:**
311
+ - User factory (email, password, name, role)
312
+ - Product factory (name, price, description, SKU)
313
+ - Order factory (items, total, status, customer)
314
+
315
+ **Example factory:**
316
+
317
+ ```typescript
318
+ // tests/support/factories/user.factory.ts
319
+ import { faker } from '@faker-js/faker';
320
+
321
+ export const createUser = (overrides = {}) => ({
322
+ id: faker.number.int(),
323
+ email: faker.internet.email(),
324
+ password: faker.internet.password(),
325
+ name: faker.person.fullName(),
326
+ role: 'user',
327
+ createdAt: faker.date.recent().toISOString(),
328
+ ...overrides,
329
+ });
330
+
331
+ export const createUsers = (count: number) => Array.from({ length: count }, () => createUser());
332
+
333
+ // API helper for cleanup
334
+ export const deleteUser = async (userId: number) => {
335
+ await fetch(`/api/users/${userId}`, { method: 'DELETE' });
336
+ };
337
+ ```
338
+
339
+ 3. **Create/Enhance Helper Utilities**
340
+
341
+ If `{update_helpers}` is true:
342
+
343
+ Check `tests/support/helpers/` for common utilities:
344
+ - **waitFor**: Polling helper for complex conditions
345
+ - **retry**: Retry helper for flaky operations
346
+ - **testData**: Test data generation helpers
347
+ - **assertions**: Custom assertion helpers
348
+
349
+ **Example helper:**
350
+
351
+ ```typescript
352
+ // tests/support/helpers/wait-for.ts
353
+ export const waitFor = async (condition: () => Promise<boolean>, timeout = 5000, interval = 100): Promise<void> => {
354
+ const startTime = Date.now();
355
+ while (Date.now() - startTime < timeout) {
356
+ if (await condition()) return;
357
+ await new Promise((resolve) => setTimeout(resolve, interval));
358
+ }
359
+ throw new Error(`Condition not met within ${timeout}ms`);
360
+ };
361
+ ```
362
+
363
+ ---
364
+
365
+ ## Step 4: Generate Test Files
366
+
367
+ ### Actions
368
+
369
+ 1. **Create Test File Structure**
370
+
371
+ ```
372
+ tests/
373
+ ├── e2e/
374
+ │ └── {feature-name}.spec.ts # E2E tests (P0-P1)
375
+ ├── api/
376
+ │ └── {feature-name}.api.spec.ts # API tests (P1-P2)
377
+ ├── component/
378
+ │ └── {ComponentName}.test.tsx # Component tests (P1-P2)
379
+ ├── unit/
380
+ │ └── {module-name}.test.ts # Unit tests (P2-P3)
381
+ └── support/
382
+ ├── fixtures/ # Test fixtures
383
+ ├── factories/ # Data factories
384
+ └── helpers/ # Utility functions
385
+ ```
386
+
387
+ 2. **Write E2E Tests (If Applicable)**
388
+
389
+ **Follow Given-When-Then format:**
390
+
391
+ ```typescript
392
+ import { test, expect } from '@playwright/test';
393
+
394
+ test.describe('User Authentication', () => {
395
+ test('[P0] should login with valid credentials and load dashboard', async ({ page }) => {
396
+ // GIVEN: User is on login page
397
+ await page.goto('/login');
398
+
399
+ // WHEN: User submits valid credentials
400
+ await page.fill('[data-testid="email-input"]', 'user@example.com');
401
+ await page.fill('[data-testid="password-input"]', 'Password123!');
402
+ await page.click('[data-testid="login-button"]');
403
+
404
+ // THEN: User is redirected to dashboard
405
+ await expect(page).toHaveURL('/dashboard');
406
+ await expect(page.locator('[data-testid="user-name"]')).toBeVisible();
407
+ });
408
+
409
+ test('[P1] should display error for invalid credentials', async ({ page }) => {
410
+ // GIVEN: User is on login page
411
+ await page.goto('/login');
412
+
413
+ // WHEN: User submits invalid credentials
414
+ await page.fill('[data-testid="email-input"]', 'invalid@example.com');
415
+ await page.fill('[data-testid="password-input"]', 'wrongpassword');
416
+ await page.click('[data-testid="login-button"]');
417
+
418
+ // THEN: Error message is displayed
419
+ await expect(page.locator('[data-testid="error-message"]')).toHaveText('Invalid email or password');
420
+ });
421
+ });
422
+ ```
423
+
424
+ **Critical patterns:**
425
+ - Tag tests with priority: `[P0]`, `[P1]`, `[P2]`, `[P3]` in test name
426
+ - One assertion per test (atomic tests)
427
+ - Explicit waits (no hard waits/sleeps)
428
+ - Network-first approach (route interception before navigation)
429
+ - data-testid selectors for stability
430
+ - Clear Given-When-Then structure
431
+
432
+ 3. **Write API Tests (If Applicable)**
433
+
434
+ ```typescript
435
+ import { test, expect } from '@playwright/test';
436
+
437
+ test.describe('User Authentication API', () => {
438
+ test('[P1] POST /api/auth/login - should return token for valid credentials', async ({ request }) => {
439
+ // GIVEN: Valid user credentials
440
+ const credentials = {
441
+ email: 'user@example.com',
442
+ password: 'Password123!',
443
+ };
444
+
445
+ // WHEN: Logging in via API
446
+ const response = await request.post('/api/auth/login', {
447
+ data: credentials,
448
+ });
449
+
450
+ // THEN: Returns 200 and JWT token
451
+ expect(response.status()).toBe(200);
452
+ const body = await response.json();
453
+ expect(body).toHaveProperty('token');
454
+ expect(body.token).toMatch(/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$/); // JWT format
455
+ });
456
+
457
+ test('[P1] POST /api/auth/login - should return 401 for invalid credentials', async ({ request }) => {
458
+ // GIVEN: Invalid credentials
459
+ const credentials = {
460
+ email: 'invalid@example.com',
461
+ password: 'wrongpassword',
462
+ };
463
+
464
+ // WHEN: Attempting login
465
+ const response = await request.post('/api/auth/login', {
466
+ data: credentials,
467
+ });
468
+
469
+ // THEN: Returns 401 with error
470
+ expect(response.status()).toBe(401);
471
+ const body = await response.json();
472
+ expect(body).toMatchObject({
473
+ error: 'Invalid credentials',
474
+ });
475
+ });
476
+ });
477
+ ```
478
+
479
+ 4. **Write Component Tests (If Applicable)**
480
+
481
+ **Knowledge Base Reference**: `component-tdd.md`
482
+
483
+ ```typescript
484
+ import { test, expect } from '@playwright/experimental-ct-react';
485
+ import { LoginForm } from './LoginForm';
486
+
487
+ test.describe('LoginForm Component', () => {
488
+ test('[P1] should disable submit button when fields are empty', async ({ mount }) => {
489
+ // GIVEN: LoginForm is mounted
490
+ const component = await mount(<LoginForm />);
491
+
492
+ // WHEN: Form is initially rendered
493
+ const submitButton = component.locator('button[type="submit"]');
494
+
495
+ // THEN: Submit button is disabled
496
+ await expect(submitButton).toBeDisabled();
497
+ });
498
+
499
+ test('[P1] should enable submit button when fields are filled', async ({ mount }) => {
500
+ // GIVEN: LoginForm is mounted
501
+ const component = await mount(<LoginForm />);
502
+
503
+ // WHEN: User fills in email and password
504
+ await component.locator('[data-testid="email-input"]').fill('user@example.com');
505
+ await component.locator('[data-testid="password-input"]').fill('Password123!');
506
+
507
+ // THEN: Submit button is enabled
508
+ const submitButton = component.locator('button[type="submit"]');
509
+ await expect(submitButton).toBeEnabled();
510
+ });
511
+ });
512
+ ```
513
+
514
+ 5. **Write Unit Tests (If Applicable)**
515
+
516
+ ```typescript
517
+ import { validateEmail } from './validation';
518
+
519
+ describe('Email Validation', () => {
520
+ test('[P2] should return true for valid email', () => {
521
+ // GIVEN: Valid email address
522
+ const email = 'user@example.com';
523
+
524
+ // WHEN: Validating email
525
+ const result = validateEmail(email);
526
+
527
+ // THEN: Returns true
528
+ expect(result).toBe(true);
529
+ });
530
+
531
+ test('[P2] should return false for malformed email', () => {
532
+ // GIVEN: Malformed email addresses
533
+ const invalidEmails = ['notanemail', '@example.com', 'user@', 'user @example.com'];
534
+
535
+ // WHEN/THEN: Each should fail validation
536
+ invalidEmails.forEach((email) => {
537
+ expect(validateEmail(email)).toBe(false);
538
+ });
539
+ });
540
+ });
541
+ ```
542
+
543
+ 6. **Apply Network-First Pattern (E2E tests)**
544
+
545
+ **Knowledge Base Reference**: `network-first.md`
546
+
547
+ **Critical pattern to prevent race conditions:**
548
+
549
+ ```typescript
550
+ test('should load user dashboard after login', async ({ page }) => {
551
+ // CRITICAL: Intercept routes BEFORE navigation
552
+ await page.route('**/api/user', (route) =>
553
+ route.fulfill({
554
+ status: 200,
555
+ body: JSON.stringify({ id: 1, name: 'Test User' }),
556
+ }),
557
+ );
558
+
559
+ // NOW navigate
560
+ await page.goto('/dashboard');
561
+
562
+ await expect(page.locator('[data-testid="user-name"]')).toHaveText('Test User');
563
+ });
564
+ ```
565
+
566
+ 7. **Enforce Quality Standards**
567
+
568
+ **For every test:**
569
+ - ✅ Uses Given-When-Then format
570
+ - ✅ Has clear, descriptive name with priority tag
571
+ - ✅ One assertion per test (atomic)
572
+ - ✅ No hard waits or sleeps (use explicit waits)
573
+ - ✅ Self-cleaning (uses fixtures with auto-cleanup)
574
+ - ✅ Deterministic (no flaky patterns)
575
+ - ✅ Fast (under {max_test_duration} seconds)
576
+ - ✅ Lean (test file under {max_file_lines} lines)
577
+
578
+ **Forbidden patterns:**
579
+ - ❌ Hard waits: `await page.waitForTimeout(2000)`
580
+ - ❌ Conditional flow: `if (await element.isVisible()) { ... }`
581
+ - ❌ Try-catch for test logic (use for cleanup only)
582
+ - ❌ Hardcoded test data (use factories)
583
+ - ❌ Page objects (keep tests simple and direct)
584
+ - ❌ Shared state between tests
585
+
586
+ ---
587
+
588
+ ## Step 5: Execute, Validate & Heal Generated Tests (NEW - Phase 2.5)
589
+
590
+ **Purpose**: Automatically validate generated tests and heal common failures before delivery
591
+
592
+ ### Actions
593
+
594
+ 1. **Validate Generated Tests**
595
+
596
+ Always validate (auto_validate is always true):
597
+ - Run generated tests to verify they work
598
+ - Continue with healing if config.tea_use_mcp_enhancements is true
599
+
600
+ 2. **Run Generated Tests**
601
+
602
+ Execute the full test suite that was just generated:
603
+
604
+ ```bash
605
+ npx playwright test {generated_test_files}
606
+ ```
607
+
608
+ Capture results:
609
+ - Total tests run
610
+ - Passing tests count
611
+ - Failing tests count
612
+ - Error messages and stack traces for failures
613
+
614
+ 3. **Evaluate Results**
615
+
616
+ **If ALL tests pass:**
617
+ - ✅ Generate report with success summary
618
+ - Proceed to Step 6 (Documentation and Scripts)
619
+
620
+ **If tests FAIL:**
621
+ - Check config.tea_use_mcp_enhancements setting
622
+ - If true: Enter healing loop (Step 5.4)
623
+ - If false: Document failures for manual review, proceed to Step 6
624
+
625
+ 4. **Healing Loop (If config.tea_use_mcp_enhancements is true)**
626
+
627
+ **Iteration limit**: 3 attempts per test (constant)
628
+
629
+ **For each failing test:**
630
+
631
+ **A. Load Healing Knowledge Fragments**
632
+
633
+ Consult `tea-index.csv` to load healing patterns:
634
+ - `test-healing-patterns.md` - Common failure patterns and fixes
635
+ - `selector-resilience.md` - Selector debugging and refactoring
636
+ - `timing-debugging.md` - Race condition identification and fixes
637
+
638
+ **B. Identify Failure Pattern**
639
+
640
+ Analyze error message and stack trace to classify failure type:
641
+
642
+ **Stale Selector Failure:**
643
+ - Error contains: "locator resolved to 0 elements", "element not found", "unable to find element"
644
+ - Extract selector from error message
645
+ - Apply selector healing (knowledge from `selector-resilience.md`):
646
+ - If CSS class → Replace with `page.getByTestId()`
647
+ - If nth() → Replace with `filter({ hasText })`
648
+ - If ID → Replace with data-testid
649
+ - If complex XPath → Replace with ARIA role
650
+
651
+ **Race Condition Failure:**
652
+ - Error contains: "timeout waiting for", "element not visible", "timed out retrying"
653
+ - Detect missing network waits or hard waits in test code
654
+ - Apply timing healing (knowledge from `timing-debugging.md`):
655
+ - Add network-first interception before navigate
656
+ - Replace `waitForTimeout()` with `waitForResponse()`
657
+ - Add explicit element state waits (`waitFor({ state: 'visible' })`)
658
+
659
+ **Dynamic Data Failure:**
660
+ - Error contains: "Expected 'User 123' but received 'User 456'", timestamp mismatches
661
+ - Identify hardcoded assertions
662
+ - Apply data healing (knowledge from `test-healing-patterns.md`):
663
+ - Replace hardcoded IDs with regex (`/User \d+/`)
664
+ - Replace hardcoded dates with dynamic generation
665
+ - Capture dynamic values and use in assertions
666
+
667
+ **Network Error Failure:**
668
+ - Error contains: "API call failed", "500 error", "network error"
669
+ - Detect missing route interception
670
+ - Apply network healing (knowledge from `test-healing-patterns.md`):
671
+ - Add `page.route()` or `cy.intercept()` for API mocking
672
+ - Mock error scenarios (500, 429, timeout)
673
+
674
+ **Hard Wait Detection:**
675
+ - Scan test code for `page.waitForTimeout()`, `cy.wait(number)`, `sleep()`
676
+ - Apply hard wait healing (knowledge from `timing-debugging.md`):
677
+ - Replace with event-based waits
678
+ - Add network response waits
679
+ - Use element state changes
680
+
681
+ **C. MCP Healing Mode (If MCP Tools Available)**
682
+
683
+ If Playwright MCP tools are available in your IDE:
684
+
685
+ Use MCP tools for interactive healing:
686
+ - `playwright_test_debug_test`: Pause on failure for visual inspection
687
+ - `browser_snapshot`: Capture visual context at failure point
688
+ - `browser_console_messages`: Retrieve console logs for JS errors
689
+ - `browser_network_requests`: Analyze network activity
690
+ - `browser_generate_locator`: Generate better selectors interactively
691
+
692
+ Apply MCP-generated fixes to test code.
693
+
694
+ **D. Pattern-Based Healing Mode (Fallback)**
695
+
696
+ If MCP unavailable, use pattern-based analysis:
697
+ - Parse error message and stack trace
698
+ - Match against failure patterns from knowledge base
699
+ - Apply fixes programmatically:
700
+ - Selector fixes: Use suggestions from `selector-resilience.md`
701
+ - Timing fixes: Apply patterns from `timing-debugging.md`
702
+ - Data fixes: Use patterns from `test-healing-patterns.md`
703
+
704
+ **E. Apply Healing Fix**
705
+ - Modify test file with healed code
706
+ - Re-run test to validate fix
707
+ - If test passes: Mark as healed, move to next failure
708
+ - If test fails: Increment iteration count, try different pattern
709
+
710
+ **F. Iteration Limit Handling**
711
+
712
+ After 3 failed healing attempts:
713
+
714
+ Always mark unfixable tests:
715
+ - Mark test with `test.fixme()` instead of `test()`
716
+ - Add detailed comment explaining:
717
+ - What failure occurred
718
+ - What healing was attempted (3 iterations)
719
+ - Why healing failed
720
+ - Manual investigation needed
721
+
722
+ ```typescript
723
+ test.fixme('[P1] should handle complex interaction', async ({ page }) => {
724
+ // FIXME: Test healing failed after 3 attempts
725
+ // Failure: "Locator 'button[data-action="submit"]' resolved to 0 elements"
726
+ // Attempted fixes:
727
+ // 1. Replaced with page.getByTestId('submit-button') - still failing
728
+ // 2. Replaced with page.getByRole('button', { name: 'Submit' }) - still failing
729
+ // 3. Added waitForLoadState('networkidle') - still failing
730
+ // Manual investigation needed: Selector may require application code changes
731
+ // TODO: Review with team, may need data-testid added to button component
732
+ // Original test code...
733
+ });
734
+ ```
735
+
736
+ **Note**: Workflow continues even with unfixable tests (marked as test.fixme() for manual review)
737
+
738
+ 5. **Generate Healing Report**
739
+
740
+ Document healing outcomes:
741
+
742
+ ```markdown
743
+ ## Test Healing Report
744
+
745
+ **Auto-Heal Enabled**: {auto_heal_failures}
746
+ **Healing Mode**: {use_mcp_healing ? "MCP-assisted" : "Pattern-based"}
747
+ **Iterations Allowed**: {max_healing_iterations}
748
+
749
+ ### Validation Results
750
+
751
+ - **Total tests**: {total_tests}
752
+ - **Passing**: {passing_tests}
753
+ - **Failing**: {failing_tests}
754
+
755
+ ### Healing Outcomes
756
+
757
+ **Successfully Healed ({healed_count} tests):**
758
+
759
+ - `tests/e2e/login.spec.ts:15` - Stale selector (CSS class → data-testid)
760
+ - `tests/e2e/checkout.spec.ts:42` - Race condition (added network-first interception)
761
+ - `tests/api/users.spec.ts:28` - Dynamic data (hardcoded ID → regex pattern)
762
+
763
+ **Unable to Heal ({unfixable_count} tests):**
764
+
765
+ - `tests/e2e/complex-flow.spec.ts:67` - Marked as test.fixme() with manual investigation needed
766
+ - Failure: Locator not found after 3 healing attempts
767
+ - Requires application code changes (add data-testid to component)
768
+
769
+ ### Healing Patterns Applied
770
+
771
+ - **Selector fixes**: 2 (CSS class → data-testid, nth() → filter())
772
+ - **Timing fixes**: 1 (added network-first interception)
773
+ - **Data fixes**: 1 (hardcoded ID → regex)
774
+
775
+ ### Knowledge Base References
776
+
777
+ - `test-healing-patterns.md` - Common failure patterns
778
+ - `selector-resilience.md` - Selector refactoring guide
779
+ - `timing-debugging.md` - Race condition prevention
780
+ ```
781
+
782
+ 6. **Update Test Files with Healing Results**
783
+ - Save healed test code to files
784
+ - Mark unfixable tests with `test.fixme()` and detailed comments
785
+ - Preserve original test logic in comments (for debugging)
786
+
787
+ ---
788
+
789
+ ## Step 6: Update Documentation and Scripts
790
+
791
+ ### Actions
792
+
793
+ 1. **Update Test README**
794
+
795
+ If `{update_readme}` is true:
796
+
797
+ Create or update `tests/README.md` with:
798
+ - Overview of test suite structure
799
+ - How to run tests (all, specific files, by priority)
800
+ - Fixture and factory usage examples
801
+ - Priority tagging convention ([P0], [P1], [P2], [P3])
802
+ - How to write new tests
803
+ - Common patterns and anti-patterns
804
+
805
+ **Example section:**
806
+
807
+ ````markdown
808
+ ## Running Tests
809
+
810
+ ```bash
811
+ # Run all tests
812
+ npm run test:e2e
813
+
814
+ # Run by priority
815
+ npm run test:e2e -- --grep "@P0"
816
+ npm run test:e2e -- --grep "@P1"
817
+
818
+ # Run specific file
819
+ npm run test:e2e -- user-authentication.spec.ts
820
+
821
+ # Run in headed mode
822
+ npm run test:e2e -- --headed
823
+
824
+ # Debug specific test
825
+ npm run test:e2e -- user-authentication.spec.ts --debug
826
+ ```
827
+ ````
828
+
829
+ ## Priority Tags
830
+ - **[P0]**: Critical paths, run every commit
831
+ - **[P1]**: High priority, run on PR to main
832
+ - **[P2]**: Medium priority, run nightly
833
+ - **[P3]**: Low priority, run on-demand
834
+
835
+ ```
836
+
837
+ ```
838
+
839
+ 2. **Update package.json Scripts**
840
+
841
+ If `{update_package_scripts}` is true:
842
+
843
+ Add or update test execution scripts:
844
+
845
+ ```json
846
+ {
847
+ "scripts": {
848
+ "test:e2e": "playwright test",
849
+ "test:e2e:p0": "playwright test --grep '@P0'",
850
+ "test:e2e:p1": "playwright test --grep '@P1|@P0'",
851
+ "test:api": "playwright test tests/api",
852
+ "test:component": "playwright test tests/component",
853
+ "test:unit": "vitest"
854
+ }
855
+ }
856
+ ```
857
+
858
+ 3. **Run Test Suite**
859
+
860
+ If `{run_tests_after_generation}` is true:
861
+ - Run full test suite locally
862
+ - Capture results (passing/failing counts)
863
+ - Verify no flaky patterns (tests should be deterministic)
864
+ - Document any setup requirements or known issues
865
+
866
+ ---
867
+
868
+ ## Step 6: Generate Automation Summary
869
+
870
+ ### Actions
871
+
872
+ 1. **Create Automation Summary Document**
873
+
874
+ Save to `{output_summary}` with:
875
+
876
+ **XiaoMa-Integrated Mode:**
877
+
878
+ ````markdown
879
+ # Automation Summary - {feature_name}
880
+
881
+ **Date:** {date}
882
+ **Story:** {story_id}
883
+ **Coverage Target:** {coverage_target}
884
+
885
+ ## Tests Created
886
+
887
+ ### E2E Tests (P0-P1)
888
+
889
+ - `tests/e2e/user-authentication.spec.ts` (2 tests, 87 lines)
890
+ - [P0] Login with valid credentials → Dashboard loads
891
+ - [P1] Display error for invalid credentials
892
+
893
+ ### API Tests (P1-P2)
894
+
895
+ - `tests/api/auth.api.spec.ts` (3 tests, 102 lines)
896
+ - [P1] POST /auth/login - valid credentials → 200 + token
897
+ - [P1] POST /auth/login - invalid credentials → 401 + error
898
+ - [P2] POST /auth/login - missing fields → 400 + validation
899
+
900
+ ### Component Tests (P1)
901
+
902
+ - `tests/component/LoginForm.test.tsx` (2 tests, 45 lines)
903
+ - [P1] Empty fields → submit button disabled
904
+ - [P1] Valid input → submit button enabled
905
+
906
+ ## Infrastructure Created
907
+
908
+ ### Fixtures
909
+
910
+ - `tests/support/fixtures/auth.fixture.ts` - authenticatedUser with auto-cleanup
911
+
912
+ ### Factories
913
+
914
+ - `tests/support/factories/user.factory.ts` - createUser(), deleteUser()
915
+
916
+ ### Helpers
917
+
918
+ - `tests/support/helpers/wait-for.ts` - Polling helper for complex conditions
919
+
920
+ ## Test Execution
921
+
922
+ ```bash
923
+ # Run all new tests
924
+ npm run test:e2e
925
+
926
+ # Run by priority
927
+ npm run test:e2e:p0 # Critical paths only
928
+ npm run test:e2e:p1 # P0 + P1 tests
929
+ ```
930
+ ````
931
+
932
+ ## Coverage Analysis
933
+
934
+ **Total Tests:** 7
935
+ - P0: 1 test (critical path)
936
+ - P1: 5 tests (high priority)
937
+ - P2: 1 test (medium priority)
938
+
939
+ **Test Levels:**
940
+ - E2E: 2 tests (user journeys)
941
+ - API: 3 tests (business logic)
942
+ - Component: 2 tests (UI behavior)
943
+
944
+ **Coverage Status:**
945
+ - ✅ All acceptance criteria covered
946
+ - ✅ Happy path covered (E2E + API)
947
+ - ✅ Error cases covered (API)
948
+ - ✅ UI validation covered (Component)
949
+ - ⚠️ Edge case: Password reset flow not yet covered (future story)
950
+
951
+ ## Definition of Done
952
+ - [x] All tests follow Given-When-Then format
953
+ - [x] All tests use data-testid selectors
954
+ - [x] All tests have priority tags
955
+ - [x] All tests are self-cleaning (fixtures with auto-cleanup)
956
+ - [x] No hard waits or flaky patterns
957
+ - [x] Test files under 300 lines
958
+ - [x] All tests run under 1.5 minutes each
959
+ - [x] README updated with test execution instructions
960
+ - [x] package.json scripts updated
961
+
962
+ ## Next Steps
963
+ 1. Review generated tests with team
964
+ 2. Run tests in CI pipeline: `npm run test:e2e`
965
+ 3. Integrate with quality gate: `xiaoma tea *gate`
966
+ 4. Monitor for flaky tests in burn-in loop
967
+
968
+ ````
969
+
970
+ **Standalone Mode:**
971
+ ```markdown
972
+ # Automation Summary - {target_feature}
973
+
974
+ **Date:** {date}
975
+ **Target:** {target_feature} (standalone analysis)
976
+ **Coverage Target:** {coverage_target}
977
+
978
+ ## Feature Analysis
979
+
980
+ **Source Files Analyzed:**
981
+ - `src/auth/login.ts` - Login logic and validation
982
+ - `src/auth/session.ts` - Session management
983
+ - `src/auth/validation.ts` - Email/password validation
984
+
985
+ **Existing Coverage:**
986
+ - E2E tests: 0 found
987
+ - API tests: 0 found
988
+ - Component tests: 0 found
989
+ - Unit tests: 0 found
990
+
991
+ **Coverage Gaps Identified:**
992
+ - ❌ No E2E tests for login flow
993
+ - ❌ No API tests for /auth/login endpoint
994
+ - ❌ No component tests for LoginForm
995
+ - ❌ No unit tests for validateEmail()
996
+
997
+ ## Tests Created
998
+
999
+ {Same structure as XiaoMa-Integrated Mode}
1000
+
1001
+ ## Recommendations
1002
+
1003
+ 1. **High Priority (P0-P1):**
1004
+ - Add E2E test for password reset flow
1005
+ - Add API tests for token refresh endpoint
1006
+ - Add component tests for logout button
1007
+
1008
+ 2. **Medium Priority (P2):**
1009
+ - Add unit tests for session timeout logic
1010
+ - Add E2E test for "remember me" functionality
1011
+
1012
+ 3. **Future Enhancements:**
1013
+ - Consider contract testing for auth API
1014
+ - Add visual regression tests for login page
1015
+ - Set up burn-in loop for flaky test detection
1016
+
1017
+ ## Definition of Done
1018
+
1019
+ {Same checklist as XiaoMa-Integrated Mode}
1020
+ ````
1021
+
1022
+ 2. **Provide Summary to User**
1023
+
1024
+ Output concise summary:
1025
+
1026
+ ```markdown
1027
+ ## Automation Complete
1028
+
1029
+ **Coverage:** {total_tests} tests created across {test_levels} levels
1030
+ **Priority Breakdown:** P0: {p0_count}, P1: {p1_count}, P2: {p2_count}, P3: {p3_count}
1031
+ **Infrastructure:** {fixture_count} fixtures, {factory_count} factories
1032
+ **Output:** {output_summary}
1033
+
1034
+ **Run tests:** `npm run test:e2e`
1035
+ **Next steps:** Review tests, run in CI, integrate with quality gate
1036
+ ```
1037
+
1038
+ ---
1039
+
1040
+ ## Important Notes
1041
+
1042
+ ### Dual-Mode Operation
1043
+
1044
+ **XiaoMa-Integrated Mode** (story available):
1045
+
1046
+ - Uses story acceptance criteria for coverage targeting
1047
+ - Aligns with test-design risk/priority assessment
1048
+ - Expands ATDD tests with edge cases and negative paths
1049
+ - Updates XiaoMa status tracking
1050
+
1051
+ **Standalone Mode** (no story):
1052
+
1053
+ - Analyzes source code independently
1054
+ - Identifies coverage gaps automatically
1055
+ - Generates tests based on code analysis
1056
+ - Works with any project (XiaoMa or non-XiaoMa)
1057
+
1058
+ **Auto-discover Mode** (no targets specified):
1059
+
1060
+ - Scans codebase for features needing tests
1061
+ - Prioritizes features with no coverage
1062
+ - Generates comprehensive test plan
1063
+
1064
+ ### Avoid Duplicate Coverage
1065
+
1066
+ **Critical principle:** Don't test same behavior at multiple levels
1067
+
1068
+ **Good coverage:**
1069
+
1070
+ - E2E: User can login → Dashboard loads (critical happy path)
1071
+ - API: POST /auth/login returns correct status codes (variations)
1072
+ - Component: LoginForm validates input (UI edge cases)
1073
+
1074
+ **Bad coverage (duplicate):**
1075
+
1076
+ - E2E: User can login → Dashboard loads
1077
+ - E2E: User can login with different emails → Dashboard loads (unnecessary duplication)
1078
+ - API: POST /auth/login returns 200 (already covered in E2E)
1079
+
1080
+ Use E2E sparingly for critical paths. Use API/Component for variations and edge cases.
1081
+
1082
+ ### Priority Tagging
1083
+
1084
+ **Tag every test with priority in test name:**
1085
+
1086
+ ```typescript
1087
+ test('[P0] should login with valid credentials', async ({ page }) => { ... });
1088
+ test('[P1] should display error for invalid credentials', async ({ page }) => { ... });
1089
+ test('[P2] should remember login preference', async ({ page }) => { ... });
1090
+ ```
1091
+
1092
+ **Enables selective test execution:**
1093
+
1094
+ ```bash
1095
+ # Run only P0 tests (critical paths)
1096
+ npm run test:e2e -- --grep "@P0"
1097
+
1098
+ # Run P0 + P1 tests (pre-merge)
1099
+ npm run test:e2e -- --grep "@P0|@P1"
1100
+ ```
1101
+
1102
+ ### No Page Objects
1103
+
1104
+ **Do NOT create page object classes.** Keep tests simple and direct:
1105
+
1106
+ ```typescript
1107
+ // ✅ CORRECT: Direct test
1108
+ test('should login', async ({ page }) => {
1109
+ await page.goto('/login');
1110
+ await page.fill('[data-testid="email"]', 'user@example.com');
1111
+ await page.click('[data-testid="login-button"]');
1112
+ await expect(page).toHaveURL('/dashboard');
1113
+ });
1114
+
1115
+ // ❌ WRONG: Page object abstraction
1116
+ class LoginPage {
1117
+ async login(email, password) { ... }
1118
+ }
1119
+ ```
1120
+
1121
+ Use fixtures for setup/teardown, not page objects for actions.
1122
+
1123
+ ### Deterministic Tests Only
1124
+
1125
+ **No flaky patterns allowed:**
1126
+
1127
+ ```typescript
1128
+ // ❌ WRONG: Hard wait
1129
+ await page.waitForTimeout(2000);
1130
+
1131
+ // ✅ CORRECT: Explicit wait
1132
+ await page.waitForSelector('[data-testid="user-name"]');
1133
+ await expect(page.locator('[data-testid="user-name"]')).toBeVisible();
1134
+
1135
+ // ❌ WRONG: Conditional flow
1136
+ if (await element.isVisible()) {
1137
+ await element.click();
1138
+ }
1139
+
1140
+ // ✅ CORRECT: Deterministic assertion
1141
+ await expect(element).toBeVisible();
1142
+ await element.click();
1143
+
1144
+ // ❌ WRONG: Try-catch for test logic
1145
+ try {
1146
+ await element.click();
1147
+ } catch (e) {
1148
+ // Test shouldn't catch errors
1149
+ }
1150
+
1151
+ // ✅ CORRECT: Let test fail if element not found
1152
+ await element.click();
1153
+ ```
1154
+
1155
+ ### Self-Cleaning Tests
1156
+
1157
+ **Every test must clean up its data:**
1158
+
1159
+ ```typescript
1160
+ // ✅ CORRECT: Fixture with auto-cleanup
1161
+ export const test = base.extend({
1162
+ testUser: async ({ page }, use) => {
1163
+ const user = await createUser();
1164
+ await use(user);
1165
+ await deleteUser(user.id); // Auto-cleanup
1166
+ },
1167
+ });
1168
+
1169
+ // ❌ WRONG: Manual cleanup (can be forgotten)
1170
+ test('should login', async ({ page }) => {
1171
+ const user = await createUser();
1172
+ // ... test logic ...
1173
+ // Forgot to delete user!
1174
+ });
1175
+ ```
1176
+
1177
+ ### File Size Limits
1178
+
1179
+ **Keep test files lean (under {max_file_lines} lines):**
1180
+
1181
+ - If file exceeds limit, split into multiple files by feature area
1182
+ - Group related tests in describe blocks
1183
+ - Extract common setup to fixtures
1184
+
1185
+ ### Knowledge Base Integration
1186
+
1187
+ **Core Fragments (Auto-loaded in Step 1):**
1188
+
1189
+ - `test-levels-framework.md` - E2E vs API vs Component vs Unit decision framework with characteristics matrix (467 lines, 4 examples)
1190
+ - `test-priorities-matrix.md` - P0-P3 classification with automated scoring and risk mapping (389 lines, 2 examples)
1191
+ - `fixture-architecture.md` - Pure function → fixture → mergeTests composition with auto-cleanup (406 lines, 5 examples)
1192
+ - `data-factories.md` - Factory patterns with faker: overrides, nested factories, API seeding (498 lines, 5 examples)
1193
+ - `selective-testing.md` - Tag-based, spec filters, diff-based selection, promotion rules (727 lines, 4 examples)
1194
+ - `ci-burn-in.md` - 10-iteration burn-in loop, parallel sharding, selective execution (678 lines, 4 examples)
1195
+ - `test-quality.md` - Deterministic tests, isolated with cleanup, explicit assertions, length/time optimization (658 lines, 5 examples)
1196
+ - `network-first.md` - Intercept before navigate, HAR capture, deterministic waiting strategies (489 lines, 5 examples)
1197
+
1198
+ **Healing Fragments (Auto-loaded if `{auto_heal_failures}` enabled):**
1199
+
1200
+ - `test-healing-patterns.md` - Common failure patterns: stale selectors, race conditions, dynamic data, network errors, hard waits (648 lines, 5 examples)
1201
+ - `selector-resilience.md` - Selector hierarchy (data-testid > ARIA > text > CSS), dynamic patterns, anti-patterns refactoring (541 lines, 4 examples)
1202
+ - `timing-debugging.md` - Race condition prevention, deterministic waiting, async debugging techniques (370 lines, 3 examples)
1203
+
1204
+ **Manual Reference (Optional):**
1205
+
1206
+ - Use `tea-index.csv` to find additional specialized fragments as needed
1207
+
1208
+ ---
1209
+
1210
+ ## Output Summary
1211
+
1212
+ After completing this workflow, provide a summary:
1213
+
1214
+ ````markdown
1215
+ ## Automation Complete
1216
+
1217
+ **Mode:** {standalone_mode ? "Standalone" : "XiaoMa-Integrated"}
1218
+ **Target:** {story_id || target_feature || "Auto-discovered features"}
1219
+
1220
+ **Tests Created:**
1221
+
1222
+ - E2E: {e2e_count} tests ({p0_count} P0, {p1_count} P1, {p2_count} P2)
1223
+ - API: {api_count} tests ({p0_count} P0, {p1_count} P1, {p2_count} P2)
1224
+ - Component: {component_count} tests ({p1_count} P1, {p2_count} P2)
1225
+ - Unit: {unit_count} tests ({p2_count} P2, {p3_count} P3)
1226
+
1227
+ **Infrastructure:**
1228
+
1229
+ - Fixtures: {fixture_count} created/enhanced
1230
+ - Factories: {factory_count} created/enhanced
1231
+ - Helpers: {helper_count} created/enhanced
1232
+
1233
+ **Documentation Updated:**
1234
+
1235
+ - ✅ Test README with execution instructions
1236
+ - ✅ package.json scripts for test execution
1237
+
1238
+ **Test Execution:**
1239
+
1240
+ ```bash
1241
+ # Run all tests
1242
+ npm run test:e2e
1243
+
1244
+ # Run by priority
1245
+ npm run test:e2e:p0 # Critical paths only
1246
+ npm run test:e2e:p1 # P0 + P1 tests
1247
+
1248
+ # Run specific file
1249
+ npm run test:e2e -- {first_test_file}
1250
+ ```
1251
+ ````
1252
+
1253
+ **Coverage Status:**
1254
+
1255
+ - ✅ {coverage_percentage}% of features covered
1256
+ - ✅ All P0 scenarios covered
1257
+ - ✅ All P1 scenarios covered
1258
+ - ⚠️ {gap_count} coverage gaps identified (documented in summary)
1259
+
1260
+ **Quality Checks:**
1261
+
1262
+ - ✅ All tests follow Given-When-Then format
1263
+ - ✅ All tests have priority tags
1264
+ - ✅ All tests use data-testid selectors
1265
+ - ✅ All tests are self-cleaning
1266
+ - ✅ No hard waits or flaky patterns
1267
+ - ✅ All test files under {max_file_lines} lines
1268
+
1269
+ **Output File:** {output_summary}
1270
+
1271
+ **Next Steps:**
1272
+
1273
+ 1. Review generated tests with team
1274
+ 2. Run tests in CI pipeline
1275
+ 3. Monitor for flaky tests in burn-in loop
1276
+ 4. Integrate with quality gate: `xiaoma tea *gate`
1277
+
1278
+ **Knowledge Base References Applied:**
1279
+
1280
+ - Test level selection framework (E2E vs API vs Component vs Unit)
1281
+ - Priority classification (P0-P3)
1282
+ - Fixture architecture patterns with auto-cleanup
1283
+ - Data factory patterns using faker
1284
+ - Selective testing strategies
1285
+ - Test quality principles
1286
+
1287
+ ```
1288
+
1289
+ ---
1290
+
1291
+ ## Validation
1292
+
1293
+ After completing all steps, verify:
1294
+
1295
+ - [ ] Execution mode determined (XiaoMa-Integrated, Standalone, or Auto-discover)
1296
+ - [ ] XiaoMa artifacts loaded if available (story, tech-spec, test-design, PRD)
1297
+ - [ ] Framework configuration loaded
1298
+ - [ ] Existing test coverage analyzed (gaps identified)
1299
+ - [ ] Knowledge base fragments loaded (test-levels, test-priorities, fixture-architecture, data-factories, selective-testing)
1300
+ - [ ] Automation targets identified (what needs testing)
1301
+ - [ ] Test levels selected appropriately (E2E, API, Component, Unit)
1302
+ - [ ] Duplicate coverage avoided (same behavior not tested at multiple levels)
1303
+ - [ ] Test priorities assigned (P0, P1, P2, P3)
1304
+ - [ ] Fixture architecture created/enhanced (with auto-cleanup)
1305
+ - [ ] Data factories created/enhanced (using faker)
1306
+ - [ ] Helper utilities created/enhanced (if needed)
1307
+ - [ ] E2E tests written (Given-When-Then, priority tags, data-testid selectors)
1308
+ - [ ] API tests written (Given-When-Then, priority tags, comprehensive coverage)
1309
+ - [ ] Component tests written (Given-When-Then, priority tags, UI behavior)
1310
+ - [ ] Unit tests written (Given-When-Then, priority tags, pure logic)
1311
+ - [ ] Network-first pattern applied (route interception before navigation)
1312
+ - [ ] Quality standards enforced (no hard waits, no flaky patterns, self-cleaning, deterministic)
1313
+ - [ ] Test README updated (execution instructions, priority tagging, patterns)
1314
+ - [ ] package.json scripts updated (test execution commands)
1315
+ - [ ] Test suite run locally (results captured)
1316
+ - [ ] Tests validated (if auto_validate enabled)
1317
+ - [ ] Failures healed (if auto_heal_failures enabled)
1318
+ - [ ] Healing report generated (if healing attempted)
1319
+ - [ ] Unfixable tests marked with test.fixme() (if any)
1320
+ - [ ] Automation summary created (tests, infrastructure, coverage, healing, DoD)
1321
+ - [ ] Output file formatted correctly
1322
+
1323
+ Refer to `checklist.md` for comprehensive validation criteria.
1324
+ ```