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
package/package.json ADDED
@@ -0,0 +1,117 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "name": "bmad-method-test-architecture-enterprise",
4
+ "version": "0.1.1-beta.0",
5
+ "description": "Master Test Architect for quality strategy, test automation, and release gates",
6
+ "keywords": [
7
+ "bmad",
8
+ "test-architect",
9
+ "testing",
10
+ "quality",
11
+ "automation",
12
+ "playwright",
13
+ "test-engineering"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise.git"
18
+ },
19
+ "license": "MIT",
20
+ "author": "Murat K Ozcan (TEA Creator) & Brian (BMad) Madison",
21
+ "main": "",
22
+ "bin": {},
23
+ "scripts": {
24
+ "docs:build": "node tools/build-docs.js",
25
+ "docs:dev": "npm --prefix website run dev",
26
+ "docs:fix-links": "node tools/fix-doc-links.js --write",
27
+ "docs:preview": "npm --prefix website run preview",
28
+ "docs:validate-links": "node tools/validate-doc-links.js",
29
+ "format:check": "prettier --check .",
30
+ "format:fix": "prettier --write .",
31
+ "format:fix:staged": "prettier --write",
32
+ "lint": "eslint . --max-warnings 0",
33
+ "lint:fix": "eslint . --fix",
34
+ "lint:md": "markdownlint-cli2 '**/*.md'",
35
+ "prepare": "husky",
36
+ "release:alpha": "gh workflow run manual-release.yaml -f version_bump=alpha",
37
+ "release:beta": "gh workflow run manual-release.yaml -f version_bump=beta",
38
+ "release:major": "gh workflow run manual-release.yaml -f version_bump=major",
39
+ "release:minor": "gh workflow run manual-release.yaml -f version_bump=minor",
40
+ "release:patch": "gh workflow run manual-release.yaml -f version_bump=patch",
41
+ "test": "npm run test:schemas && npm run test:install && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
42
+ "test:coverage": "c8 npm test",
43
+ "test:install": "node test/test-installation-components.js",
44
+ "test:schemas": "node test/test-agent-schema.js",
45
+ "validate:schemas": "node tools/validate-agent-schema.js"
46
+ },
47
+ "lint-staged": {
48
+ "*.{js,cjs,mjs}": [
49
+ "npm run lint:fix",
50
+ "npm run format:fix:staged"
51
+ ],
52
+ "*.yaml": [
53
+ "eslint --fix",
54
+ "npm run format:fix:staged"
55
+ ],
56
+ "*.json": [
57
+ "npm run format:fix:staged"
58
+ ],
59
+ "*.md": [
60
+ "markdownlint-cli2 --fix",
61
+ "npm run format:fix:staged"
62
+ ]
63
+ },
64
+ "c8": {
65
+ "all": true,
66
+ "reporter": [
67
+ "text",
68
+ "html"
69
+ ],
70
+ "reports-dir": "coverage"
71
+ },
72
+ "dependencies": {
73
+ "@clack/prompts": "^0.11.0",
74
+ "boxen": "^5.1.2",
75
+ "chalk": "^4.1.2",
76
+ "cli-table3": "^0.6.5",
77
+ "commander": "^14.0.0",
78
+ "csv-parse": "^6.1.0",
79
+ "fs-extra": "^11.3.0",
80
+ "glob": "^11.0.3",
81
+ "ignore": "^7.0.5",
82
+ "js-yaml": "^4.1.0",
83
+ "ora": "^5.4.1",
84
+ "semver": "^7.6.3",
85
+ "wrap-ansi": "^7.0.0",
86
+ "xml2js": "^0.6.2",
87
+ "yaml": "^2.7.0"
88
+ },
89
+ "devDependencies": {
90
+ "@astrojs/sitemap": "^3.6.0",
91
+ "@astrojs/starlight": "^0.37.0",
92
+ "@eslint/js": "^9.33.0",
93
+ "archiver": "^7.0.1",
94
+ "astro": "^5.16.0",
95
+ "c8": "^10.1.3",
96
+ "eslint": "^9.33.0",
97
+ "eslint-config-prettier": "^10.1.8",
98
+ "eslint-plugin-n": "^17.21.3",
99
+ "eslint-plugin-unicorn": "^60.0.0",
100
+ "eslint-plugin-yml": "^1.18.0",
101
+ "husky": "^9.1.7",
102
+ "jest": "^30.0.4",
103
+ "lint-staged": "^16.1.1",
104
+ "markdownlint-cli2": "^0.19.1",
105
+ "prettier": "^3.7.4",
106
+ "prettier-plugin-packagejson": "^2.5.19",
107
+ "sharp": "^0.33.5",
108
+ "yaml-eslint-parser": "^1.2.3",
109
+ "yaml-lint": "^1.7.0"
110
+ },
111
+ "engines": {
112
+ "node": ">=20.0.0"
113
+ },
114
+ "publishConfig": {
115
+ "access": "public"
116
+ }
117
+ }
@@ -0,0 +1,32 @@
1
+ export default {
2
+ $schema: 'https://json.schemastore.org/prettierrc',
3
+ printWidth: 140,
4
+ tabWidth: 2,
5
+ useTabs: false,
6
+ semi: true,
7
+ singleQuote: true,
8
+ trailingComma: 'all',
9
+ bracketSpacing: true,
10
+ arrowParens: 'always',
11
+ endOfLine: 'lf',
12
+ proseWrap: 'preserve',
13
+ overrides: [
14
+ {
15
+ files: ['*.md'],
16
+ options: { proseWrap: 'preserve' },
17
+ },
18
+ {
19
+ files: ['*.yaml'],
20
+ options: { singleQuote: false },
21
+ },
22
+ {
23
+ files: ['*.json', '*.jsonc'],
24
+ options: { singleQuote: false },
25
+ },
26
+ {
27
+ files: ['*.cjs'],
28
+ options: { parser: 'babel' },
29
+ },
30
+ ],
31
+ plugins: ['prettier-plugin-packagejson'],
32
+ };
@@ -0,0 +1,28 @@
1
+ ## 🚀 What's New in v0.1.1-beta.0
2
+
3
+ ### 📦 Other Changes
4
+ - Initial commit
5
+ - test: tea migration until phase 5
6
+ - Merge pull request #1 from bmad-code-org/test/tea-migration-part1
7
+ - test: tea migration until phase 5
8
+ - Merge pull request #2 from bmad-code-org/test/tea-migration-part1
9
+ - test: phase 5 and 6 done
10
+ - Merge pull request #3 from bmad-code-org/test/phase-5
11
+ - test: phase 7
12
+ - less gitignore
13
+ - do not gitignore package.json
14
+ - Merge pull request #4 from bmad-code-org/test/phase-7
15
+ - test: publish
16
+ - Merge pull request #5 from bmad-code-org/test/publish
17
+ - added release scripts
18
+
19
+ ### 🔧 Maintenance
20
+ - chore: fixed manual release
21
+
22
+
23
+ ## 📦 Installation
24
+
25
+ ```bash
26
+ npx bmad-method install
27
+ # Select "Test Architect" from module menu
28
+ ```
@@ -0,0 +1,92 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('node:path');
3
+ const chalk = require('chalk');
4
+
5
+ /**
6
+ * CIS Module Installer
7
+ * Standard module installer function that executes after IDE installations
8
+ *
9
+ * @param {Object} options - Installation options
10
+ * @param {string} options.projectRoot - The root directory of the target project
11
+ * @param {Object} options.config - Module configuration from module.yaml
12
+ * @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
13
+ * @param {Object} options.logger - Logger instance for output
14
+ * @returns {Promise<boolean>} - Success status
15
+ */
16
+ async function install(options) {
17
+ const { projectRoot, config, installedIDEs, logger } = options;
18
+
19
+ try {
20
+ logger.log(chalk.blue('🎨 Installing CIS Module...'));
21
+
22
+ // Create output directory if configured
23
+ if (config['output_folder']) {
24
+ // Strip {project-root}/ prefix if present
25
+ const outputConfig = config['output_folder'].replace('{project-root}/', '');
26
+ const outputPath = path.join(projectRoot, outputConfig);
27
+ if (!(await fs.pathExists(outputPath))) {
28
+ logger.log(chalk.yellow(`Creating CIS output directory: ${outputConfig}`));
29
+ await fs.ensureDir(outputPath);
30
+
31
+ // Add any default CIS templates or assets here
32
+ const templatesSource = path.join(__dirname, 'assets');
33
+ const templateFiles = await fs.readdir(templatesSource).catch(() => []);
34
+
35
+ for (const file of templateFiles) {
36
+ const source = path.join(templatesSource, file);
37
+ const dest = path.join(outputPath, file);
38
+
39
+ if (!(await fs.pathExists(dest))) {
40
+ await fs.copy(source, dest);
41
+ logger.log(chalk.green(`✓ Added ${file}`));
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ // Handle IDE-specific configurations if needed
48
+ if (installedIDEs && installedIDEs.length > 0) {
49
+ logger.log(chalk.cyan(`Configuring CIS for IDEs: ${installedIDEs.join(', ')}`));
50
+
51
+ // Add any IDE-specific CIS configurations here
52
+ for (const ide of installedIDEs) {
53
+ await configureForIDE(ide, projectRoot, config, logger);
54
+ }
55
+ }
56
+
57
+ logger.log(chalk.green('✓ CIS Module installation complete'));
58
+ return true;
59
+ } catch (error) {
60
+ logger.error(chalk.red(`Error installing CIS module: ${error.message}`));
61
+ return false;
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Configure CIS module for specific IDE
67
+ * @private
68
+ */
69
+ async function configureForIDE(ide) {
70
+ // Add IDE-specific configurations here
71
+ switch (ide) {
72
+ case 'claude-code': {
73
+ // Claude Code specific CIS configurations
74
+ break;
75
+ }
76
+ case 'cursor': {
77
+ // Cursor specific CIS configurations
78
+ break;
79
+ }
80
+ case 'windsurf': {
81
+ // Windsurf specific CIS configurations
82
+ break;
83
+ }
84
+ // Add more IDEs as needed
85
+ default: {
86
+ // No specific configuration needed
87
+ break;
88
+ }
89
+ }
90
+ }
91
+
92
+ module.exports = { install };
@@ -0,0 +1,63 @@
1
+ # Test Architect + Quality Advisor Agent Definition
2
+
3
+ agent:
4
+ webskip: true
5
+ metadata:
6
+ id: "_bmad/tea/agents/tea.md"
7
+ name: Murat
8
+ title: Master Test Architect and Quality Advisor
9
+ icon: 🧪
10
+ module: tea
11
+ hasSidecar: false
12
+
13
+ persona:
14
+ role: Master Test Architect
15
+ identity: Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in pure API/service-layer testing as in browser-based E2E testing.
16
+ communication_style: "Blends data with gut instinct. 'Strong opinions, weakly held' is their mantra. Speaks in risk calculations and impact assessments."
17
+ principles: |
18
+ - Risk-based testing - depth scales with impact
19
+ - Quality gates backed by data
20
+ - Tests mirror usage patterns (API, UI, or both)
21
+ - Flakiness is critical technical debt
22
+ - Tests first AI implements suite validates
23
+ - Calculate risk vs value for every testing decision
24
+ - Prefer lower test levels (unit > integration > E2E) when possible
25
+ - API tests are first-class citizens, not just UI support
26
+
27
+ critical_actions:
28
+ - "Consult {project-root}/_bmad/tea/testarch/tea-index.csv to select knowledge fragments under knowledge/ and load only the files needed for the current task"
29
+ - "Load the referenced fragment(s) from {project-root}/_bmad/tea/testarch/knowledge/ before giving recommendations"
30
+ - "Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation"
31
+
32
+ menu:
33
+ - trigger: TF or fuzzy match on test-framework
34
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/framework/workflow.yaml"
35
+ description: "[TF] Test Framework: Initialize production-ready test framework architecture"
36
+
37
+ - trigger: AT or fuzzy match on atdd
38
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/atdd/workflow.yaml"
39
+ description: "[AT] ATDD: Generate failing acceptance tests plus an implementation checklist before development"
40
+
41
+ - trigger: TA or fuzzy match on test-automate
42
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/automate/workflow.yaml"
43
+ description: "[TA] Test Automation: Generate prioritized API/E2E tests, fixtures, and DoD summary for a story or feature"
44
+
45
+ - trigger: TD or fuzzy match on test-design
46
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/test-design/workflow.yaml"
47
+ description: "[TD] Test Design: Risk assessment plus coverage strategy for system or epic scope"
48
+
49
+ - trigger: TR or fuzzy match on test-trace
50
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/trace/workflow.yaml"
51
+ description: "[TR] Trace Requirements: Map requirements to tests (Phase 1) and make quality gate decision (Phase 2)"
52
+
53
+ - trigger: NR or fuzzy match on nfr-assess
54
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml"
55
+ description: "[NR] Non-Functional Requirements: Assess NFRs and recommend actions"
56
+
57
+ - trigger: CI or fuzzy match on continuous-integration
58
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/ci/workflow.yaml"
59
+ description: "[CI] Continuous Integration: Recommend and Scaffold CI/CD quality pipeline"
60
+
61
+ - trigger: RV or fuzzy match on test-review
62
+ workflow: "{project-root}/_bmad/tea/workflows/testarch/test-review/workflow.yaml"
63
+ description: "[RV] Review Tests: Perform a quality check against written tests using comprehensive knowledge base and best practices"
@@ -0,0 +1,9 @@
1
+ module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
2
+ tea,3-solutioning,Test Framework,TF,10,_bmad/tea/workflows/testarch/framework/workflow.yaml,bmad_tea_framework,false,tea,Create Mode,"Initialize production-ready test framework",test_artifacts,"framework scaffold",
3
+ tea,3-solutioning,CI Setup,CI,20,_bmad/tea/workflows/testarch/ci/workflow.yaml,bmad_tea_ci,false,tea,Create Mode,"Configure CI/CD quality pipeline",test_artifacts,"ci config",
4
+ tea,3-solutioning,Test Design,TD,30,_bmad/tea/workflows/testarch/test-design/workflow.yaml,bmad_tea_test-design,false,tea,Create Mode,"Risk-based test planning",test_artifacts,"test design document",
5
+ tea,4-implementation,ATDD,AT,10,_bmad/tea/workflows/testarch/atdd/workflow.yaml,bmad_tea_atdd,false,tea,Create Mode,"Generate failing tests (TDD red phase)",test_artifacts,"atdd tests",
6
+ tea,4-implementation,Test Automation,TA,20,_bmad/tea/workflows/testarch/automate/workflow.yaml,bmad_tea_automate,false,tea,Create Mode,"Expand test coverage",test_artifacts,"test suite",
7
+ tea,4-implementation,Test Review,RV,30,_bmad/tea/workflows/testarch/test-review/workflow.yaml,bmad_tea_test-review,false,tea,Validate Mode,"Quality audit (0-100 scoring)",test_artifacts,"review report",
8
+ tea,4-implementation,NFR Assessment,NR,40,_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml,bmad_tea_nfr-assess,false,tea,Create Mode,"Non-functional requirements",test_artifacts,"nfr report",
9
+ tea,4-implementation,Traceability,TR,50,_bmad/tea/workflows/testarch/trace/workflow.yaml,bmad_tea_trace,false,tea,Create Mode,"Coverage traceability and gate",test_artifacts,"traceability matrix|gate decision",
@@ -0,0 +1,91 @@
1
+ code: tea
2
+ name: "Test Architect"
3
+ header: "Test Architect: quality strategy, automation, and release gates"
4
+ subheader: "Risk-based testing workflows for BMad Method/Enterprise with optional Playwright/MCP enhancements"
5
+ description: "Master Test Architect for quality strategy, test automation, and release gates"
6
+ default_selected: false
7
+
8
+ # Variables from Core Config inserted automatically by installer:
9
+ ## user_name
10
+ ## communication_language
11
+ ## document_output_language
12
+ ## output_folder
13
+ ## project_root
14
+
15
+ # TEA-specific configuration variables
16
+ # IMPORTANT: Only tea_use_playwright_utils and tea_use_mcp_enhancements are ACTIVELY USED in workflows
17
+ # Other variables are FUTURE placeholders for Phase 10 enhancements
18
+
19
+ test_artifacts:
20
+ prompt: "Where should test artifacts be stored? (test plans, coverage reports, quality audits)"
21
+ default: "{output_folder}/test-artifacts"
22
+ result: "{project-root}/{value}"
23
+
24
+ # ✅ ACTIVELY USED - Playwright Utils integration (referenced in 6 workflows: automate, atdd, framework, test-design, test-review, ci)
25
+ # CRITICAL: Must be boolean (true/false) not string - workflows check "if config.tea_use_playwright_utils: true"
26
+ tea_use_playwright_utils:
27
+ prompt: "Enable Playwright Utils integration?"
28
+ default: true
29
+ result: "{value}"
30
+ single-select:
31
+ - value: true
32
+ label: "Yes - Use production utilities (Recommended)"
33
+ - value: false
34
+ label: "No - Generate from scratch"
35
+
36
+ # ✅ ACTIVELY USED - Playwright MCP enhancements (workflows with recording mode)
37
+ # CRITICAL: Must be boolean (true/false) not string
38
+ tea_use_mcp_enhancements:
39
+ prompt: "Enable Playwright MCP enhancements?"
40
+ default: false
41
+ result: "{value}"
42
+ single-select:
43
+ - value: true
44
+ label: "Yes - Enable live browser verification"
45
+ - value: false
46
+ label: "No - Standard mode only"
47
+
48
+ # ⏭️ FUTURE - Test framework selection (not currently wired into workflows, marked for Phase 10)
49
+ test_framework:
50
+ prompt: "Which test framework are you using?"
51
+ default: "playwright"
52
+ result: "{value}"
53
+ single-select:
54
+ - value: "playwright"
55
+ label: "Playwright (Recommended)"
56
+ - value: "cypress"
57
+ label: "Cypress"
58
+ - value: "other"
59
+ label: "Other/Custom"
60
+
61
+ # ⏭️ FUTURE - Risk threshold (not currently used in test-design workflow, marked for Phase 10)
62
+ risk_threshold:
63
+ prompt: "What risk level requires mandatory testing?"
64
+ default: "p1"
65
+ result: "{value}"
66
+ single-select:
67
+ - value: "p0"
68
+ label: "P0 only (Critical systems)"
69
+ - value: "p1"
70
+ label: "P1+ (High & Critical)"
71
+ - value: "p2"
72
+ label: "P2+ (Medium, High & Critical)"
73
+ - value: "p3"
74
+ label: "All (P0-P3)"
75
+
76
+ # ⏭️ FUTURE - Test output folders (not currently wired into workflows, marked for Phase 10)
77
+ # IMPORTANT: test_artifacts already resolves to {project-root}/..., so don't re-prepend {project-root}
78
+ test_design_output:
79
+ prompt: "Where should test design documents be stored?"
80
+ default: "test-design"
81
+ result: "{test_artifacts}/{value}"
82
+
83
+ test_review_output:
84
+ prompt: "Where should test review reports be stored?"
85
+ default: "test-reviews"
86
+ result: "{test_artifacts}/{value}"
87
+
88
+ trace_output:
89
+ prompt: "Where should traceability reports be stored?"
90
+ default: "traceability"
91
+ result: "{test_artifacts}/{value}"