bmad-method-test-architecture-enterprise 0.1.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/.github/CODE_OF_CONDUCT.md +128 -0
  2. package/.github/FUNDING.yaml +15 -0
  3. package/.github/ISSUE_TEMPLATE/config.yaml +11 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
  5. package/.github/ISSUE_TEMPLATE/issue.md +61 -0
  6. package/.github/workflows/docs.yaml +66 -0
  7. package/.github/workflows/manual-release.yaml +195 -0
  8. package/.github/workflows/quality.yaml +114 -0
  9. package/.husky/pre-commit +20 -0
  10. package/.markdownlint-cli2.yaml +36 -0
  11. package/.nvmrc +1 -0
  12. package/.prettierignore +9 -0
  13. package/.vscode/settings.json +47 -0
  14. package/CHANGELOG.md +217 -0
  15. package/CONTRIBUTING.md +268 -0
  16. package/LICENSE +26 -0
  17. package/README.md +300 -0
  18. package/SECURITY.md +85 -0
  19. package/TEA-MODULE-MIGRATION-PLAN.md +3788 -0
  20. package/docs/404.md +20 -0
  21. package/docs/MIGRATION.md +447 -0
  22. package/docs/explanation/engagement-models.md +767 -0
  23. package/docs/explanation/fixture-architecture.md +484 -0
  24. package/docs/explanation/knowledge-base-system.md +599 -0
  25. package/docs/explanation/network-first-patterns.md +884 -0
  26. package/docs/explanation/risk-based-testing.md +628 -0
  27. package/docs/explanation/step-file-architecture.md +609 -0
  28. package/docs/explanation/subprocess-architecture.md +578 -0
  29. package/docs/explanation/subprocess-implementation-status.md +327 -0
  30. package/docs/explanation/tea-overview.md +425 -0
  31. package/docs/explanation/test-quality-standards.md +965 -0
  32. package/docs/explanation/testing-as-engineering.md +111 -0
  33. package/docs/glossary/index.md +160 -0
  34. package/docs/how-to/brownfield/use-tea-for-enterprise.md +571 -0
  35. package/docs/how-to/brownfield/use-tea-with-existing-tests.md +631 -0
  36. package/docs/how-to/customization/enable-tea-mcp-enhancements.md +455 -0
  37. package/docs/how-to/customization/integrate-playwright-utils.md +846 -0
  38. package/docs/how-to/workflows/run-atdd.md +460 -0
  39. package/docs/how-to/workflows/run-automate.md +690 -0
  40. package/docs/how-to/workflows/run-nfr-assess.md +731 -0
  41. package/docs/how-to/workflows/run-test-design.md +144 -0
  42. package/docs/how-to/workflows/run-test-review.md +638 -0
  43. package/docs/how-to/workflows/run-trace.md +951 -0
  44. package/docs/how-to/workflows/setup-ci.md +761 -0
  45. package/docs/how-to/workflows/setup-test-framework.md +99 -0
  46. package/docs/index.md +122 -0
  47. package/docs/reference/commands.md +300 -0
  48. package/docs/reference/configuration.md +729 -0
  49. package/docs/reference/knowledge-base.md +365 -0
  50. package/docs/reference/troubleshooting.md +717 -0
  51. package/docs/tutorials/tea-lite-quickstart.md +465 -0
  52. package/eslint.config.mjs +152 -0
  53. package/package.json +117 -0
  54. package/prettier.config.mjs +32 -0
  55. package/release_notes.md +28 -0
  56. package/src/_module-installer/installer.js +92 -0
  57. package/src/agents/tea.agent.yaml +63 -0
  58. package/src/module-help.csv +9 -0
  59. package/src/module.yaml +91 -0
  60. package/src/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
  61. package/src/testarch/knowledge/api-request.md +442 -0
  62. package/src/testarch/knowledge/api-testing-patterns.md +851 -0
  63. package/src/testarch/knowledge/auth-session.md +548 -0
  64. package/src/testarch/knowledge/burn-in.md +273 -0
  65. package/src/testarch/knowledge/ci-burn-in.md +675 -0
  66. package/src/testarch/knowledge/component-tdd.md +486 -0
  67. package/src/testarch/knowledge/contract-testing.md +957 -0
  68. package/src/testarch/knowledge/data-factories.md +500 -0
  69. package/src/testarch/knowledge/email-auth.md +721 -0
  70. package/src/testarch/knowledge/error-handling.md +725 -0
  71. package/src/testarch/knowledge/feature-flags.md +750 -0
  72. package/src/testarch/knowledge/file-utils.md +456 -0
  73. package/src/testarch/knowledge/fixture-architecture.md +401 -0
  74. package/src/testarch/knowledge/fixtures-composition.md +382 -0
  75. package/src/testarch/knowledge/intercept-network-call.md +426 -0
  76. package/src/testarch/knowledge/log.md +426 -0
  77. package/src/testarch/knowledge/network-error-monitor.md +401 -0
  78. package/src/testarch/knowledge/network-first.md +486 -0
  79. package/src/testarch/knowledge/network-recorder.md +527 -0
  80. package/src/testarch/knowledge/nfr-criteria.md +670 -0
  81. package/src/testarch/knowledge/overview.md +286 -0
  82. package/src/testarch/knowledge/playwright-config.md +730 -0
  83. package/src/testarch/knowledge/probability-impact.md +601 -0
  84. package/src/testarch/knowledge/recurse.md +421 -0
  85. package/src/testarch/knowledge/risk-governance.md +615 -0
  86. package/src/testarch/knowledge/selective-testing.md +732 -0
  87. package/src/testarch/knowledge/selector-resilience.md +527 -0
  88. package/src/testarch/knowledge/test-healing-patterns.md +644 -0
  89. package/src/testarch/knowledge/test-levels-framework.md +473 -0
  90. package/src/testarch/knowledge/test-priorities-matrix.md +373 -0
  91. package/src/testarch/knowledge/test-quality.md +664 -0
  92. package/src/testarch/knowledge/timing-debugging.md +372 -0
  93. package/src/testarch/knowledge/visual-debugging.md +524 -0
  94. package/src/testarch/tea-index.csv +35 -0
  95. package/src/workflows/testarch/README.md +74 -0
  96. package/src/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  97. package/src/workflows/testarch/atdd/checklist.md +374 -0
  98. package/src/workflows/testarch/atdd/instructions.md +38 -0
  99. package/src/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +110 -0
  100. package/src/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +79 -0
  101. package/src/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +76 -0
  102. package/src/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +228 -0
  103. package/src/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +215 -0
  104. package/src/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +212 -0
  105. package/src/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +329 -0
  106. package/src/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +68 -0
  107. package/src/workflows/testarch/atdd/steps-e/step-01-assess.md +65 -0
  108. package/src/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +60 -0
  109. package/src/workflows/testarch/atdd/steps-v/step-01-validate.md +67 -0
  110. package/src/workflows/testarch/atdd/validation-report-20260127-095021.md +73 -0
  111. package/src/workflows/testarch/atdd/validation-report-20260127-102401.md +116 -0
  112. package/src/workflows/testarch/atdd/workflow-plan.md +21 -0
  113. package/src/workflows/testarch/atdd/workflow.md +39 -0
  114. package/src/workflows/testarch/atdd/workflow.yaml +47 -0
  115. package/src/workflows/testarch/automate/checklist.md +582 -0
  116. package/src/workflows/testarch/automate/instructions.md +43 -0
  117. package/src/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +127 -0
  118. package/src/workflows/testarch/automate/steps-c/step-02-identify-targets.md +95 -0
  119. package/src/workflows/testarch/automate/steps-c/step-03-generate-tests.md +199 -0
  120. package/src/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +183 -0
  121. package/src/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +181 -0
  122. package/src/workflows/testarch/automate/steps-c/step-03c-aggregate.md +300 -0
  123. package/src/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +69 -0
  124. package/src/workflows/testarch/automate/steps-e/step-01-assess.md +65 -0
  125. package/src/workflows/testarch/automate/steps-e/step-02-apply-edit.md +60 -0
  126. package/src/workflows/testarch/automate/steps-v/step-01-validate.md +67 -0
  127. package/src/workflows/testarch/automate/validation-report-20260127-095021.md +72 -0
  128. package/src/workflows/testarch/automate/validation-report-20260127-102401.md +114 -0
  129. package/src/workflows/testarch/automate/workflow-plan.md +20 -0
  130. package/src/workflows/testarch/automate/workflow.md +39 -0
  131. package/src/workflows/testarch/automate/workflow.yaml +54 -0
  132. package/src/workflows/testarch/ci/checklist.md +247 -0
  133. package/src/workflows/testarch/ci/github-actions-template.yaml +198 -0
  134. package/src/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  135. package/src/workflows/testarch/ci/instructions.md +38 -0
  136. package/src/workflows/testarch/ci/steps-c/step-01-preflight.md +92 -0
  137. package/src/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +82 -0
  138. package/src/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +75 -0
  139. package/src/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +67 -0
  140. package/src/workflows/testarch/ci/steps-e/step-01-assess.md +65 -0
  141. package/src/workflows/testarch/ci/steps-e/step-02-apply-edit.md +60 -0
  142. package/src/workflows/testarch/ci/steps-v/step-01-validate.md +67 -0
  143. package/src/workflows/testarch/ci/validation-report-20260127-095021.md +72 -0
  144. package/src/workflows/testarch/ci/validation-report-20260127-102401.md +114 -0
  145. package/src/workflows/testarch/ci/workflow-plan.md +20 -0
  146. package/src/workflows/testarch/ci/workflow.md +39 -0
  147. package/src/workflows/testarch/ci/workflow.yaml +47 -0
  148. package/src/workflows/testarch/framework/checklist.md +320 -0
  149. package/src/workflows/testarch/framework/instructions.md +38 -0
  150. package/src/workflows/testarch/framework/steps-c/step-01-preflight.md +75 -0
  151. package/src/workflows/testarch/framework/steps-c/step-02-select-framework.md +73 -0
  152. package/src/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +120 -0
  153. package/src/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +70 -0
  154. package/src/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +68 -0
  155. package/src/workflows/testarch/framework/steps-e/step-01-assess.md +65 -0
  156. package/src/workflows/testarch/framework/steps-e/step-02-apply-edit.md +60 -0
  157. package/src/workflows/testarch/framework/steps-v/step-01-validate.md +67 -0
  158. package/src/workflows/testarch/framework/validation-report-20260127-095021.md +73 -0
  159. package/src/workflows/testarch/framework/validation-report-20260127-102401.md +116 -0
  160. package/src/workflows/testarch/framework/workflow-plan.md +22 -0
  161. package/src/workflows/testarch/framework/workflow.md +39 -0
  162. package/src/workflows/testarch/framework/workflow.yaml +49 -0
  163. package/src/workflows/testarch/nfr-assess/checklist.md +407 -0
  164. package/src/workflows/testarch/nfr-assess/instructions.md +36 -0
  165. package/src/workflows/testarch/nfr-assess/nfr-report-template.md +462 -0
  166. package/src/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +85 -0
  167. package/src/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +82 -0
  168. package/src/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +64 -0
  169. package/src/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +140 -0
  170. package/src/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +138 -0
  171. package/src/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +84 -0
  172. package/src/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +85 -0
  173. package/src/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +88 -0
  174. package/src/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +219 -0
  175. package/src/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +71 -0
  176. package/src/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +65 -0
  177. package/src/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +60 -0
  178. package/src/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +67 -0
  179. package/src/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +73 -0
  180. package/src/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +116 -0
  181. package/src/workflows/testarch/nfr-assess/workflow-plan.md +19 -0
  182. package/src/workflows/testarch/nfr-assess/workflow.md +39 -0
  183. package/src/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  184. package/src/workflows/testarch/test-design/checklist.md +410 -0
  185. package/src/workflows/testarch/test-design/instructions.md +52 -0
  186. package/src/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +109 -0
  187. package/src/workflows/testarch/test-design/steps-c/step-02-load-context.md +127 -0
  188. package/src/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +85 -0
  189. package/src/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +98 -0
  190. package/src/workflows/testarch/test-design/steps-c/step-05-generate-output.md +97 -0
  191. package/src/workflows/testarch/test-design/steps-e/step-01-assess.md +65 -0
  192. package/src/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +60 -0
  193. package/src/workflows/testarch/test-design/steps-v/step-01-validate.md +67 -0
  194. package/src/workflows/testarch/test-design/test-design-architecture-template.md +222 -0
  195. package/src/workflows/testarch/test-design/test-design-qa-template.md +296 -0
  196. package/src/workflows/testarch/test-design/test-design-template.md +294 -0
  197. package/src/workflows/testarch/test-design/validation-report-20260127-095021.md +73 -0
  198. package/src/workflows/testarch/test-design/validation-report-20260127-102401.md +116 -0
  199. package/src/workflows/testarch/test-design/workflow-plan.md +22 -0
  200. package/src/workflows/testarch/test-design/workflow.md +39 -0
  201. package/src/workflows/testarch/test-design/workflow.yaml +71 -0
  202. package/src/workflows/testarch/test-review/checklist.md +472 -0
  203. package/src/workflows/testarch/test-review/instructions.md +36 -0
  204. package/src/workflows/testarch/test-review/steps-c/step-01-load-context.md +101 -0
  205. package/src/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +69 -0
  206. package/src/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +184 -0
  207. package/src/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +214 -0
  208. package/src/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +125 -0
  209. package/src/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +102 -0
  210. package/src/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +111 -0
  211. package/src/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +117 -0
  212. package/src/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +246 -0
  213. package/src/workflows/testarch/test-review/steps-c/step-04-generate-report.md +72 -0
  214. package/src/workflows/testarch/test-review/steps-e/step-01-assess.md +65 -0
  215. package/src/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +60 -0
  216. package/src/workflows/testarch/test-review/steps-v/step-01-validate.md +67 -0
  217. package/src/workflows/testarch/test-review/test-review-template.md +390 -0
  218. package/src/workflows/testarch/test-review/validation-report-20260127-095021.md +72 -0
  219. package/src/workflows/testarch/test-review/validation-report-20260127-102401.md +114 -0
  220. package/src/workflows/testarch/test-review/workflow-plan.md +18 -0
  221. package/src/workflows/testarch/test-review/workflow.md +39 -0
  222. package/src/workflows/testarch/test-review/workflow.yaml +48 -0
  223. package/src/workflows/testarch/trace/checklist.md +642 -0
  224. package/src/workflows/testarch/trace/instructions.md +36 -0
  225. package/src/workflows/testarch/trace/steps-c/step-01-load-context.md +80 -0
  226. package/src/workflows/testarch/trace/steps-c/step-02-discover-tests.md +69 -0
  227. package/src/workflows/testarch/trace/steps-c/step-03-map-criteria.md +65 -0
  228. package/src/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +244 -0
  229. package/src/workflows/testarch/trace/steps-c/step-05-gate-decision.md +232 -0
  230. package/src/workflows/testarch/trace/steps-e/step-01-assess.md +65 -0
  231. package/src/workflows/testarch/trace/steps-e/step-02-apply-edit.md +60 -0
  232. package/src/workflows/testarch/trace/steps-v/step-01-validate.md +67 -0
  233. package/src/workflows/testarch/trace/trace-template.md +675 -0
  234. package/src/workflows/testarch/trace/validation-report-20260127-095021.md +73 -0
  235. package/src/workflows/testarch/trace/validation-report-20260127-102401.md +116 -0
  236. package/src/workflows/testarch/trace/workflow-plan.md +21 -0
  237. package/src/workflows/testarch/trace/workflow.md +39 -0
  238. package/src/workflows/testarch/trace/workflow.yaml +57 -0
  239. package/test/README.md +23 -0
  240. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  241. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  242. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  243. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  244. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  245. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  246. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  247. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  248. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  249. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  250. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  251. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  252. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  253. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  254. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  255. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  256. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  257. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  258. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  259. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  260. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  261. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  262. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  263. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  264. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  265. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  266. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  267. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  268. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  269. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  270. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  271. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  272. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  273. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  274. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  275. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  276. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  277. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  278. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  279. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  280. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  281. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  282. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  283. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  284. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  285. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  286. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  287. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  288. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  289. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  290. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  291. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  292. package/test/schema/agent.js +491 -0
  293. package/test/test-agent-schema.js +387 -0
  294. package/test/test-installation-components.js +183 -0
  295. package/test/test-knowledge-base.js +199 -0
  296. package/test/unit-test-schema.js +133 -0
  297. package/test/validate-agent-schema.js +110 -0
  298. package/tools/build-docs.js +575 -0
  299. package/tools/fix-doc-links.js +288 -0
  300. package/tools/schema/agent.js +491 -0
  301. package/tools/validate-agent-schema.js +111 -0
  302. package/tools/validate-doc-links.js +371 -0
  303. package/tools/verify-paths.js +100 -0
  304. package/website/README.md +137 -0
  305. package/website/astro.config.mjs +158 -0
  306. package/website/package-lock.json +6856 -0
  307. package/website/package.json +23 -0
  308. package/website/public/favicon.ico +0 -0
  309. package/website/public/img/tea-logo.svg +7 -0
  310. package/website/public/robots.txt +37 -0
  311. package/website/src/components/Banner.astro +59 -0
  312. package/website/src/components/Header.astro +121 -0
  313. package/website/src/components/MobileMenuFooter.astro +53 -0
  314. package/website/src/content/config.ts +6 -0
  315. package/website/src/lib/site-url.js +25 -0
  316. package/website/src/pages/404.astro +11 -0
  317. package/website/src/rehype-base-paths.js +89 -0
  318. package/website/src/rehype-markdown-links.js +117 -0
  319. package/website/src/styles/custom.css +499 -0
  320. package/website/tsconfig.json +9 -0
@@ -0,0 +1,273 @@
1
+ # Burn-in Test Runner
2
+
3
+ ## Principle
4
+
5
+ Use smart test selection with git diff analysis to run only affected tests. Filter out irrelevant changes (configs, types, docs) and control test volume with percentage-based execution. Reduce unnecessary CI runs while maintaining reliability.
6
+
7
+ ## Rationale
8
+
9
+ Playwright's `--only-changed` triggers all affected tests:
10
+
11
+ - Config file changes trigger hundreds of tests
12
+ - Type definition changes cause full suite runs
13
+ - No volume control (all or nothing)
14
+ - Slow CI pipelines
15
+
16
+ The `burn-in` utility provides:
17
+
18
+ - **Smart filtering**: Skip patterns for irrelevant files (configs, types, docs)
19
+ - **Volume control**: Run percentage of affected tests after filtering
20
+ - **Custom dependency analysis**: More accurate than Playwright's built-in
21
+ - **CI optimization**: Faster pipelines without sacrificing confidence
22
+ - **Process of elimination**: Start with all → filter irrelevant → control volume
23
+
24
+ ## Pattern Examples
25
+
26
+ ### Example 1: Basic Burn-in Setup
27
+
28
+ **Context**: Run burn-in on changed files compared to main branch.
29
+
30
+ **Implementation**:
31
+
32
+ ```typescript
33
+ // Step 1: Create burn-in script
34
+ // playwright/scripts/burn-in-changed.ts
35
+ import { runBurnIn } from '@seontechnologies/playwright-utils/burn-in'
36
+
37
+ async function main() {
38
+ await runBurnIn({
39
+ configPath: 'playwright/config/.burn-in.config.ts',
40
+ baseBranch: 'main'
41
+ })
42
+ }
43
+
44
+ main().catch(console.error)
45
+
46
+ // Step 2: Create config
47
+ // playwright/config/.burn-in.config.ts
48
+ import type { BurnInConfig } from '@seontechnologies/playwright-utils/burn-in'
49
+
50
+ const config: BurnInConfig = {
51
+ // Files that never trigger tests (first filter)
52
+ skipBurnInPatterns: [
53
+ '**/config/**',
54
+ '**/*constants*',
55
+ '**/*types*',
56
+ '**/*.md',
57
+ '**/README*'
58
+ ],
59
+
60
+ // Run 30% of remaining tests after skip filter
61
+ burnInTestPercentage: 0.3,
62
+
63
+ // Burn-in repetition
64
+ burnIn: {
65
+ repeatEach: 3, // Run each test 3 times
66
+ retries: 1 // Allow 1 retry
67
+ }
68
+ }
69
+
70
+ export default config
71
+
72
+ // Step 3: Add package.json script
73
+ {
74
+ "scripts": {
75
+ "test:pw:burn-in-changed": "tsx playwright/scripts/burn-in-changed.ts"
76
+ }
77
+ }
78
+ ```
79
+
80
+ **Key Points**:
81
+
82
+ - Two-stage filtering: skip patterns, then volume control
83
+ - `skipBurnInPatterns` eliminates irrelevant files
84
+ - `burnInTestPercentage` controls test volume (0.3 = 30%)
85
+ - Custom dependency analysis finds actually affected tests
86
+
87
+ ### Example 2: CI Integration
88
+
89
+ **Context**: Use burn-in in GitHub Actions for efficient CI runs.
90
+
91
+ **Implementation**:
92
+
93
+ ```yaml
94
+ # .github/workflows/burn-in.yml
95
+ name: Burn-in Changed Tests
96
+
97
+ on:
98
+ pull_request:
99
+ branches: [main]
100
+
101
+ jobs:
102
+ burn-in:
103
+ runs-on: ubuntu-latest
104
+ steps:
105
+ - uses: actions/checkout@v4
106
+ with:
107
+ fetch-depth: 0 # Need git history
108
+
109
+ - name: Setup Node
110
+ uses: actions/setup-node@v4
111
+
112
+ - name: Install dependencies
113
+ run: npm ci
114
+
115
+ - name: Run burn-in on changed tests
116
+ run: npm run test:pw:burn-in-changed -- --base-branch=origin/main
117
+
118
+ - name: Upload artifacts
119
+ if: failure()
120
+ uses: actions/upload-artifact@v4
121
+ with:
122
+ name: burn-in-failures
123
+ path: test-results/
124
+ ```
125
+
126
+ **Key Points**:
127
+
128
+ - `fetch-depth: 0` for full git history
129
+ - Pass `--base-branch=origin/main` for PR comparison
130
+ - Upload artifacts only on failure
131
+ - Significantly faster than full suite
132
+
133
+ ### Example 3: How It Works (Process of Elimination)
134
+
135
+ **Context**: Understanding the filtering pipeline.
136
+
137
+ **Scenario:**
138
+
139
+ ```
140
+ Git diff finds: 21 changed files
141
+ ├─ Step 1: Skip patterns filter
142
+ │ Removed: 6 files (*.md, config/*, *types*)
143
+ │ Remaining: 15 files
144
+
145
+ ├─ Step 2: Dependency analysis
146
+ │ Tests that import these 15 files: 45 tests
147
+
148
+ └─ Step 3: Volume control (30%)
149
+ Final tests to run: 14 tests (30% of 45)
150
+
151
+ Result: Run 14 targeted tests instead of 147 with --only-changed!
152
+ ```
153
+
154
+ **Key Points**:
155
+
156
+ - Three-stage pipeline: skip → analyze → control
157
+ - Custom dependency analysis (not just imports)
158
+ - Percentage applies AFTER filtering
159
+ - Dramatically reduces CI time
160
+
161
+ ### Example 4: Environment-Specific Configuration
162
+
163
+ **Context**: Different settings for local vs CI environments.
164
+
165
+ **Implementation**:
166
+
167
+ ```typescript
168
+ import type { BurnInConfig } from '@seontechnologies/playwright-utils/burn-in';
169
+
170
+ const config: BurnInConfig = {
171
+ skipBurnInPatterns: ['**/config/**', '**/*types*', '**/*.md'],
172
+
173
+ // CI runs fewer iterations, local runs more
174
+ burnInTestPercentage: process.env.CI ? 0.2 : 0.3,
175
+
176
+ burnIn: {
177
+ repeatEach: process.env.CI ? 2 : 3,
178
+ retries: process.env.CI ? 0 : 1, // No retries in CI
179
+ },
180
+ };
181
+
182
+ export default config;
183
+ ```
184
+
185
+ **Key Points**:
186
+
187
+ - `process.env.CI` for environment detection
188
+ - Lower percentage in CI (20% vs 30%)
189
+ - Fewer iterations in CI (2 vs 3)
190
+ - No retries in CI (fail fast)
191
+
192
+ ### Example 5: Sharding Support
193
+
194
+ **Context**: Distribute burn-in tests across multiple CI workers.
195
+
196
+ **Implementation**:
197
+
198
+ ```typescript
199
+ // burn-in-changed.ts with sharding
200
+ import { runBurnIn } from '@seontechnologies/playwright-utils/burn-in';
201
+
202
+ async function main() {
203
+ const shardArg = process.argv.find((arg) => arg.startsWith('--shard='));
204
+
205
+ if (shardArg) {
206
+ process.env.PW_SHARD = shardArg.split('=')[1];
207
+ }
208
+
209
+ await runBurnIn({
210
+ configPath: 'playwright/config/.burn-in.config.ts',
211
+ });
212
+ }
213
+ ```
214
+
215
+ ```yaml
216
+ # GitHub Actions with sharding
217
+ jobs:
218
+ burn-in:
219
+ strategy:
220
+ matrix:
221
+ shard: [1/3, 2/3, 3/3]
222
+ steps:
223
+ - run: npm run test:pw:burn-in-changed -- --shard=${{ matrix.shard }}
224
+ ```
225
+
226
+ **Key Points**:
227
+
228
+ - Pass `--shard=1/3` for parallel execution
229
+ - Burn-in respects Playwright sharding
230
+ - Distribute across multiple workers
231
+ - Reduces total CI time further
232
+
233
+ ## Integration with CI Workflow
234
+
235
+ When setting up CI with `*ci` workflow, recommend burn-in for:
236
+
237
+ - Pull request validation
238
+ - Pre-merge checks
239
+ - Nightly builds (subset runs)
240
+
241
+ ## Related Fragments
242
+
243
+ - `ci-burn-in.md` - Traditional burn-in patterns (10-iteration loops)
244
+ - `selective-testing.md` - Test selection strategies
245
+ - `overview.md` - Installation
246
+
247
+ ## Anti-Patterns
248
+
249
+ **❌ Over-aggressive skip patterns:**
250
+
251
+ ```typescript
252
+ skipBurnInPatterns: [
253
+ '**/*', // Skips everything!
254
+ ];
255
+ ```
256
+
257
+ **✅ Targeted skip patterns:**
258
+
259
+ ```typescript
260
+ skipBurnInPatterns: ['**/config/**', '**/*types*', '**/*.md', '**/*constants*'];
261
+ ```
262
+
263
+ **❌ Too low percentage (false confidence):**
264
+
265
+ ```typescript
266
+ burnInTestPercentage: 0.05; // Only 5% - might miss issues
267
+ ```
268
+
269
+ **✅ Balanced percentage:**
270
+
271
+ ```typescript
272
+ burnInTestPercentage: 0.2; // 20% in CI, provides good coverage
273
+ ```