@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,734 +0,0 @@
1
- ---
2
- name: django-patterns
3
- description: Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.
4
- origin: ECC
5
- ---
6
-
7
- # Django Development Patterns
8
-
9
- Production-grade Django architecture patterns for scalable, maintainable applications.
10
-
11
- ## When to Activate
12
-
13
- - Building Django web applications
14
- - Designing Django REST Framework APIs
15
- - Working with Django ORM and models
16
- - Setting up Django project structure
17
- - Implementing caching, signals, middleware
18
-
19
- ## Project Structure
20
-
21
- ### Recommended Layout
22
-
23
- ```
24
- myproject/
25
- ├── config/
26
- │ ├── __init__.py
27
- │ ├── settings/
28
- │ │ ├── __init__.py
29
- │ │ ├── base.py # Base settings
30
- │ │ ├── development.py # Dev settings
31
- │ │ ├── production.py # Production settings
32
- │ │ └── test.py # Test settings
33
- │ ├── urls.py
34
- │ ├── wsgi.py
35
- │ └── asgi.py
36
- ├── manage.py
37
- └── apps/
38
- ├── __init__.py
39
- ├── users/
40
- │ ├── __init__.py
41
- │ ├── models.py
42
- │ ├── views.py
43
- │ ├── serializers.py
44
- │ ├── urls.py
45
- │ ├── permissions.py
46
- │ ├── filters.py
47
- │ ├── services.py
48
- │ └── tests/
49
- └── products/
50
- └── ...
51
- ```
52
-
53
- ### Split Settings Pattern
54
-
55
- ```python
56
- # config/settings/base.py
57
- from pathlib import Path
58
-
59
- BASE_DIR = Path(__file__).resolve().parent.parent.parent
60
-
61
- SECRET_KEY = env('DJANGO_SECRET_KEY')
62
- DEBUG = False
63
- ALLOWED_HOSTS = []
64
-
65
- INSTALLED_APPS = [
66
- 'django.contrib.admin',
67
- 'django.contrib.auth',
68
- 'django.contrib.contenttypes',
69
- 'django.contrib.sessions',
70
- 'django.contrib.messages',
71
- 'django.contrib.staticfiles',
72
- 'rest_framework',
73
- 'rest_framework.authtoken',
74
- 'corsheaders',
75
- # Local apps
76
- 'apps.users',
77
- 'apps.products',
78
- ]
79
-
80
- MIDDLEWARE = [
81
- 'django.middleware.security.SecurityMiddleware',
82
- 'whitenoise.middleware.WhiteNoiseMiddleware',
83
- 'django.contrib.sessions.middleware.SessionMiddleware',
84
- 'corsheaders.middleware.CorsMiddleware',
85
- 'django.middleware.common.CommonMiddleware',
86
- 'django.middleware.csrf.CsrfViewMiddleware',
87
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
88
- 'django.contrib.messages.middleware.MessageMiddleware',
89
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
90
- ]
91
-
92
- ROOT_URLCONF = 'config.urls'
93
- WSGI_APPLICATION = 'config.wsgi.application'
94
-
95
- DATABASES = {
96
- 'default': {
97
- 'ENGINE': 'django.db.backends.postgresql',
98
- 'NAME': env('DB_NAME'),
99
- 'USER': env('DB_USER'),
100
- 'PASSWORD': env('DB_PASSWORD'),
101
- 'HOST': env('DB_HOST'),
102
- 'PORT': env('DB_PORT', default='5432'),
103
- }
104
- }
105
-
106
- # config/settings/development.py
107
- from .base import *
108
-
109
- DEBUG = True
110
- ALLOWED_HOSTS = ['localhost', '127.0.0.1']
111
-
112
- DATABASES['default']['NAME'] = 'myproject_dev'
113
-
114
- INSTALLED_APPS += ['debug_toolbar']
115
-
116
- MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware']
117
-
118
- EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
119
-
120
- # config/settings/production.py
121
- from .base import *
122
-
123
- DEBUG = False
124
- ALLOWED_HOSTS = env.list('ALLOWED_HOSTS')
125
- SECURE_SSL_REDIRECT = True
126
- SESSION_COOKIE_SECURE = True
127
- CSRF_COOKIE_SECURE = True
128
- SECURE_HSTS_SECONDS = 31536000
129
- SECURE_HSTS_INCLUDE_SUBDOMAINS = True
130
- SECURE_HSTS_PRELOAD = True
131
-
132
- # Logging
133
- LOGGING = {
134
- 'version': 1,
135
- 'disable_existing_loggers': False,
136
- 'handlers': {
137
- 'file': {
138
- 'level': 'WARNING',
139
- 'class': 'logging.FileHandler',
140
- 'filename': '/var/log/django/django.log',
141
- },
142
- },
143
- 'loggers': {
144
- 'django': {
145
- 'handlers': ['file'],
146
- 'level': 'WARNING',
147
- 'propagate': True,
148
- },
149
- },
150
- }
151
- ```
152
-
153
- ## Model Design Patterns
154
-
155
- ### Model Best Practices
156
-
157
- ```python
158
- from django.db import models
159
- from django.contrib.auth.models import AbstractUser
160
- from django.core.validators import MinValueValidator, MaxValueValidator
161
-
162
- class User(AbstractUser):
163
- """Custom user model extending AbstractUser."""
164
- email = models.EmailField(unique=True)
165
- phone = models.CharField(max_length=20, blank=True)
166
- birth_date = models.DateField(null=True, blank=True)
167
-
168
- USERNAME_FIELD = 'email'
169
- REQUIRED_FIELDS = ['username']
170
-
171
- class Meta:
172
- db_table = 'users'
173
- verbose_name = 'user'
174
- verbose_name_plural = 'users'
175
- ordering = ['-date_joined']
176
-
177
- def __str__(self):
178
- return self.email
179
-
180
- def get_full_name(self):
181
- return f"{self.first_name} {self.last_name}".strip()
182
-
183
- class Product(models.Model):
184
- """Product model with proper field configuration."""
185
- name = models.CharField(max_length=200)
186
- slug = models.SlugField(unique=True, max_length=250)
187
- description = models.TextField(blank=True)
188
- price = models.DecimalField(
189
- max_digits=10,
190
- decimal_places=2,
191
- validators=[MinValueValidator(0)]
192
- )
193
- stock = models.PositiveIntegerField(default=0)
194
- is_active = models.BooleanField(default=True)
195
- category = models.ForeignKey(
196
- 'Category',
197
- on_delete=models.CASCADE,
198
- related_name='products'
199
- )
200
- tags = models.ManyToManyField('Tag', blank=True, related_name='products')
201
- created_at = models.DateTimeField(auto_now_add=True)
202
- updated_at = models.DateTimeField(auto_now=True)
203
-
204
- class Meta:
205
- db_table = 'products'
206
- ordering = ['-created_at']
207
- indexes = [
208
- models.Index(fields=['slug']),
209
- models.Index(fields=['-created_at']),
210
- models.Index(fields=['category', 'is_active']),
211
- ]
212
- constraints = [
213
- models.CheckConstraint(
214
- check=models.Q(price__gte=0),
215
- name='price_non_negative'
216
- )
217
- ]
218
-
219
- def __str__(self):
220
- return self.name
221
-
222
- def save(self, *args, **kwargs):
223
- if not self.slug:
224
- self.slug = slugify(self.name)
225
- super().save(*args, **kwargs)
226
- ```
227
-
228
- ### QuerySet Best Practices
229
-
230
- ```python
231
- from django.db import models
232
-
233
- class ProductQuerySet(models.QuerySet):
234
- """Custom QuerySet for Product model."""
235
-
236
- def active(self):
237
- """Return only active products."""
238
- return self.filter(is_active=True)
239
-
240
- def with_category(self):
241
- """Select related category to avoid N+1 queries."""
242
- return self.select_related('category')
243
-
244
- def with_tags(self):
245
- """Prefetch tags for many-to-many relationship."""
246
- return self.prefetch_related('tags')
247
-
248
- def in_stock(self):
249
- """Return products with stock > 0."""
250
- return self.filter(stock__gt=0)
251
-
252
- def search(self, query):
253
- """Search products by name or description."""
254
- return self.filter(
255
- models.Q(name__icontains=query) |
256
- models.Q(description__icontains=query)
257
- )
258
-
259
- class Product(models.Model):
260
- # ... fields ...
261
-
262
- objects = ProductQuerySet.as_manager() # Use custom QuerySet
263
-
264
- # Usage
265
- Product.objects.active().with_category().in_stock()
266
- ```
267
-
268
- ### Manager Methods
269
-
270
- ```python
271
- class ProductManager(models.Manager):
272
- """Custom manager for complex queries."""
273
-
274
- def get_or_none(self, **kwargs):
275
- """Return object or None instead of DoesNotExist."""
276
- try:
277
- return self.get(**kwargs)
278
- except self.model.DoesNotExist:
279
- return None
280
-
281
- def create_with_tags(self, name, price, tag_names):
282
- """Create product with associated tags."""
283
- product = self.create(name=name, price=price)
284
- tags = [Tag.objects.get_or_create(name=name)[0] for name in tag_names]
285
- product.tags.set(tags)
286
- return product
287
-
288
- def bulk_update_stock(self, product_ids, quantity):
289
- """Bulk update stock for multiple products."""
290
- return self.filter(id__in=product_ids).update(stock=quantity)
291
-
292
- # In model
293
- class Product(models.Model):
294
- # ... fields ...
295
- custom = ProductManager()
296
- ```
297
-
298
- ## Django REST Framework Patterns
299
-
300
- ### Serializer Patterns
301
-
302
- ```python
303
- from rest_framework import serializers
304
- from django.contrib.auth.password_validation import validate_password
305
- from .models import Product, User
306
-
307
- class ProductSerializer(serializers.ModelSerializer):
308
- """Serializer for Product model."""
309
-
310
- category_name = serializers.CharField(source='category.name', read_only=True)
311
- average_rating = serializers.FloatField(read_only=True)
312
- discount_price = serializers.SerializerMethodField()
313
-
314
- class Meta:
315
- model = Product
316
- fields = [
317
- 'id', 'name', 'slug', 'description', 'price',
318
- 'discount_price', 'stock', 'category_name',
319
- 'average_rating', 'created_at'
320
- ]
321
- read_only_fields = ['id', 'slug', 'created_at']
322
-
323
- def get_discount_price(self, obj):
324
- """Calculate discount price if applicable."""
325
- if hasattr(obj, 'discount') and obj.discount:
326
- return obj.price * (1 - obj.discount.percent / 100)
327
- return obj.price
328
-
329
- def validate_price(self, value):
330
- """Ensure price is non-negative."""
331
- if value < 0:
332
- raise serializers.ValidationError("Price cannot be negative.")
333
- return value
334
-
335
- class ProductCreateSerializer(serializers.ModelSerializer):
336
- """Serializer for creating products."""
337
-
338
- class Meta:
339
- model = Product
340
- fields = ['name', 'description', 'price', 'stock', 'category']
341
-
342
- def validate(self, data):
343
- """Custom validation for multiple fields."""
344
- if data['price'] > 10000 and data['stock'] > 100:
345
- raise serializers.ValidationError(
346
- "Cannot have high-value products with large stock."
347
- )
348
- return data
349
-
350
- class UserRegistrationSerializer(serializers.ModelSerializer):
351
- """Serializer for user registration."""
352
-
353
- password = serializers.CharField(
354
- write_only=True,
355
- required=True,
356
- validators=[validate_password],
357
- style={'input_type': 'password'}
358
- )
359
- password_confirm = serializers.CharField(write_only=True, style={'input_type': 'password'})
360
-
361
- class Meta:
362
- model = User
363
- fields = ['email', 'username', 'password', 'password_confirm']
364
-
365
- def validate(self, data):
366
- """Validate passwords match."""
367
- if data['password'] != data['password_confirm']:
368
- raise serializers.ValidationError({
369
- "password_confirm": "Password fields didn't match."
370
- })
371
- return data
372
-
373
- def create(self, validated_data):
374
- """Create user with hashed password."""
375
- validated_data.pop('password_confirm')
376
- password = validated_data.pop('password')
377
- user = User.objects.create(**validated_data)
378
- user.set_password(password)
379
- user.save()
380
- return user
381
- ```
382
-
383
- ### ViewSet Patterns
384
-
385
- ```python
386
- from rest_framework import viewsets, status, filters
387
- from rest_framework.decorators import action
388
- from rest_framework.response import Response
389
- from rest_framework.permissions import IsAuthenticated, IsAdminUser
390
- from django_filters.rest_framework import DjangoFilterBackend
391
- from .models import Product
392
- from .serializers import ProductSerializer, ProductCreateSerializer
393
- from .permissions import IsOwnerOrReadOnly
394
- from .filters import ProductFilter
395
- from .services import ProductService
396
-
397
- class ProductViewSet(viewsets.ModelViewSet):
398
- """ViewSet for Product model."""
399
-
400
- queryset = Product.objects.select_related('category').prefetch_related('tags')
401
- permission_classes = [IsAuthenticated, IsOwnerOrReadOnly]
402
- filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter]
403
- filterset_class = ProductFilter
404
- search_fields = ['name', 'description']
405
- ordering_fields = ['price', 'created_at', 'name']
406
- ordering = ['-created_at']
407
-
408
- def get_serializer_class(self):
409
- """Return appropriate serializer based on action."""
410
- if self.action == 'create':
411
- return ProductCreateSerializer
412
- return ProductSerializer
413
-
414
- def perform_create(self, serializer):
415
- """Save with user context."""
416
- serializer.save(created_by=self.request.user)
417
-
418
- @action(detail=False, methods=['get'])
419
- def featured(self, request):
420
- """Return featured products."""
421
- featured = self.queryset.filter(is_featured=True)[:10]
422
- serializer = self.get_serializer(featured, many=True)
423
- return Response(serializer.data)
424
-
425
- @action(detail=True, methods=['post'])
426
- def purchase(self, request, pk=None):
427
- """Purchase a product."""
428
- product = self.get_object()
429
- service = ProductService()
430
- result = service.purchase(product, request.user)
431
- return Response(result, status=status.HTTP_201_CREATED)
432
-
433
- @action(detail=False, methods=['get'], permission_classes=[IsAuthenticated])
434
- def my_products(self, request):
435
- """Return products created by current user."""
436
- products = self.queryset.filter(created_by=request.user)
437
- page = self.paginate_queryset(products)
438
- serializer = self.get_serializer(page, many=True)
439
- return self.get_paginated_response(serializer.data)
440
- ```
441
-
442
- ### Custom Actions
443
-
444
- ```python
445
- from rest_framework.decorators import api_view, permission_classes
446
- from rest_framework.permissions import IsAuthenticated
447
- from rest_framework.response import Response
448
-
449
- @api_view(['POST'])
450
- @permission_classes([IsAuthenticated])
451
- def add_to_cart(request):
452
- """Add product to user cart."""
453
- product_id = request.data.get('product_id')
454
- quantity = request.data.get('quantity', 1)
455
-
456
- try:
457
- product = Product.objects.get(id=product_id)
458
- except Product.DoesNotExist:
459
- return Response(
460
- {'error': 'Product not found'},
461
- status=status.HTTP_404_NOT_FOUND
462
- )
463
-
464
- cart, _ = Cart.objects.get_or_create(user=request.user)
465
- CartItem.objects.create(
466
- cart=cart,
467
- product=product,
468
- quantity=quantity
469
- )
470
-
471
- return Response({'message': 'Added to cart'}, status=status.HTTP_201_CREATED)
472
- ```
473
-
474
- ## Service Layer Pattern
475
-
476
- ```python
477
- # apps/orders/services.py
478
- from typing import Optional
479
- from django.db import transaction
480
- from .models import Order, OrderItem
481
-
482
- class OrderService:
483
- """Service layer for order-related business logic."""
484
-
485
- @staticmethod
486
- @transaction.atomic
487
- def create_order(user, cart: Cart) -> Order:
488
- """Create order from cart."""
489
- order = Order.objects.create(
490
- user=user,
491
- total_price=cart.total_price
492
- )
493
-
494
- for item in cart.items.all():
495
- OrderItem.objects.create(
496
- order=order,
497
- product=item.product,
498
- quantity=item.quantity,
499
- price=item.product.price
500
- )
501
-
502
- # Clear cart
503
- cart.items.all().delete()
504
-
505
- return order
506
-
507
- @staticmethod
508
- def process_payment(order: Order, payment_data: dict) -> bool:
509
- """Process payment for order."""
510
- # Integration with payment gateway
511
- payment = PaymentGateway.charge(
512
- amount=order.total_price,
513
- token=payment_data['token']
514
- )
515
-
516
- if payment.success:
517
- order.status = Order.Status.PAID
518
- order.save()
519
- # Send confirmation email
520
- OrderService.send_confirmation_email(order)
521
- return True
522
-
523
- return False
524
-
525
- @staticmethod
526
- def send_confirmation_email(order: Order):
527
- """Send order confirmation email."""
528
- # Email sending logic
529
- pass
530
- ```
531
-
532
- ## Caching Strategies
533
-
534
- ### View-Level Caching
535
-
536
- ```python
537
- from django.views.decorators.cache import cache_page
538
- from django.utils.decorators import method_decorator
539
-
540
- @method_decorator(cache_page(60 * 15), name='dispatch') # 15 minutes
541
- class ProductListView(generic.ListView):
542
- model = Product
543
- template_name = 'products/list.html'
544
- context_object_name = 'products'
545
- ```
546
-
547
- ### Template Fragment Caching
548
-
549
- ```django
550
- {% load cache %}
551
- {% cache 500 sidebar %}
552
- ... expensive sidebar content ...
553
- {% endcache %}
554
- ```
555
-
556
- ### Low-Level Caching
557
-
558
- ```python
559
- from django.core.cache import cache
560
-
561
- def get_featured_products():
562
- """Get featured products with caching."""
563
- cache_key = 'featured_products'
564
- products = cache.get(cache_key)
565
-
566
- if products is None:
567
- products = list(Product.objects.filter(is_featured=True))
568
- cache.set(cache_key, products, timeout=60 * 15) # 15 minutes
569
-
570
- return products
571
- ```
572
-
573
- ### QuerySet Caching
574
-
575
- ```python
576
- from django.core.cache import cache
577
-
578
- def get_popular_categories():
579
- cache_key = 'popular_categories'
580
- categories = cache.get(cache_key)
581
-
582
- if categories is None:
583
- categories = list(Category.objects.annotate(
584
- product_count=Count('products')
585
- ).filter(product_count__gt=10).order_by('-product_count')[:20])
586
- cache.set(cache_key, categories, timeout=60 * 60) # 1 hour
587
-
588
- return categories
589
- ```
590
-
591
- ## Signals
592
-
593
- ### Signal Patterns
594
-
595
- ```python
596
- # apps/users/signals.py
597
- from django.db.models.signals import post_save
598
- from django.dispatch import receiver
599
- from django.contrib.auth import get_user_model
600
- from .models import Profile
601
-
602
- User = get_user_model()
603
-
604
- @receiver(post_save, sender=User)
605
- def create_user_profile(sender, instance, created, **kwargs):
606
- """Create profile when user is created."""
607
- if created:
608
- Profile.objects.create(user=instance)
609
-
610
- @receiver(post_save, sender=User)
611
- def save_user_profile(sender, instance, **kwargs):
612
- """Save profile when user is saved."""
613
- instance.profile.save()
614
-
615
- # apps/users/apps.py
616
- from django.apps import AppConfig
617
-
618
- class UsersConfig(AppConfig):
619
- default_auto_field = 'django.db.models.BigAutoField'
620
- name = 'apps.users'
621
-
622
- def ready(self):
623
- """Import signals when app is ready."""
624
- import apps.users.signals
625
- ```
626
-
627
- ## Middleware
628
-
629
- ### Custom Middleware
630
-
631
- ```python
632
- # middleware/active_user_middleware.py
633
- import time
634
- from django.utils.deprecation import MiddlewareMixin
635
-
636
- class ActiveUserMiddleware(MiddlewareMixin):
637
- """Middleware to track active users."""
638
-
639
- def process_request(self, request):
640
- """Process incoming request."""
641
- if request.user.is_authenticated:
642
- # Update last active time
643
- request.user.last_active = timezone.now()
644
- request.user.save(update_fields=['last_active'])
645
-
646
- class RequestLoggingMiddleware(MiddlewareMixin):
647
- """Middleware for logging requests."""
648
-
649
- def process_request(self, request):
650
- """Log request start time."""
651
- request.start_time = time.time()
652
-
653
- def process_response(self, request, response):
654
- """Log request duration."""
655
- if hasattr(request, 'start_time'):
656
- duration = time.time() - request.start_time
657
- logger.info(f'{request.method} {request.path} - {response.status_code} - {duration:.3f}s')
658
- return response
659
- ```
660
-
661
- ## Performance Optimization
662
-
663
- ### N+1 Query Prevention
664
-
665
- ```python
666
- # Bad - N+1 queries
667
- products = Product.objects.all()
668
- for product in products:
669
- print(product.category.name) # Separate query for each product
670
-
671
- # Good - Single query with select_related
672
- products = Product.objects.select_related('category').all()
673
- for product in products:
674
- print(product.category.name)
675
-
676
- # Good - Prefetch for many-to-many
677
- products = Product.objects.prefetch_related('tags').all()
678
- for product in products:
679
- for tag in product.tags.all():
680
- print(tag.name)
681
- ```
682
-
683
- ### Database Indexing
684
-
685
- ```python
686
- class Product(models.Model):
687
- name = models.CharField(max_length=200, db_index=True)
688
- slug = models.SlugField(unique=True)
689
- category = models.ForeignKey('Category', on_delete=models.CASCADE)
690
- created_at = models.DateTimeField(auto_now_add=True)
691
-
692
- class Meta:
693
- indexes = [
694
- models.Index(fields=['name']),
695
- models.Index(fields=['-created_at']),
696
- models.Index(fields=['category', 'created_at']),
697
- ]
698
- ```
699
-
700
- ### Bulk Operations
701
-
702
- ```python
703
- # Bulk create
704
- Product.objects.bulk_create([
705
- Product(name=f'Product {i}', price=10.00)
706
- for i in range(1000)
707
- ])
708
-
709
- # Bulk update
710
- products = Product.objects.all()[:100]
711
- for product in products:
712
- product.is_active = True
713
- Product.objects.bulk_update(products, ['is_active'])
714
-
715
- # Bulk delete
716
- Product.objects.filter(stock=0).delete()
717
- ```
718
-
719
- ## Quick Reference
720
-
721
- | Pattern | Description |
722
- |---------|-------------|
723
- | Split settings | Separate dev/prod/test settings |
724
- | Custom QuerySet | Reusable query methods |
725
- | Service Layer | Business logic separation |
726
- | ViewSet | REST API endpoints |
727
- | Serializer validation | Request/response transformation |
728
- | select_related | Foreign key optimization |
729
- | prefetch_related | Many-to-many optimization |
730
- | Cache first | Cache expensive operations |
731
- | Signals | Event-driven actions |
732
- | Middleware | Request/response processing |
733
-
734
- Remember: Django provides many shortcuts, but for production applications, structure and organization matter more than concise code. Build for maintainability.