@cregis-dev/cckit 0.4.0 → 0.5.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 (798) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +98 -148
  3. package/bin/cckit.js +3 -3
  4. package/package.json +8 -7
  5. package/registry.json +92 -234
  6. package/src/cli.js +17 -26
  7. package/src/commands/init.js +160 -337
  8. package/src/commands/status.js +85 -62
  9. package/src/commands/update.js +151 -430
  10. package/src/core/config.js +74 -82
  11. package/src/core/orchestrator.js +79 -0
  12. package/src/core/registry.js +60 -75
  13. package/src/steps/configure-user.js +115 -0
  14. package/src/steps/enable-plugins.js +97 -0
  15. package/src/steps/install-bmad.js +85 -0
  16. package/src/steps/install-mcp.js +70 -0
  17. package/src/steps/install-rules.js +110 -0
  18. package/src/steps/install-skills.js +54 -0
  19. package/src/utils/fs.js +33 -55
  20. package/src/utils/logger.js +16 -16
  21. package/src/utils/manifest.js +99 -0
  22. package/src/utils/prompt.js +41 -0
  23. package/templates/mcp/claude-code/.mcp.json +40 -35
  24. package/src/adapters/trae-adapter.js +0 -90
  25. package/src/commands/add.js +0 -192
  26. package/src/commands/sync.js +0 -325
  27. package/src/core/differ.js +0 -57
  28. package/src/core/installer.js +0 -97
  29. package/src/core/plugin-installer.js +0 -278
  30. package/src/core/templatize.js +0 -42
  31. package/src/core/upstream.js +0 -357
  32. package/templates/bmad/_config/agent-manifest.csv +0 -12
  33. package/templates/bmad/_config/agents/bmm-analyst.customize.yaml +0 -41
  34. package/templates/bmad/_config/agents/bmm-architect.customize.yaml +0 -41
  35. package/templates/bmad/_config/agents/bmm-dev.customize.yaml +0 -41
  36. package/templates/bmad/_config/agents/bmm-pm.customize.yaml +0 -41
  37. package/templates/bmad/_config/agents/bmm-qa.customize.yaml +0 -41
  38. package/templates/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +0 -41
  39. package/templates/bmad/_config/agents/bmm-sm.customize.yaml +0 -41
  40. package/templates/bmad/_config/agents/bmm-tech-writer.customize.yaml +0 -41
  41. package/templates/bmad/_config/agents/bmm-ux-designer.customize.yaml +0 -41
  42. package/templates/bmad/_config/agents/core-bmad-master.customize.yaml +0 -41
  43. package/templates/bmad/_config/agents/tea-tea.customize.yaml +0 -41
  44. package/templates/bmad/_config/bmad-help.csv +0 -49
  45. package/templates/bmad/_config/files-manifest.csv +0 -437
  46. package/templates/bmad/_config/ides/claude-code.yaml +0 -5
  47. package/templates/bmad/_config/ides/opencode.yaml +0 -5
  48. package/templates/bmad/_config/ides/trae.yaml +0 -5
  49. package/templates/bmad/_config/task-manifest.csv +0 -8
  50. package/templates/bmad/_config/tool-manifest.csv +0 -1
  51. package/templates/bmad/_config/workflow-manifest.csv +0 -35
  52. package/templates/bmad/bmm/agents/analyst.md +0 -78
  53. package/templates/bmad/bmm/agents/architect.md +0 -58
  54. package/templates/bmad/bmm/agents/dev.md +0 -69
  55. package/templates/bmad/bmm/agents/pm.md +0 -72
  56. package/templates/bmad/bmm/agents/qa.md +0 -92
  57. package/templates/bmad/bmm/agents/quick-flow-solo-dev.md +0 -69
  58. package/templates/bmad/bmm/agents/sm.md +0 -70
  59. package/templates/bmad/bmm/agents/tech-writer/tech-writer.md +0 -70
  60. package/templates/bmad/bmm/agents/ux-designer.md +0 -57
  61. package/templates/bmad/bmm/config.yaml +0 -15
  62. package/templates/bmad/bmm/data/project-context-template.md +0 -26
  63. package/templates/bmad/bmm/module-help.csv +0 -31
  64. package/templates/bmad/bmm/teams/default-party.csv +0 -20
  65. package/templates/bmad/bmm/teams/team-fullstack.yaml +0 -12
  66. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +0 -10
  67. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +0 -177
  68. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -161
  69. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +0 -199
  70. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +0 -202
  71. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +0 -205
  72. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +0 -219
  73. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -162
  74. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +0 -57
  75. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +0 -137
  76. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +0 -229
  77. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +0 -238
  78. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +0 -206
  79. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +0 -234
  80. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +0 -444
  81. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  82. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  83. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  84. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  85. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  86. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -476
  87. package/templates/bmad/bmm/workflows/1-analysis/research/research.template.md +0 -29
  88. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +0 -137
  89. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +0 -239
  90. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +0 -248
  91. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +0 -202
  92. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +0 -233
  93. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +0 -487
  94. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +0 -54
  95. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +0 -54
  96. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +0 -54
  97. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +0 -15
  98. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +0 -197
  99. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +0 -11
  100. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +0 -191
  101. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +0 -152
  102. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +0 -224
  103. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +0 -154
  104. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +0 -170
  105. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +0 -226
  106. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +0 -213
  107. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +0 -207
  108. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +0 -226
  109. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +0 -237
  110. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +0 -228
  111. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +0 -231
  112. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +0 -242
  113. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +0 -217
  114. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +0 -124
  115. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +0 -247
  116. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +0 -208
  117. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +0 -249
  118. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +0 -253
  119. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +0 -168
  120. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +0 -226
  121. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +0 -191
  122. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +0 -209
  123. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +0 -174
  124. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -214
  125. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +0 -228
  126. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +0 -217
  127. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -205
  128. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -243
  129. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +0 -263
  130. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +0 -209
  131. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -264
  132. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +0 -242
  133. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +0 -231
  134. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +0 -10
  135. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +0 -63
  136. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +0 -65
  137. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +0 -63
  138. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +0 -135
  139. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +0 -127
  140. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +0 -190
  141. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +0 -216
  142. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +0 -219
  143. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +0 -234
  144. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +0 -252
  145. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +0 -254
  146. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +0 -224
  147. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +0 -224
  148. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +0 -241
  149. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +0 -248
  150. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +0 -237
  151. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +0 -264
  152. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +0 -171
  153. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -13
  154. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +0 -42
  155. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +0 -184
  156. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +0 -172
  157. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -173
  158. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +0 -133
  159. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -245
  160. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +0 -129
  161. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +0 -4
  162. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +0 -54
  163. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +0 -12
  164. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +0 -13
  165. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +0 -7
  166. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +0 -153
  167. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +0 -173
  168. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +0 -224
  169. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +0 -329
  170. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +0 -318
  171. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +0 -359
  172. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +0 -379
  173. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +0 -359
  174. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +0 -76
  175. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +0 -49
  176. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -259
  177. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +0 -233
  178. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +0 -272
  179. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +0 -149
  180. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +0 -57
  181. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +0 -58
  182. package/templates/bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
  183. package/templates/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
  184. package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -43
  185. package/templates/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +0 -288
  186. package/templates/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +0 -207
  187. package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -53
  188. package/templates/bmad/bmm/workflows/4-implementation/create-story/checklist.md +0 -358
  189. package/templates/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +0 -346
  190. package/templates/bmad/bmm/workflows/4-implementation/create-story/template.md +0 -49
  191. package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -52
  192. package/templates/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +0 -80
  193. package/templates/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +0 -410
  194. package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -20
  195. package/templates/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1444
  196. package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -52
  197. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -33
  198. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -226
  199. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -55
  200. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -47
  201. package/templates/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +0 -230
  202. package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -25
  203. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +0 -174
  204. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +0 -118
  205. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +0 -111
  206. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +0 -111
  207. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +0 -104
  208. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +0 -146
  209. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +0 -50
  210. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +0 -189
  211. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +0 -143
  212. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +0 -126
  213. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +0 -200
  214. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +0 -74
  215. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +0 -79
  216. package/templates/bmad/bmm/workflows/document-project/checklist.md +0 -245
  217. package/templates/bmad/bmm/workflows/document-project/documentation-requirements.csv +0 -12
  218. package/templates/bmad/bmm/workflows/document-project/instructions.md +0 -130
  219. package/templates/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +0 -345
  220. package/templates/bmad/bmm/workflows/document-project/templates/index-template.md +0 -169
  221. package/templates/bmad/bmm/workflows/document-project/templates/project-overview-template.md +0 -103
  222. package/templates/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  223. package/templates/bmad/bmm/workflows/document-project/templates/source-tree-template.md +0 -135
  224. package/templates/bmad/bmm/workflows/document-project/workflow.yaml +0 -22
  225. package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  226. package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  227. package/templates/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  228. package/templates/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  229. package/templates/bmad/bmm/workflows/generate-project-context/project-context-template.md +0 -21
  230. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +0 -184
  231. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +0 -318
  232. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +0 -278
  233. package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +0 -49
  234. package/templates/bmad/bmm/workflows/qa/automate/checklist.md +0 -33
  235. package/templates/bmad/bmm/workflows/qa/automate/instructions.md +0 -110
  236. package/templates/bmad/bmm/workflows/qa/automate/workflow.yaml +0 -44
  237. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/checklist.md +0 -33
  238. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/instructions.md +0 -110
  239. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +0 -42
  240. package/templates/bmad/commands/bmad-agent-bmad-master.md +0 -15
  241. package/templates/bmad/commands/bmad-agent-bmm-analyst.md +0 -15
  242. package/templates/bmad/commands/bmad-agent-bmm-architect.md +0 -15
  243. package/templates/bmad/commands/bmad-agent-bmm-dev.md +0 -15
  244. package/templates/bmad/commands/bmad-agent-bmm-pm.md +0 -15
  245. package/templates/bmad/commands/bmad-agent-bmm-qa.md +0 -15
  246. package/templates/bmad/commands/bmad-agent-bmm-quick-flow-solo-dev.md +0 -15
  247. package/templates/bmad/commands/bmad-agent-bmm-sm.md +0 -15
  248. package/templates/bmad/commands/bmad-agent-bmm-tech-writer.md +0 -15
  249. package/templates/bmad/commands/bmad-agent-bmm-ux-designer.md +0 -15
  250. package/templates/bmad/commands/bmad-agent-tea-tea.md +0 -15
  251. package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +0 -6
  252. package/templates/bmad/commands/bmad-bmm-code-review.md +0 -14
  253. package/templates/bmad/commands/bmad-bmm-correct-course.md +0 -14
  254. package/templates/bmad/commands/bmad-bmm-create-architecture.md +0 -6
  255. package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +0 -6
  256. package/templates/bmad/commands/bmad-bmm-create-prd.md +0 -6
  257. package/templates/bmad/commands/bmad-bmm-create-product-brief.md +0 -6
  258. package/templates/bmad/commands/bmad-bmm-create-story.md +0 -14
  259. package/templates/bmad/commands/bmad-bmm-create-ux-design.md +0 -6
  260. package/templates/bmad/commands/bmad-bmm-dev-story.md +0 -14
  261. package/templates/bmad/commands/bmad-bmm-document-project.md +0 -14
  262. package/templates/bmad/commands/bmad-bmm-domain-research.md +0 -6
  263. package/templates/bmad/commands/bmad-bmm-edit-prd.md +0 -6
  264. package/templates/bmad/commands/bmad-bmm-generate-project-context.md +0 -6
  265. package/templates/bmad/commands/bmad-bmm-market-research.md +0 -6
  266. package/templates/bmad/commands/bmad-bmm-qa-automate.md +0 -15
  267. package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +0 -14
  268. package/templates/bmad/commands/bmad-bmm-quick-dev.md +0 -6
  269. package/templates/bmad/commands/bmad-bmm-quick-spec.md +0 -6
  270. package/templates/bmad/commands/bmad-bmm-retrospective.md +0 -14
  271. package/templates/bmad/commands/bmad-bmm-sprint-planning.md +0 -14
  272. package/templates/bmad/commands/bmad-bmm-sprint-status.md +0 -14
  273. package/templates/bmad/commands/bmad-bmm-technical-research.md +0 -6
  274. package/templates/bmad/commands/bmad-bmm-validate-prd.md +0 -6
  275. package/templates/bmad/commands/bmad-brainstorming.md +0 -6
  276. package/templates/bmad/commands/bmad-editorial-review-prose.md +0 -10
  277. package/templates/bmad/commands/bmad-editorial-review-structure.md +0 -10
  278. package/templates/bmad/commands/bmad-help.md +0 -10
  279. package/templates/bmad/commands/bmad-index-docs.md +0 -10
  280. package/templates/bmad/commands/bmad-party-mode.md +0 -6
  281. package/templates/bmad/commands/bmad-review-adversarial-general.md +0 -10
  282. package/templates/bmad/commands/bmad-review-edge-case-hunter.md +0 -10
  283. package/templates/bmad/commands/bmad-shard-doc.md +0 -10
  284. package/templates/bmad/commands/bmad-tea-teach-me-testing.md +0 -6
  285. package/templates/bmad/commands/bmad-tea-testarch-atdd.md +0 -14
  286. package/templates/bmad/commands/bmad-tea-testarch-automate.md +0 -14
  287. package/templates/bmad/commands/bmad-tea-testarch-ci.md +0 -14
  288. package/templates/bmad/commands/bmad-tea-testarch-framework.md +0 -14
  289. package/templates/bmad/commands/bmad-tea-testarch-nfr.md +0 -14
  290. package/templates/bmad/commands/bmad-tea-testarch-test-design.md +0 -14
  291. package/templates/bmad/commands/bmad-tea-testarch-test-review.md +0 -14
  292. package/templates/bmad/commands/bmad-tea-testarch-trace.md +0 -14
  293. package/templates/bmad/core/agents/bmad-master.md +0 -56
  294. package/templates/bmad/core/config.yaml +0 -8
  295. package/templates/bmad/core/module-help.csv +0 -10
  296. package/templates/bmad/core/tasks/editorial-review-prose.xml +0 -102
  297. package/templates/bmad/core/tasks/editorial-review-structure.xml +0 -208
  298. package/templates/bmad/core/tasks/help.md +0 -86
  299. package/templates/bmad/core/tasks/index-docs.xml +0 -65
  300. package/templates/bmad/core/tasks/review-adversarial-general.xml +0 -49
  301. package/templates/bmad/core/tasks/review-edge-case-hunter.xml +0 -63
  302. package/templates/bmad/core/tasks/shard-doc.xml +0 -108
  303. package/templates/bmad/core/tasks/workflow.xml +0 -235
  304. package/templates/bmad/core/workflows/advanced-elicitation/methods.csv +0 -51
  305. package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +0 -118
  306. package/templates/bmad/core/workflows/brainstorming/brain-methods.csv +0 -62
  307. package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +0 -210
  308. package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +0 -122
  309. package/templates/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +0 -225
  310. package/templates/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +0 -237
  311. package/templates/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +0 -209
  312. package/templates/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +0 -264
  313. package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +0 -399
  314. package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +0 -303
  315. package/templates/bmad/core/workflows/brainstorming/template.md +0 -15
  316. package/templates/bmad/core/workflows/brainstorming/workflow.md +0 -60
  317. package/templates/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +0 -138
  318. package/templates/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +0 -187
  319. package/templates/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -168
  320. package/templates/bmad/core/workflows/party-mode/workflow.md +0 -194
  321. package/templates/bmad/tea/agents/tea.md +0 -71
  322. package/templates/bmad/tea/config.yaml +0 -24
  323. package/templates/bmad/tea/module-help.csv +0 -10
  324. package/templates/bmad/tea/teams/default-party.csv +0 -2
  325. package/templates/bmad/tea/testarch/knowledge/adr-quality-readiness-checklist.md +0 -377
  326. package/templates/bmad/tea/testarch/knowledge/api-request.md +0 -563
  327. package/templates/bmad/tea/testarch/knowledge/api-testing-patterns.md +0 -915
  328. package/templates/bmad/tea/testarch/knowledge/auth-session.md +0 -548
  329. package/templates/bmad/tea/testarch/knowledge/burn-in.md +0 -273
  330. package/templates/bmad/tea/testarch/knowledge/ci-burn-in.md +0 -675
  331. package/templates/bmad/tea/testarch/knowledge/component-tdd.md +0 -486
  332. package/templates/bmad/tea/testarch/knowledge/contract-testing.md +0 -979
  333. package/templates/bmad/tea/testarch/knowledge/data-factories.md +0 -500
  334. package/templates/bmad/tea/testarch/knowledge/email-auth.md +0 -721
  335. package/templates/bmad/tea/testarch/knowledge/error-handling.md +0 -725
  336. package/templates/bmad/tea/testarch/knowledge/feature-flags.md +0 -750
  337. package/templates/bmad/tea/testarch/knowledge/file-utils.md +0 -456
  338. package/templates/bmad/tea/testarch/knowledge/fixture-architecture.md +0 -401
  339. package/templates/bmad/tea/testarch/knowledge/fixtures-composition.md +0 -382
  340. package/templates/bmad/tea/testarch/knowledge/intercept-network-call.md +0 -426
  341. package/templates/bmad/tea/testarch/knowledge/log.md +0 -426
  342. package/templates/bmad/tea/testarch/knowledge/network-error-monitor.md +0 -401
  343. package/templates/bmad/tea/testarch/knowledge/network-first.md +0 -486
  344. package/templates/bmad/tea/testarch/knowledge/network-recorder.md +0 -527
  345. package/templates/bmad/tea/testarch/knowledge/nfr-criteria.md +0 -670
  346. package/templates/bmad/tea/testarch/knowledge/overview.md +0 -286
  347. package/templates/bmad/tea/testarch/knowledge/pact-mcp.md +0 -204
  348. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-consumer-helpers.md +0 -211
  349. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-overview.md +0 -210
  350. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-provider-verifier.md +0 -315
  351. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-request-filter.md +0 -224
  352. package/templates/bmad/tea/testarch/knowledge/playwright-cli.md +0 -165
  353. package/templates/bmad/tea/testarch/knowledge/playwright-config.md +0 -730
  354. package/templates/bmad/tea/testarch/knowledge/probability-impact.md +0 -601
  355. package/templates/bmad/tea/testarch/knowledge/recurse.md +0 -421
  356. package/templates/bmad/tea/testarch/knowledge/risk-governance.md +0 -615
  357. package/templates/bmad/tea/testarch/knowledge/selective-testing.md +0 -732
  358. package/templates/bmad/tea/testarch/knowledge/selector-resilience.md +0 -527
  359. package/templates/bmad/tea/testarch/knowledge/test-healing-patterns.md +0 -644
  360. package/templates/bmad/tea/testarch/knowledge/test-levels-framework.md +0 -473
  361. package/templates/bmad/tea/testarch/knowledge/test-priorities-matrix.md +0 -373
  362. package/templates/bmad/tea/testarch/knowledge/test-quality.md +0 -664
  363. package/templates/bmad/tea/testarch/knowledge/timing-debugging.md +0 -372
  364. package/templates/bmad/tea/testarch/knowledge/visual-debugging.md +0 -524
  365. package/templates/bmad/tea/testarch/tea-index.csv +0 -41
  366. package/templates/bmad/tea/workflows/testarch/README.md +0 -74
  367. package/templates/bmad/tea/workflows/testarch/atdd/atdd-checklist-template.md +0 -371
  368. package/templates/bmad/tea/workflows/testarch/atdd/checklist.md +0 -374
  369. package/templates/bmad/tea/workflows/testarch/atdd/instructions.md +0 -45
  370. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +0 -226
  371. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01b-resume.md +0 -96
  372. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +0 -125
  373. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +0 -110
  374. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +0 -331
  375. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md +0 -215
  376. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +0 -215
  377. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md +0 -244
  378. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +0 -244
  379. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +0 -370
  380. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +0 -106
  381. package/templates/bmad/tea/workflows/testarch/atdd/steps-e/step-01-assess.md +0 -65
  382. package/templates/bmad/tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +0 -60
  383. package/templates/bmad/tea/workflows/testarch/atdd/steps-v/step-01-validate.md +0 -67
  384. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +0 -73
  385. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +0 -116
  386. package/templates/bmad/tea/workflows/testarch/atdd/workflow-plan.md +0 -21
  387. package/templates/bmad/tea/workflows/testarch/atdd/workflow.md +0 -41
  388. package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +0 -46
  389. package/templates/bmad/tea/workflows/testarch/automate/checklist.md +0 -582
  390. package/templates/bmad/tea/workflows/testarch/automate/instructions.md +0 -50
  391. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +0 -237
  392. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01b-resume.md +0 -94
  393. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md +0 -145
  394. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +0 -392
  395. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md +0 -193
  396. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +0 -183
  397. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md +0 -246
  398. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md +0 -213
  399. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-backend.md +0 -246
  400. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +0 -213
  401. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +0 -393
  402. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +0 -106
  403. package/templates/bmad/tea/workflows/testarch/automate/steps-e/step-01-assess.md +0 -65
  404. package/templates/bmad/tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md +0 -60
  405. package/templates/bmad/tea/workflows/testarch/automate/steps-v/step-01-validate.md +0 -67
  406. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +0 -72
  407. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +0 -114
  408. package/templates/bmad/tea/workflows/testarch/automate/workflow-plan.md +0 -20
  409. package/templates/bmad/tea/workflows/testarch/automate/workflow.md +0 -41
  410. package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +0 -53
  411. package/templates/bmad/tea/workflows/testarch/ci/azure-pipelines-template.yaml +0 -155
  412. package/templates/bmad/tea/workflows/testarch/ci/checklist.md +0 -288
  413. package/templates/bmad/tea/workflows/testarch/ci/github-actions-template.yaml +0 -210
  414. package/templates/bmad/tea/workflows/testarch/ci/gitlab-ci-template.yaml +0 -158
  415. package/templates/bmad/tea/workflows/testarch/ci/harness-pipeline-template.yaml +0 -159
  416. package/templates/bmad/tea/workflows/testarch/ci/instructions.md +0 -45
  417. package/templates/bmad/tea/workflows/testarch/ci/jenkins-pipeline-template.groovy +0 -129
  418. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-01-preflight.md +0 -158
  419. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-01b-resume.md +0 -110
  420. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +0 -241
  421. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +0 -112
  422. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +0 -92
  423. package/templates/bmad/tea/workflows/testarch/ci/steps-e/step-01-assess.md +0 -65
  424. package/templates/bmad/tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md +0 -60
  425. package/templates/bmad/tea/workflows/testarch/ci/steps-v/step-01-validate.md +0 -67
  426. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +0 -72
  427. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +0 -114
  428. package/templates/bmad/tea/workflows/testarch/ci/workflow-plan.md +0 -20
  429. package/templates/bmad/tea/workflows/testarch/ci/workflow.md +0 -41
  430. package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +0 -48
  431. package/templates/bmad/tea/workflows/testarch/framework/checklist.md +0 -321
  432. package/templates/bmad/tea/workflows/testarch/framework/instructions.md +0 -45
  433. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-01-preflight.md +0 -132
  434. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-01b-resume.md +0 -116
  435. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-02-select-framework.md +0 -117
  436. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +0 -319
  437. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +0 -105
  438. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +0 -93
  439. package/templates/bmad/tea/workflows/testarch/framework/steps-e/step-01-assess.md +0 -65
  440. package/templates/bmad/tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md +0 -60
  441. package/templates/bmad/tea/workflows/testarch/framework/steps-v/step-01-validate.md +0 -67
  442. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +0 -73
  443. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +0 -116
  444. package/templates/bmad/tea/workflows/testarch/framework/workflow-plan.md +0 -22
  445. package/templates/bmad/tea/workflows/testarch/framework/workflow.md +0 -41
  446. package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +0 -48
  447. package/templates/bmad/tea/workflows/testarch/nfr-assess/checklist.md +0 -407
  448. package/templates/bmad/tea/workflows/testarch/nfr-assess/instructions.md +0 -43
  449. package/templates/bmad/tea/workflows/testarch/nfr-assess/nfr-report-template.md +0 -470
  450. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +0 -138
  451. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md +0 -106
  452. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +0 -107
  453. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +0 -108
  454. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +0 -254
  455. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md +0 -138
  456. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +0 -138
  457. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md +0 -84
  458. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +0 -84
  459. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md +0 -85
  460. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +0 -85
  461. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md +0 -88
  462. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +0 -88
  463. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +0 -264
  464. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +0 -108
  465. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +0 -65
  466. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +0 -60
  467. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +0 -67
  468. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +0 -73
  469. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +0 -116
  470. package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow-plan.md +0 -19
  471. package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.md +0 -41
  472. package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +0 -48
  473. package/templates/bmad/tea/workflows/testarch/teach-me-testing/checklist.md +0 -197
  474. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/curriculum.yaml +0 -129
  475. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml +0 -206
  476. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/role-paths.yaml +0 -136
  477. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml +0 -207
  478. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +0 -359
  479. package/templates/bmad/tea/workflows/testarch/teach-me-testing/instructions.md +0 -130
  480. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md +0 -235
  481. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md +0 -147
  482. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md +0 -258
  483. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md +0 -219
  484. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md +0 -460
  485. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md +0 -465
  486. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md +0 -301
  487. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md +0 -234
  488. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md +0 -234
  489. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md +0 -209
  490. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md +0 -212
  491. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md +0 -339
  492. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md +0 -141
  493. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md +0 -122
  494. package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md +0 -263
  495. package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/certificate-template.md +0 -86
  496. package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml +0 -95
  497. package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md +0 -83
  498. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +0 -950
  499. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +0 -90
  500. package/templates/bmad/tea/workflows/testarch/test-design/checklist.md +0 -464
  501. package/templates/bmad/tea/workflows/testarch/test-design/instructions.md +0 -105
  502. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +0 -134
  503. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-01b-resume.md +0 -102
  504. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +0 -242
  505. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +0 -110
  506. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +0 -123
  507. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +0 -222
  508. package/templates/bmad/tea/workflows/testarch/test-design/steps-e/step-01-assess.md +0 -65
  509. package/templates/bmad/tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +0 -60
  510. package/templates/bmad/tea/workflows/testarch/test-design/steps-v/step-01-validate.md +0 -67
  511. package/templates/bmad/tea/workflows/testarch/test-design/test-design-architecture-template.md +0 -230
  512. package/templates/bmad/tea/workflows/testarch/test-design/test-design-handoff-template.md +0 -70
  513. package/templates/bmad/tea/workflows/testarch/test-design/test-design-qa-template.md +0 -396
  514. package/templates/bmad/tea/workflows/testarch/test-design/test-design-template.md +0 -344
  515. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +0 -73
  516. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +0 -116
  517. package/templates/bmad/tea/workflows/testarch/test-design/workflow-plan.md +0 -22
  518. package/templates/bmad/tea/workflows/testarch/test-design/workflow.md +0 -41
  519. package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +0 -77
  520. package/templates/bmad/tea/workflows/testarch/test-review/checklist.md +0 -475
  521. package/templates/bmad/tea/workflows/testarch/test-review/instructions.md +0 -45
  522. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +0 -197
  523. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01b-resume.md +0 -104
  524. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +0 -113
  525. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +0 -274
  526. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md +0 -214
  527. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +0 -214
  528. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md +0 -125
  529. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +0 -125
  530. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md +0 -102
  531. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +0 -102
  532. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +0 -111
  533. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md +0 -117
  534. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +0 -117
  535. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +0 -277
  536. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md +0 -111
  537. package/templates/bmad/tea/workflows/testarch/test-review/steps-e/step-01-assess.md +0 -65
  538. package/templates/bmad/tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +0 -60
  539. package/templates/bmad/tea/workflows/testarch/test-review/steps-v/step-01-validate.md +0 -67
  540. package/templates/bmad/tea/workflows/testarch/test-review/test-review-template.md +0 -387
  541. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +0 -72
  542. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +0 -114
  543. package/templates/bmad/tea/workflows/testarch/test-review/workflow-plan.md +0 -18
  544. package/templates/bmad/tea/workflows/testarch/test-review/workflow.md +0 -41
  545. package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +0 -48
  546. package/templates/bmad/tea/workflows/testarch/trace/checklist.md +0 -647
  547. package/templates/bmad/tea/workflows/testarch/trace/instructions.md +0 -43
  548. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-01-load-context.md +0 -105
  549. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-01b-resume.md +0 -102
  550. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md +0 -112
  551. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md +0 -97
  552. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +0 -421
  553. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md +0 -266
  554. package/templates/bmad/tea/workflows/testarch/trace/steps-e/step-01-assess.md +0 -65
  555. package/templates/bmad/tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md +0 -60
  556. package/templates/bmad/tea/workflows/testarch/trace/steps-v/step-01-validate.md +0 -67
  557. package/templates/bmad/tea/workflows/testarch/trace/trace-template.md +0 -708
  558. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +0 -73
  559. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +0 -116
  560. package/templates/bmad/tea/workflows/testarch/trace/workflow-plan.md +0 -21
  561. package/templates/bmad/tea/workflows/testarch/trace/workflow.md +0 -41
  562. package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +0 -56
  563. package/templates/ecc/agents/architect.md +0 -211
  564. package/templates/ecc/agents/build-error-resolver.md +0 -114
  565. package/templates/ecc/agents/chief-of-staff.md +0 -151
  566. package/templates/ecc/agents/code-reviewer.md +0 -224
  567. package/templates/ecc/agents/database-reviewer.md +0 -91
  568. package/templates/ecc/agents/doc-updater.md +0 -107
  569. package/templates/ecc/agents/e2e-runner.md +0 -107
  570. package/templates/ecc/agents/go-build-resolver.md +0 -94
  571. package/templates/ecc/agents/go-reviewer.md +0 -76
  572. package/templates/ecc/agents/planner.md +0 -212
  573. package/templates/ecc/agents/python-reviewer.md +0 -98
  574. package/templates/ecc/agents/refactor-cleaner.md +0 -85
  575. package/templates/ecc/agents/security-reviewer.md +0 -108
  576. package/templates/ecc/agents/tdd-guide.md +0 -80
  577. package/templates/ecc/commands/build-fix.md +0 -62
  578. package/templates/ecc/commands/checkpoint.md +0 -74
  579. package/templates/ecc/commands/claw.md +0 -79
  580. package/templates/ecc/commands/code-review.md +0 -40
  581. package/templates/ecc/commands/e2e.md +0 -363
  582. package/templates/ecc/commands/eval.md +0 -120
  583. package/templates/ecc/commands/evolve.md +0 -193
  584. package/templates/ecc/commands/go-build.md +0 -183
  585. package/templates/ecc/commands/go-review.md +0 -148
  586. package/templates/ecc/commands/go-test.md +0 -268
  587. package/templates/ecc/commands/instinct-export.md +0 -91
  588. package/templates/ecc/commands/instinct-import.md +0 -142
  589. package/templates/ecc/commands/instinct-status.md +0 -86
  590. package/templates/ecc/commands/learn-eval.md +0 -91
  591. package/templates/ecc/commands/learn.md +0 -70
  592. package/templates/ecc/commands/multi-backend.md +0 -158
  593. package/templates/ecc/commands/multi-execute.md +0 -310
  594. package/templates/ecc/commands/multi-frontend.md +0 -158
  595. package/templates/ecc/commands/multi-plan.md +0 -261
  596. package/templates/ecc/commands/multi-workflow.md +0 -183
  597. package/templates/ecc/commands/orchestrate.md +0 -172
  598. package/templates/ecc/commands/plan.md +0 -113
  599. package/templates/ecc/commands/pm2.md +0 -272
  600. package/templates/ecc/commands/python-review.md +0 -297
  601. package/templates/ecc/commands/refactor-clean.md +0 -80
  602. package/templates/ecc/commands/sessions.md +0 -305
  603. package/templates/ecc/commands/setup-pm.md +0 -80
  604. package/templates/ecc/commands/skill-create.md +0 -174
  605. package/templates/ecc/commands/tdd.md +0 -326
  606. package/templates/ecc/commands/test-coverage.md +0 -69
  607. package/templates/ecc/commands/update-codemaps.md +0 -72
  608. package/templates/ecc/commands/update-docs.md +0 -84
  609. package/templates/ecc/commands/verify.md +0 -59
  610. package/templates/ecc/rules/README.md +0 -103
  611. package/templates/ecc/rules/common/agents.md +0 -49
  612. package/templates/ecc/rules/common/coding-style.md +0 -48
  613. package/templates/ecc/rules/common/development-workflow.md +0 -37
  614. package/templates/ecc/rules/common/git-workflow.md +0 -24
  615. package/templates/ecc/rules/common/hooks.md +0 -30
  616. package/templates/ecc/rules/common/patterns.md +0 -31
  617. package/templates/ecc/rules/common/performance.md +0 -55
  618. package/templates/ecc/rules/common/security.md +0 -29
  619. package/templates/ecc/rules/common/testing.md +0 -29
  620. package/templates/ecc/rules/golang/coding-style.md +0 -32
  621. package/templates/ecc/rules/golang/hooks.md +0 -17
  622. package/templates/ecc/rules/golang/patterns.md +0 -45
  623. package/templates/ecc/rules/golang/security.md +0 -34
  624. package/templates/ecc/rules/golang/testing.md +0 -31
  625. package/templates/ecc/rules/python/coding-style.md +0 -42
  626. package/templates/ecc/rules/python/hooks.md +0 -19
  627. package/templates/ecc/rules/python/patterns.md +0 -39
  628. package/templates/ecc/rules/python/security.md +0 -30
  629. package/templates/ecc/rules/python/testing.md +0 -38
  630. package/templates/ecc/rules/swift/coding-style.md +0 -47
  631. package/templates/ecc/rules/swift/hooks.md +0 -20
  632. package/templates/ecc/rules/swift/patterns.md +0 -66
  633. package/templates/ecc/rules/swift/security.md +0 -33
  634. package/templates/ecc/rules/swift/testing.md +0 -45
  635. package/templates/ecc/rules/typescript/coding-style.md +0 -65
  636. package/templates/ecc/rules/typescript/hooks.md +0 -22
  637. package/templates/ecc/rules/typescript/patterns.md +0 -52
  638. package/templates/ecc/rules/typescript/security.md +0 -28
  639. package/templates/ecc/rules/typescript/testing.md +0 -18
  640. package/templates/ecc/skills/api-design/SKILL.md +0 -523
  641. package/templates/ecc/skills/article-writing/SKILL.md +0 -85
  642. package/templates/ecc/skills/backend-patterns/SKILL.md +0 -598
  643. package/templates/ecc/skills/clickhouse-io/SKILL.md +0 -439
  644. package/templates/ecc/skills/coding-standards/SKILL.md +0 -530
  645. package/templates/ecc/skills/configure-ecc/SKILL.md +0 -326
  646. package/templates/ecc/skills/content-engine/SKILL.md +0 -88
  647. package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +0 -161
  648. package/templates/ecc/skills/continuous-learning/SKILL.md +0 -119
  649. package/templates/ecc/skills/continuous-learning/config.json +0 -18
  650. package/templates/ecc/skills/continuous-learning/evaluate-session.sh +0 -69
  651. package/templates/ecc/skills/continuous-learning-v2/SKILL.md +0 -295
  652. package/templates/ecc/skills/continuous-learning-v2/agents/observer.md +0 -137
  653. package/templates/ecc/skills/continuous-learning-v2/agents/start-observer.sh +0 -143
  654. package/templates/ecc/skills/continuous-learning-v2/config.json +0 -41
  655. package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +0 -164
  656. package/templates/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -575
  657. package/templates/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -82
  658. package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +0 -183
  659. package/templates/ecc/skills/cpp-coding-standards/SKILL.md +0 -723
  660. package/templates/ecc/skills/cpp-testing/SKILL.md +0 -323
  661. package/templates/ecc/skills/database-migrations/SKILL.md +0 -335
  662. package/templates/ecc/skills/deployment-patterns/SKILL.md +0 -427
  663. package/templates/ecc/skills/django-patterns/SKILL.md +0 -734
  664. package/templates/ecc/skills/django-security/SKILL.md +0 -593
  665. package/templates/ecc/skills/django-tdd/SKILL.md +0 -729
  666. package/templates/ecc/skills/django-verification/SKILL.md +0 -469
  667. package/templates/ecc/skills/docker-patterns/SKILL.md +0 -364
  668. package/templates/ecc/skills/e2e-testing/SKILL.md +0 -326
  669. package/templates/ecc/skills/eval-harness/SKILL.md +0 -236
  670. package/templates/ecc/skills/foundation-models-on-device/SKILL.md +0 -243
  671. package/templates/ecc/skills/frontend-patterns/SKILL.md +0 -642
  672. package/templates/ecc/skills/frontend-slides/SKILL.md +0 -184
  673. package/templates/ecc/skills/frontend-slides/STYLE_PRESETS.md +0 -330
  674. package/templates/ecc/skills/golang-patterns/SKILL.md +0 -674
  675. package/templates/ecc/skills/golang-testing/SKILL.md +0 -720
  676. package/templates/ecc/skills/investor-materials/SKILL.md +0 -96
  677. package/templates/ecc/skills/investor-outreach/SKILL.md +0 -76
  678. package/templates/ecc/skills/iterative-retrieval/SKILL.md +0 -211
  679. package/templates/ecc/skills/java-coding-standards/SKILL.md +0 -147
  680. package/templates/ecc/skills/jpa-patterns/SKILL.md +0 -151
  681. package/templates/ecc/skills/liquid-glass-design/SKILL.md +0 -279
  682. package/templates/ecc/skills/market-research/SKILL.md +0 -75
  683. package/templates/ecc/skills/nutrient-document-processing/SKILL.md +0 -165
  684. package/templates/ecc/skills/postgres-patterns/SKILL.md +0 -147
  685. package/templates/ecc/skills/project-guidelines-example/SKILL.md +0 -349
  686. package/templates/ecc/skills/python-patterns/SKILL.md +0 -750
  687. package/templates/ecc/skills/python-testing/SKILL.md +0 -816
  688. package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +0 -220
  689. package/templates/ecc/skills/search-first/SKILL.md +0 -161
  690. package/templates/ecc/skills/security-review/SKILL.md +0 -495
  691. package/templates/ecc/skills/security-review/cloud-infrastructure-security.md +0 -361
  692. package/templates/ecc/skills/security-scan/SKILL.md +0 -165
  693. package/templates/ecc/skills/skill-stocktake/SKILL.md +0 -176
  694. package/templates/ecc/skills/skill-stocktake/scripts/quick-diff.sh +0 -87
  695. package/templates/ecc/skills/skill-stocktake/scripts/save-results.sh +0 -56
  696. package/templates/ecc/skills/skill-stocktake/scripts/scan.sh +0 -170
  697. package/templates/ecc/skills/springboot-patterns/SKILL.md +0 -314
  698. package/templates/ecc/skills/springboot-security/SKILL.md +0 -272
  699. package/templates/ecc/skills/springboot-tdd/SKILL.md +0 -158
  700. package/templates/ecc/skills/springboot-verification/SKILL.md +0 -231
  701. package/templates/ecc/skills/strategic-compact/SKILL.md +0 -103
  702. package/templates/ecc/skills/strategic-compact/suggest-compact.sh +0 -54
  703. package/templates/ecc/skills/swift-actor-persistence/SKILL.md +0 -143
  704. package/templates/ecc/skills/swift-concurrency-6-2/SKILL.md +0 -216
  705. package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +0 -190
  706. package/templates/ecc/skills/swiftui-patterns/SKILL.md +0 -259
  707. package/templates/ecc/skills/tdd-workflow/SKILL.md +0 -410
  708. package/templates/ecc/skills/verification-loop/SKILL.md +0 -126
  709. package/templates/ecc/skills/visa-doc-translate/README.md +0 -86
  710. package/templates/ecc/skills/visa-doc-translate/SKILL.md +0 -117
  711. package/templates/ext-skills/pinchtab/SKILL.md +0 -173
  712. package/templates/ext-skills/pinchtab/TRUST.md +0 -69
  713. package/templates/ext-skills/pinchtab/references/api.md +0 -297
  714. package/templates/ext-skills/pinchtab/references/env.md +0 -45
  715. package/templates/ext-skills/pinchtab/references/profiles.md +0 -107
  716. package/templates/mcp/trae/mcp.json +0 -35
  717. package/templates/plugins/claude-code-setup/.claude-plugin/plugin.json +0 -9
  718. package/templates/plugins/claude-code-setup/LICENSE +0 -202
  719. package/templates/plugins/claude-code-setup/README.md +0 -29
  720. package/templates/plugins/claude-code-setup/automation-recommender-example.png +0 -0
  721. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +0 -288
  722. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +0 -226
  723. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +0 -263
  724. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +0 -98
  725. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +0 -408
  726. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +0 -181
  727. package/templates/plugins/claude-md-management/.claude-plugin/plugin.json +0 -9
  728. package/templates/plugins/claude-md-management/LICENSE +0 -202
  729. package/templates/plugins/claude-md-management/README.md +0 -40
  730. package/templates/plugins/claude-md-management/claude-md-improver-example.png +0 -0
  731. package/templates/plugins/claude-md-management/commands/revise-claude-md.md +0 -54
  732. package/templates/plugins/claude-md-management/revise-claude-md-example.png +0 -0
  733. package/templates/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +0 -179
  734. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +0 -109
  735. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +0 -253
  736. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +0 -150
  737. package/templates/plugins/code-simplifier/.claude-plugin/plugin.json +0 -9
  738. package/templates/plugins/code-simplifier/LICENSE +0 -202
  739. package/templates/plugins/code-simplifier/agents/code-simplifier.md +0 -52
  740. package/templates/plugins/commit-commands/.claude-plugin/plugin.json +0 -9
  741. package/templates/plugins/commit-commands/LICENSE +0 -202
  742. package/templates/plugins/commit-commands/README.md +0 -225
  743. package/templates/plugins/commit-commands/commands/clean_gone.md +0 -53
  744. package/templates/plugins/commit-commands/commands/commit-push-pr.md +0 -20
  745. package/templates/plugins/commit-commands/commands/commit.md +0 -17
  746. package/templates/trae-bmad/rules/bmad-agent-bmad-master.md +0 -15
  747. package/templates/trae-bmad/rules/bmad-agent-bmm-analyst.md +0 -15
  748. package/templates/trae-bmad/rules/bmad-agent-bmm-architect.md +0 -15
  749. package/templates/trae-bmad/rules/bmad-agent-bmm-dev.md +0 -15
  750. package/templates/trae-bmad/rules/bmad-agent-bmm-pm.md +0 -15
  751. package/templates/trae-bmad/rules/bmad-agent-bmm-qa.md +0 -15
  752. package/templates/trae-bmad/rules/bmad-agent-bmm-quick-flow-solo-dev.md +0 -15
  753. package/templates/trae-bmad/rules/bmad-agent-bmm-sm.md +0 -15
  754. package/templates/trae-bmad/rules/bmad-agent-bmm-tech-writer.md +0 -15
  755. package/templates/trae-bmad/rules/bmad-agent-bmm-ux-designer.md +0 -15
  756. package/templates/trae-bmad/rules/bmad-agent-tea-tea.md +0 -15
  757. package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +0 -6
  758. package/templates/trae-bmad/rules/bmad-bmm-code-review.md +0 -14
  759. package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +0 -14
  760. package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +0 -6
  761. package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +0 -6
  762. package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +0 -6
  763. package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +0 -6
  764. package/templates/trae-bmad/rules/bmad-bmm-create-story.md +0 -14
  765. package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +0 -6
  766. package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +0 -14
  767. package/templates/trae-bmad/rules/bmad-bmm-document-project.md +0 -14
  768. package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +0 -6
  769. package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +0 -6
  770. package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +0 -6
  771. package/templates/trae-bmad/rules/bmad-bmm-market-research.md +0 -6
  772. package/templates/trae-bmad/rules/bmad-bmm-qa-automate.md +0 -15
  773. package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +0 -14
  774. package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +0 -6
  775. package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +0 -6
  776. package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +0 -14
  777. package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +0 -14
  778. package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +0 -14
  779. package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +0 -6
  780. package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +0 -6
  781. package/templates/trae-bmad/rules/bmad-brainstorming.md +0 -6
  782. package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +0 -10
  783. package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +0 -10
  784. package/templates/trae-bmad/rules/bmad-help.md +0 -10
  785. package/templates/trae-bmad/rules/bmad-index-docs.md +0 -10
  786. package/templates/trae-bmad/rules/bmad-party-mode.md +0 -6
  787. package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +0 -10
  788. package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +0 -10
  789. package/templates/trae-bmad/rules/bmad-shard-doc.md +0 -10
  790. package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +0 -6
  791. package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +0 -14
  792. package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +0 -14
  793. package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +0 -14
  794. package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +0 -14
  795. package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +0 -14
  796. package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +0 -14
  797. package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +0 -14
  798. package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +0 -14
@@ -1,315 +0,0 @@
1
- # Pact.js Utils Provider Verifier
2
-
3
- ## Principle
4
-
5
- Use `buildVerifierOptions`, `buildMessageVerifierOptions`, `handlePactBrokerUrlAndSelectors`, and `getProviderVersionTags` from `@seontechnologies/pactjs-utils` to assemble complete provider verification configuration in a single call. These utilities handle local/remote flow detection, broker URL resolution, consumer version selector strategy, and CI-aware version tagging. The caller controls breaking change behavior via the required `includeMainAndDeployed` parameter.
6
-
7
- ## Rationale
8
-
9
- ### Problems with manual VerifierOptions
10
-
11
- - **30+ lines of scattered config**: Assembling `VerifierOptions` manually requires broker URL, token, selectors, state handlers, request filters, version info, publish flags — all in one object
12
- - **Environment variable logic**: Different env vars for local vs remote, CI vs local dev, breaking change vs normal flow
13
- - **Consumer version selector complexity**: Choosing between `mainBranch`, `deployedOrReleased`, `matchingBranch`, and `includeMainAndDeployed` requires understanding Pact Broker semantics
14
- - **Breaking change coordination**: When a provider intentionally breaks a contract, manual selector switching is error-prone
15
- - **Cross-execution protection**: `PACT_PAYLOAD_URL` webhook payloads need special handling to verify only the triggering pact
16
-
17
- ### Solutions
18
-
19
- - **`buildVerifierOptions`**: Single function that reads env vars, selects the right flow, and returns complete `VerifierOptions`
20
- - **`buildMessageVerifierOptions`**: Same as above for message/Kafka provider verification
21
- - **`handlePactBrokerUrlAndSelectors`**: Pure function for broker URL + selector resolution (used internally, also exported for advanced use)
22
- - **`getProviderVersionTags`**: Extracts CI branch/tag info from environment for provider version tagging
23
-
24
- ## Pattern Examples
25
-
26
- ### Example 1: HTTP Provider Verification (Remote Flow)
27
-
28
- ```typescript
29
- import { Verifier } from '@pact-foundation/pact';
30
- import { buildVerifierOptions, createRequestFilter } from '@seontechnologies/pactjs-utils';
31
- import type { StateHandlers } from '@seontechnologies/pactjs-utils';
32
-
33
- const stateHandlers: StateHandlers = {
34
- 'movie with id 1 exists': {
35
- setup: async (params) => {
36
- await db.seed({ movies: [{ id: params?.id ?? 1, name: 'Inception' }] });
37
- },
38
- teardown: async () => {
39
- await db.clean('movies');
40
- },
41
- },
42
- 'no movies exist': async () => {
43
- await db.clean('movies');
44
- },
45
- };
46
-
47
- // buildVerifierOptions reads these env vars automatically:
48
- // - PACT_BROKER_BASE_URL (broker URL)
49
- // - PACT_BROKER_TOKEN (broker auth)
50
- // - PACT_PAYLOAD_URL (webhook trigger — cross-execution protection)
51
- // - PACT_BREAKING_CHANGE (if "true", uses includeMainAndDeployed selectors)
52
- // - GITHUB_SHA (provider version)
53
- // - CI (publish verification results if "true")
54
-
55
- const opts = buildVerifierOptions({
56
- provider: 'SampleMoviesAPI',
57
- port: '3001',
58
- includeMainAndDeployed: process.env.PACT_BREAKING_CHANGE !== 'true',
59
- stateHandlers,
60
- requestFilter: createRequestFilter({
61
- tokenGenerator: () => process.env.TEST_AUTH_TOKEN ?? 'test-token',
62
- }),
63
- });
64
-
65
- await new Verifier(opts).verifyProvider();
66
- ```
67
-
68
- **Key Points**:
69
-
70
- - Set `PACT_BROKER_BASE_URL` and `PACT_BROKER_TOKEN` as env vars — `buildVerifierOptions` reads them automatically
71
- - `port` is a string (e.g., `'3001'`) — the function builds `providerBaseUrl: http://localhost:${port}` internally
72
- - `includeMainAndDeployed` is **required** — set `true` for normal flow, `false` for breaking changes
73
- - State handlers support both simple functions and `{ setup, teardown }` objects
74
- - `params` in state handlers correspond to the `JsonMap` from consumer's `createProviderState`
75
- - Verification results are published by default (`publishVerificationResult` defaults to `true`)
76
-
77
- ### Example 2: Local Flow (Monorepo, No Broker)
78
-
79
- ```typescript
80
- import { Verifier } from '@pact-foundation/pact';
81
- import { buildVerifierOptions } from '@seontechnologies/pactjs-utils';
82
-
83
- // When PACT_BROKER_BASE_URL is NOT set, buildVerifierOptions
84
- // falls back to local pact file verification
85
- const opts = buildVerifierOptions({
86
- provider: 'SampleMoviesAPI',
87
- port: '3001',
88
- includeMainAndDeployed: true,
89
- // Specify local pact files directly — skips broker entirely
90
- pactUrls: ['./pacts/movie-web-SampleMoviesAPI.json'],
91
- stateHandlers: {
92
- 'movie exists': async (params) => {
93
- await db.seed({ movies: [{ id: params?.id }] });
94
- },
95
- },
96
- });
97
-
98
- await new Verifier(opts).verifyProvider();
99
- ```
100
-
101
- ### Example 3: Message Provider Verification (Kafka/Async)
102
-
103
- ```typescript
104
- import { Verifier } from '@pact-foundation/pact';
105
- import { buildMessageVerifierOptions } from '@seontechnologies/pactjs-utils';
106
-
107
- const opts = buildMessageVerifierOptions({
108
- provider: 'OrderEventsProducer',
109
- includeMainAndDeployed: process.env.PACT_BREAKING_CHANGE !== 'true',
110
- // Message handlers return the message content that the provider would produce
111
- messageProviders: {
112
- 'an order created event': async () => ({
113
- orderId: 'order-123',
114
- userId: 'user-456',
115
- items: [{ productId: 'prod-789', quantity: 2 }],
116
- createdAt: new Date().toISOString(),
117
- }),
118
- 'an order cancelled event': async () => ({
119
- orderId: 'order-123',
120
- reason: 'customer_request',
121
- cancelledAt: new Date().toISOString(),
122
- }),
123
- },
124
- stateHandlers: {
125
- 'order exists': async (params) => {
126
- await db.seed({ orders: [{ id: params?.orderId }] });
127
- },
128
- },
129
- });
130
-
131
- await new Verifier(opts).verifyProvider();
132
- ```
133
-
134
- **Key Points**:
135
-
136
- - `buildMessageVerifierOptions` adds `messageProviders` to the verifier config
137
- - Each message provider function returns the expected message payload
138
- - State handlers work the same as HTTP verification
139
- - Broker integration works identically (same env vars)
140
-
141
- ### Example 4: Breaking Change Coordination
142
-
143
- ```typescript
144
- // When a provider intentionally introduces a breaking change:
145
- //
146
- // 1. Set PACT_BREAKING_CHANGE=true in CI environment
147
- // 2. Your test reads the env var and passes includeMainAndDeployed: false
148
- // to buildVerifierOptions — this verifies ONLY against the matching
149
- // branch, skipping main/deployed consumers that would fail
150
- // 3. Coordinate with consumer team to update their pact on a matching branch
151
- // 4. Remove PACT_BREAKING_CHANGE flag after consumer updates
152
-
153
- // In CI environment (.github/workflows/provider-verify.yml):
154
- // env:
155
- // PACT_BREAKING_CHANGE: 'true'
156
-
157
- // Your provider test code reads the env var:
158
- const isBreakingChange = process.env.PACT_BREAKING_CHANGE === 'true';
159
-
160
- const opts = buildVerifierOptions({
161
- provider: 'SampleMoviesAPI',
162
- port: '3001',
163
- includeMainAndDeployed: !isBreakingChange, // false during breaking changes
164
- stateHandlers: {
165
- /* ... */
166
- },
167
- });
168
- // When includeMainAndDeployed is false (breaking change):
169
- // selectors = [{ matchingBranch: true }]
170
- // When includeMainAndDeployed is true (normal):
171
- // selectors = [{ matchingBranch: true }, { mainBranch: true }, { deployedOrReleased: true }]
172
- ```
173
-
174
- ### Example 5: handlePactBrokerUrlAndSelectors (Advanced)
175
-
176
- ```typescript
177
- import { handlePactBrokerUrlAndSelectors } from '@seontechnologies/pactjs-utils';
178
- import type { VerifierOptions } from '@pact-foundation/pact';
179
-
180
- // For advanced use cases — mutates the options object in-place (returns void)
181
- const options: VerifierOptions = {
182
- provider: 'SampleMoviesAPI',
183
- providerBaseUrl: 'http://localhost:3001',
184
- };
185
-
186
- handlePactBrokerUrlAndSelectors({
187
- pactPayloadUrl: process.env.PACT_PAYLOAD_URL,
188
- pactBrokerUrl: process.env.PACT_BROKER_BASE_URL,
189
- consumer: undefined, // or specific consumer name
190
- includeMainAndDeployed: true,
191
- options, // mutated in-place: sets pactBrokerUrl, consumerVersionSelectors, or pactUrls
192
- });
193
-
194
- // After call, options has been mutated with:
195
- // - options.pactBrokerUrl (from pactBrokerUrl param)
196
- // - options.consumerVersionSelectors (based on includeMainAndDeployed)
197
- // OR if pactPayloadUrl matches: options.pactUrls = [pactPayloadUrl]
198
- ```
199
-
200
- **Note**: `handlePactBrokerUrlAndSelectors` is called internally by `buildVerifierOptions`. You rarely need it directly — use it only for advanced custom verifier assembly.
201
-
202
- ### Example 6: getProviderVersionTags
203
-
204
- ```typescript
205
- import { getProviderVersionTags } from '@seontechnologies/pactjs-utils';
206
-
207
- // Extracts version tags from CI environment
208
- const tags = getProviderVersionTags();
209
-
210
- // In GitHub Actions on branch "feature/add-movies" (non-breaking):
211
- // tags = ['dev', 'feature/add-movies']
212
- //
213
- // In GitHub Actions on main branch (non-breaking):
214
- // tags = ['dev', 'main']
215
- //
216
- // In GitHub Actions with PACT_BREAKING_CHANGE=true:
217
- // tags = ['feature/add-movies'] (no 'dev' tag)
218
- //
219
- // Locally (no CI):
220
- // tags = ['local']
221
- ```
222
-
223
- ## Environment Variables Reference
224
-
225
- | Variable | Required | Description | Default |
226
- | ---------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
227
- | `PACT_BROKER_BASE_URL` | For remote flow | Pact Broker / PactFlow URL | — |
228
- | `PACT_BROKER_TOKEN` | For remote flow | API token for broker authentication | — |
229
- | `GITHUB_SHA` | Recommended | Provider version for verification result publishing (auto-set by GitHub Actions) | `'unknown'` |
230
- | `GITHUB_BRANCH` | Recommended | Branch name for provider version branch and version tags (**not auto-set** — define as `${{ github.head_ref \|\| github.ref_name }}`) | `'main'` |
231
- | `PACT_PAYLOAD_URL` | Optional | Webhook payload URL — triggers verification of specific pact only | — |
232
- | `PACT_BREAKING_CHANGE` | Optional | Set to `"true"` to use breaking change selector strategy | `'false'` |
233
- | `CI` | Auto-detected | When `"true"`, enables verification result publishing | — |
234
-
235
- ## Key Points
236
-
237
- - **Flow auto-detection**: If `PACT_BROKER_BASE_URL` is set → remote flow; otherwise → local flow (requires `pactUrls`)
238
- - **`port` is a string**: Pass port number as string (e.g., `'3001'`); function builds `http://localhost:${port}` internally
239
- - **`includeMainAndDeployed` is required**: `true` = verify matchingBranch + mainBranch + deployedOrReleased; `false` = verify matchingBranch only (for breaking changes)
240
- - **Selector strategy**: Normal flow (`includeMainAndDeployed: true`) includes all selectors; breaking change flow (`false`) includes only `matchingBranch`
241
- - **Webhook support**: `PACT_PAYLOAD_URL` takes precedence — verifies only the specific pact that triggered the webhook
242
- - **State handler types**: Both `async (params) => void` and `{ setup: async (params) => void, teardown: async () => void }` are supported
243
- - **Version publishing**: Verification results are published by default (`publishVerificationResult` defaults to `true`)
244
-
245
- ## Related Fragments
246
-
247
- - `pactjs-utils-overview.md` — installation, decision tree, design philosophy
248
- - `pactjs-utils-consumer-helpers.md` — consumer-side state parameter creation
249
- - `pactjs-utils-request-filter.md` — auth injection for provider verification
250
- - `contract-testing.md` — foundational patterns with raw Pact.js
251
-
252
- ## Anti-Patterns
253
-
254
- ### Wrong: Manual broker URL and selector assembly
255
-
256
- ```typescript
257
- // ❌ Manual environment variable handling
258
- const opts: VerifierOptions = {
259
- provider: 'my-api',
260
- providerBaseUrl: 'http://localhost:3001',
261
- pactBrokerUrl: process.env.PACT_BROKER_BASE_URL,
262
- pactBrokerToken: process.env.PACT_BROKER_TOKEN,
263
- publishVerificationResult: process.env.CI === 'true',
264
- providerVersion: process.env.GIT_SHA || process.env.GITHUB_SHA || 'dev',
265
- providerVersionBranch: process.env.GITHUB_HEAD_REF || process.env.GITHUB_REF_NAME,
266
- consumerVersionSelectors:
267
- process.env.PACT_BREAKING_CHANGE === 'true'
268
- ? [{ matchingBranch: true }]
269
- : [{ matchingBranch: true }, { mainBranch: true }, { deployedOrReleased: true }],
270
- pactUrls: process.env.PACT_PAYLOAD_URL ? [process.env.PACT_PAYLOAD_URL] : undefined,
271
- stateHandlers: {
272
- /* ... */
273
- },
274
- requestFilter: (req, res, next) => {
275
- req.headers['authorization'] = `Bearer ${process.env.TEST_TOKEN}`;
276
- next();
277
- },
278
- };
279
- ```
280
-
281
- ### Right: Use buildVerifierOptions
282
-
283
- ```typescript
284
- // ✅ All env var logic handled internally
285
- const opts = buildVerifierOptions({
286
- provider: 'my-api',
287
- port: '3001',
288
- includeMainAndDeployed: process.env.PACT_BREAKING_CHANGE !== 'true',
289
- stateHandlers: {
290
- /* ... */
291
- },
292
- requestFilter: createRequestFilter({
293
- tokenGenerator: () => process.env.TEST_TOKEN ?? 'test-token',
294
- }),
295
- });
296
- ```
297
-
298
- ### Wrong: Hardcoding consumer version selectors
299
-
300
- ```typescript
301
- // ❌ Hardcoded selectors — breaks when flow changes
302
- consumerVersionSelectors: [{ mainBranch: true }, { deployedOrReleased: true }],
303
- ```
304
-
305
- ### Right: Let buildVerifierOptions choose selectors
306
-
307
- ```typescript
308
- // ✅ Selector strategy adapts to PACT_BREAKING_CHANGE env var
309
- const opts = buildVerifierOptions({
310
- /* ... */
311
- });
312
- // Selectors chosen automatically based on environment
313
- ```
314
-
315
- _Source: @seontechnologies/pactjs-utils provider-verifier module, pact-js-example-provider CI workflows_
@@ -1,224 +0,0 @@
1
- # Pact.js Utils Request Filter
2
-
3
- ## Principle
4
-
5
- Use `createRequestFilter` and `noOpRequestFilter` from `@seontechnologies/pactjs-utils` to inject authentication headers during provider verification. The pluggable token generator pattern prevents double-Bearer bugs and separates auth concerns from verification logic.
6
-
7
- ## Rationale
8
-
9
- ### Problems with manual request filters
10
-
11
- - **Express type gymnastics**: Pact's `requestFilter` expects `(req, res, next) => void` with Express-compatible types — but Pact doesn't re-export these types
12
- - **Double-Bearer bug**: Easy to write `Authorization: Bearer Bearer ${token}` when the token generator already includes the prefix
13
- - **Inline complexity**: Auth logic mixed with verifier config makes tests harder to read
14
- - **No-op boilerplate**: Providers without auth still need a pass-through function or `undefined`
15
-
16
- ### Solutions
17
-
18
- - **`createRequestFilter`**: Accepts `{ tokenGenerator: () => string }` — generator returns raw token value synchronously, filter adds `Bearer ` prefix
19
- - **`noOpRequestFilter`**: Pre-built pass-through for providers without auth requirements
20
- - **Bearer prefix contract**: `tokenGenerator` returns raw value (e.g., `"abc123"`), filter always adds `"Bearer "` — impossible to double-prefix
21
-
22
- ## Pattern Examples
23
-
24
- ### Example 1: Basic Auth Injection
25
-
26
- ```typescript
27
- import { buildVerifierOptions, createRequestFilter } from '@seontechnologies/pactjs-utils';
28
-
29
- const opts = buildVerifierOptions({
30
- provider: 'SampleMoviesAPI',
31
- port: '3001',
32
- includeMainAndDeployed: true,
33
- stateHandlers: {
34
- /* ... */
35
- },
36
- requestFilter: createRequestFilter({
37
- // tokenGenerator returns raw token — filter adds "Bearer " prefix
38
- tokenGenerator: () => 'test-auth-token-123',
39
- }),
40
- });
41
-
42
- // Every request during verification will have:
43
- // Authorization: Bearer test-auth-token-123
44
- ```
45
-
46
- **Key Points**:
47
-
48
- - `tokenGenerator` is **synchronous** (`() => string`) — if you need async token fetching, resolve the token before creating the filter
49
- - Return the raw token value, NOT `"Bearer ..."` — the filter adds the prefix
50
- - Filter sets `Authorization` header on every request during verification
51
-
52
- ### Example 2: Dynamic Token (Pre-resolved)
53
-
54
- ```typescript
55
- import { createRequestFilter } from '@seontechnologies/pactjs-utils';
56
-
57
- // Since tokenGenerator is synchronous, fetch the token before creating the filter
58
- let cachedToken: string;
59
-
60
- async function setupRequestFilter() {
61
- const response = await fetch('http://localhost:8080/auth/token', {
62
- method: 'POST',
63
- headers: { 'Content-Type': 'application/json' },
64
- body: JSON.stringify({
65
- clientId: process.env.TEST_CLIENT_ID,
66
- clientSecret: process.env.TEST_CLIENT_SECRET,
67
- }),
68
- });
69
- const { access_token } = await response.json();
70
- cachedToken = access_token;
71
- }
72
-
73
- const requestFilter = createRequestFilter({
74
- tokenGenerator: () => cachedToken, // Synchronous — returns pre-fetched token
75
- });
76
-
77
- const opts = buildVerifierOptions({
78
- provider: 'SecureAPI',
79
- port: '3001',
80
- includeMainAndDeployed: true,
81
- stateHandlers: {
82
- /* ... */
83
- },
84
- requestFilter,
85
- });
86
- ```
87
-
88
- ### Example 3: No-Auth Provider
89
-
90
- ```typescript
91
- import { buildVerifierOptions, noOpRequestFilter } from '@seontechnologies/pactjs-utils';
92
-
93
- // For providers that don't require authentication
94
- const opts = buildVerifierOptions({
95
- provider: 'PublicAPI',
96
- port: '3001',
97
- includeMainAndDeployed: true,
98
- stateHandlers: {
99
- /* ... */
100
- },
101
- requestFilter: noOpRequestFilter,
102
- });
103
-
104
- // noOpRequestFilter is equivalent to: (req, res, next) => next()
105
- ```
106
-
107
- ### Example 4: Integration with buildVerifierOptions
108
-
109
- ```typescript
110
- import { buildVerifierOptions, createRequestFilter } from '@seontechnologies/pactjs-utils';
111
- import type { StateHandlers } from '@seontechnologies/pactjs-utils';
112
-
113
- // Complete provider verification setup
114
- const stateHandlers: StateHandlers = {
115
- 'user is authenticated': async () => {
116
- // Auth state is handled by the request filter, not state handler
117
- },
118
- 'movie exists': {
119
- setup: async (params) => {
120
- await db.seed({ movies: [{ id: params?.id }] });
121
- },
122
- teardown: async () => {
123
- await db.clean('movies');
124
- },
125
- },
126
- };
127
-
128
- const requestFilter = createRequestFilter({
129
- tokenGenerator: () => process.env.TEST_AUTH_TOKEN ?? 'fallback-token',
130
- });
131
-
132
- const opts = buildVerifierOptions({
133
- provider: 'SampleMoviesAPI',
134
- port: process.env.PORT ?? '3001',
135
- includeMainAndDeployed: process.env.PACT_BREAKING_CHANGE !== 'true',
136
- stateHandlers,
137
- requestFilter,
138
- });
139
-
140
- // Run verification
141
- await new Verifier(opts).verifyProvider();
142
- ```
143
-
144
- ## Key Points
145
-
146
- - **Bearer prefix contract**: `tokenGenerator` returns raw value → filter adds `"Bearer "` → impossible to double-prefix
147
- - **Synchronous only**: `tokenGenerator` must return `string` (not `Promise<string>`) — pre-resolve async tokens before creating the filter
148
- - **Separation of concerns**: Auth logic in `createRequestFilter`, verification logic in `buildVerifierOptions`
149
- - **noOpRequestFilter**: Use for providers without auth — cleaner than `undefined` or inline no-op
150
- - **Express compatible**: The returned filter matches Pact's expected `(req, res, next) => void` signature
151
-
152
- ## Related Fragments
153
-
154
- - `pactjs-utils-overview.md` — installation, utility table, decision tree
155
- - `pactjs-utils-provider-verifier.md` — buildVerifierOptions integration
156
- - `contract-testing.md` — foundational patterns with raw Pact.js
157
-
158
- ## Anti-Patterns
159
-
160
- ### Wrong: Manual Bearer prefix with double-prefix risk
161
-
162
- ```typescript
163
- // ❌ Risk of double-prefix: "Bearer Bearer token"
164
- requestFilter: (req, res, next) => {
165
- const token = getToken(); // What if getToken() returns "Bearer abc123"?
166
- req.headers['authorization'] = `Bearer ${token}`;
167
- next();
168
- };
169
- ```
170
-
171
- ### Right: Use createRequestFilter with raw token
172
-
173
- ```typescript
174
- // ✅ tokenGenerator returns raw value — filter handles prefix
175
- requestFilter: createRequestFilter({
176
- tokenGenerator: () => getToken(), // Returns "abc123", not "Bearer abc123"
177
- });
178
- ```
179
-
180
- ### Wrong: Inline auth logic in verifier config
181
-
182
- ```typescript
183
- // ❌ Auth logic mixed with verifier config
184
- const opts: VerifierOptions = {
185
- provider: 'my-api',
186
- providerBaseUrl: 'http://localhost:3001',
187
- requestFilter: (req, res, next) => {
188
- const clientId = process.env.CLIENT_ID;
189
- const clientSecret = process.env.CLIENT_SECRET;
190
- // 10 lines of token fetching logic...
191
- req.headers['authorization'] = `Bearer ${token}`;
192
- next();
193
- },
194
- // ... rest of config
195
- };
196
- ```
197
-
198
- ### Right: Separate auth into createRequestFilter
199
-
200
- ```typescript
201
- // ✅ Clean separation — async setup wraps token fetch (CommonJS-safe)
202
- async function setupVerifierOptions() {
203
- const token = await fetchAuthToken(); // Resolve async token BEFORE creating filter
204
-
205
- const requestFilter = createRequestFilter({
206
- tokenGenerator: () => token, // Synchronous — returns pre-fetched value
207
- });
208
-
209
- return buildVerifierOptions({
210
- provider: 'my-api',
211
- port: '3001',
212
- includeMainAndDeployed: true,
213
- requestFilter,
214
- stateHandlers: {
215
- /* ... */
216
- },
217
- });
218
- }
219
-
220
- // In tests/hooks, callers can await setupVerifierOptions():
221
- // const opts = await setupVerifierOptions();
222
- ```
223
-
224
- _Source: @seontechnologies/pactjs-utils request-filter module, pact-js-example-provider verification tests_