@delorenj/pjangler 1.2.21 → 1.2.33

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 (835) hide show
  1. package/README.md +12 -3
  2. package/dist/index.js +8577 -4137
  3. package/dist/mcp-server.js +8115 -4079
  4. package/package.json +19 -4
  5. package/templates/commonproject/copier.yml +6 -3
  6. package/templates/commonproject/template/.agents/skills.json +2 -1
  7. package/templates/commonproject/template/.env.op +6 -2
  8. package/templates/commonproject/template/.github/workflows/code-review.yml.jinja +48 -0
  9. package/templates/commonproject/template/.mise/scripts/materialize-env.sh +28 -0
  10. package/templates/commonproject/template/.mise/scripts/provision-packs.py +565 -0
  11. package/templates/commonproject/template/.mise/scripts/sync-skills.py +1728 -0
  12. package/templates/commonproject/template/mise.toml.jinja +14 -4
  13. package/templates/hermes-agent/copier.yml +11 -7
  14. package/templates/hermes-agent/template/.gitignore.jinja +6 -2
  15. package/templates/hermes-agent/template/.runtime-scaffold/README.md +4 -2
  16. package/templates/hermes-agent/template/.scripts/00-banner.sh +1 -1
  17. package/templates/hermes-agent/template/.scripts/01-config.sh +3 -0
  18. package/templates/hermes-agent/template/.scripts/10-hermes-profile.sh +12 -1
  19. package/templates/hermes-agent/template/.scripts/20-runtime-repo.sh +114 -131
  20. package/templates/hermes-agent/template/.scripts/30-telegram.sh +276 -22
  21. package/templates/hermes-agent/template/.scripts/31-slack.sh +362 -0
  22. package/templates/hermes-agent/template/.scripts/60-bloodbank.sh +8 -66
  23. package/templates/hermes-agent/template/.scripts/70-systemd.sh +50 -29
  24. package/templates/hermes-agent/template/.scripts/80-registry.sh +93 -13
  25. package/templates/hermes-agent/template/.scripts/99-summary.sh +1 -4
  26. package/templates/hermes-agent/template/.scripts/_lib.sh +66 -1
  27. package/templates/hermes-agent/template/.scripts/checkpoint.sh +3 -2
  28. package/templates/hermes-agent/template/.scripts/config.example.toml +10 -10
  29. package/templates/hermes-agent/template/.scripts/heartbeat.sh +1 -1
  30. package/templates/hermes-agent/template/.scripts/lib/ticket-provider.sh +15 -7
  31. package/templates/hermes-agent/template/.scripts/providers/linear.sh +41 -1
  32. package/templates/hermes-agent/template/.scripts/providers/plane.sh +91 -21
  33. package/templates/hermes-agent/template/.scripts/providers/trello.sh +34 -1
  34. package/templates/hermes-agent/template/.scripts/reporter-watchdog.py +242 -0
  35. package/templates/hermes-agent/template/.scripts/secret-scan.py +68 -0
  36. package/templates/hermes-agent/template/.scripts/sentinel.prompt.md.jinja +3 -2
  37. package/templates/hermes-agent/template/SOUL.md.jinja +32 -10
  38. package/templates/hermes-agent/template/hermes.jinja +6 -3
  39. package/templates/hermes-agent/template/role.yaml.jinja +25 -13
  40. package/templates/commonproject/.augment/commands/bmad/agents/bmb-agent-builder.md +0 -14
  41. package/templates/commonproject/.augment/commands/bmad/agents/bmb-module-builder.md +0 -14
  42. package/templates/commonproject/.augment/commands/bmad/agents/bmb-workflow-builder.md +0 -14
  43. package/templates/commonproject/.augment/commands/bmad/agents/bmm-analyst.md +0 -14
  44. package/templates/commonproject/.augment/commands/bmad/agents/bmm-architect.md +0 -14
  45. package/templates/commonproject/.augment/commands/bmad/agents/bmm-dev.md +0 -14
  46. package/templates/commonproject/.augment/commands/bmad/agents/bmm-pm.md +0 -14
  47. package/templates/commonproject/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md +0 -14
  48. package/templates/commonproject/.augment/commands/bmad/agents/bmm-sm.md +0 -14
  49. package/templates/commonproject/.augment/commands/bmad/agents/bmm-tea.md +0 -14
  50. package/templates/commonproject/.augment/commands/bmad/agents/bmm-tech-writer.md +0 -14
  51. package/templates/commonproject/.augment/commands/bmad/agents/bmm-ux-designer.md +0 -14
  52. package/templates/commonproject/.augment/commands/bmad/agents/cis-brainstorming-coach.md +0 -14
  53. package/templates/commonproject/.augment/commands/bmad/agents/cis-creative-problem-solver.md +0 -14
  54. package/templates/commonproject/.augment/commands/bmad/agents/cis-design-thinking-coach.md +0 -14
  55. package/templates/commonproject/.augment/commands/bmad/agents/cis-innovation-strategist.md +0 -14
  56. package/templates/commonproject/.augment/commands/bmad/agents/cis-presentation-master.md +0 -14
  57. package/templates/commonproject/.augment/commands/bmad/agents/cis-storyteller.md +0 -14
  58. package/templates/commonproject/.augment/commands/bmad/agents/core-bmad-master.md +0 -14
  59. package/templates/commonproject/.augment/commands/bmad/tasks/core-index-docs.md +0 -74
  60. package/templates/commonproject/.augment/commands/bmad/tasks/core-shard-doc.md +0 -118
  61. package/templates/commonproject/.augment/commands/bmad/workflows/bmb-agent.md +0 -5
  62. package/templates/commonproject/.augment/commands/bmad/workflows/bmb-module.md +0 -5
  63. package/templates/commonproject/.augment/commands/bmad/workflows/bmb-workflow.md +0 -5
  64. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md +0 -5
  65. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-code-review.md +0 -13
  66. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-correct-course.md +0 -13
  67. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-architecture.md +0 -5
  68. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md +0 -5
  69. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md +0 -13
  70. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md +0 -13
  71. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md +0 -13
  72. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md +0 -13
  73. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-product-brief.md +0 -5
  74. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-story.md +0 -13
  75. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-create-ux-design.md +0 -5
  76. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-dev-story.md +0 -13
  77. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-document-project.md +0 -13
  78. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-generate-project-context.md +0 -5
  79. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-prd.md +0 -5
  80. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-quick-dev.md +0 -5
  81. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-quick-spec.md +0 -5
  82. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-research.md +0 -5
  83. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-retrospective.md +0 -13
  84. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-sprint-planning.md +0 -13
  85. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-sprint-status.md +0 -13
  86. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-atdd.md +0 -13
  87. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-automate.md +0 -13
  88. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-ci.md +0 -13
  89. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-framework.md +0 -13
  90. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-nfr.md +0 -13
  91. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-test-design.md +0 -13
  92. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-test-review.md +0 -13
  93. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-testarch-trace.md +0 -13
  94. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-workflow-init.md +0 -13
  95. package/templates/commonproject/.augment/commands/bmad/workflows/bmm-workflow-status.md +0 -13
  96. package/templates/commonproject/.augment/commands/bmad/workflows/cis-design-thinking.md +0 -13
  97. package/templates/commonproject/.augment/commands/bmad/workflows/cis-innovation-strategy.md +0 -13
  98. package/templates/commonproject/.augment/commands/bmad/workflows/cis-problem-solving.md +0 -13
  99. package/templates/commonproject/.augment/commands/bmad/workflows/cis-storytelling.md +0 -13
  100. package/templates/commonproject/.augment/commands/bmad/workflows/core-brainstorming.md +0 -5
  101. package/templates/commonproject/.augment/commands/bmad/workflows/core-party-mode.md +0 -5
  102. package/templates/commonproject/.augment/commands/bmad/workflows/custom-ticket-lifecycle.md +0 -5
  103. package/templates/commonproject/.copier-answers.yml +0 -4
  104. package/templates/commonproject/.gemini/commands/bmad-agent-bmb-agent-builder.toml +0 -12
  105. package/templates/commonproject/.gemini/commands/bmad-agent-bmb-module-builder.toml +0 -12
  106. package/templates/commonproject/.gemini/commands/bmad-agent-bmb-workflow-builder.toml +0 -12
  107. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-analyst.toml +0 -12
  108. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-architect.toml +0 -12
  109. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-dev.toml +0 -12
  110. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-pm.toml +0 -12
  111. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-quick-flow-solo-dev.toml +0 -12
  112. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-sm.toml +0 -12
  113. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-tea.toml +0 -12
  114. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-tech-writer.toml +0 -12
  115. package/templates/commonproject/.gemini/commands/bmad-agent-bmm-ux-designer.toml +0 -12
  116. package/templates/commonproject/.gemini/commands/bmad-agent-cis-brainstorming-coach.toml +0 -12
  117. package/templates/commonproject/.gemini/commands/bmad-agent-cis-creative-problem-solver.toml +0 -12
  118. package/templates/commonproject/.gemini/commands/bmad-agent-cis-design-thinking-coach.toml +0 -12
  119. package/templates/commonproject/.gemini/commands/bmad-agent-cis-innovation-strategist.toml +0 -12
  120. package/templates/commonproject/.gemini/commands/bmad-agent-cis-presentation-master.toml +0 -12
  121. package/templates/commonproject/.gemini/commands/bmad-agent-cis-storyteller.toml +0 -12
  122. package/templates/commonproject/.gemini/commands/bmad-agent-core-bmad-master.toml +0 -12
  123. package/templates/commonproject/.gemini/commands/bmad-task-core-index-docs.toml +0 -12
  124. package/templates/commonproject/.gemini/commands/bmad-task-core-review-adversarial-general.toml +0 -12
  125. package/templates/commonproject/.gemini/commands/bmad-task-core-shard-doc.toml +0 -12
  126. package/templates/commonproject/.gemini/commands/bmad-task-core-workflow.toml +0 -12
  127. package/templates/commonproject/.gemini/commands/bmad-workflow-bmb-agent.toml +0 -4
  128. package/templates/commonproject/.gemini/commands/bmad-workflow-bmb-module.toml +0 -4
  129. package/templates/commonproject/.gemini/commands/bmad-workflow-bmb-workflow.toml +0 -4
  130. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-check-implementation-readiness.toml +0 -4
  131. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-code-review.toml +0 -12
  132. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-correct-course.toml +0 -12
  133. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-architecture.toml +0 -4
  134. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-epics-and-stories.toml +0 -4
  135. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-excalidraw-dataflow.toml +0 -12
  136. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-excalidraw-diagram.toml +0 -12
  137. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-excalidraw-flowchart.toml +0 -12
  138. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-excalidraw-wireframe.toml +0 -12
  139. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-product-brief.toml +0 -4
  140. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-story.toml +0 -12
  141. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-create-ux-design.toml +0 -4
  142. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-dev-story.toml +0 -12
  143. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-document-project.toml +0 -12
  144. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-generate-project-context.toml +0 -4
  145. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-prd.toml +0 -4
  146. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-quick-dev.toml +0 -4
  147. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-quick-spec.toml +0 -4
  148. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-research.toml +0 -4
  149. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-retrospective.toml +0 -12
  150. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-sprint-planning.toml +0 -12
  151. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-sprint-status.toml +0 -12
  152. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-atdd.toml +0 -12
  153. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-automate.toml +0 -12
  154. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-ci.toml +0 -12
  155. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-framework.toml +0 -12
  156. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-nfr.toml +0 -12
  157. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-test-design.toml +0 -12
  158. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-test-review.toml +0 -12
  159. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-testarch-trace.toml +0 -12
  160. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-workflow-init.toml +0 -12
  161. package/templates/commonproject/.gemini/commands/bmad-workflow-bmm-workflow-status.toml +0 -12
  162. package/templates/commonproject/.gemini/commands/bmad-workflow-cis-design-thinking.toml +0 -12
  163. package/templates/commonproject/.gemini/commands/bmad-workflow-cis-innovation-strategy.toml +0 -12
  164. package/templates/commonproject/.gemini/commands/bmad-workflow-cis-problem-solving.toml +0 -12
  165. package/templates/commonproject/.gemini/commands/bmad-workflow-cis-storytelling.toml +0 -12
  166. package/templates/commonproject/.gemini/commands/bmad-workflow-core-brainstorming.toml +0 -4
  167. package/templates/commonproject/.gemini/commands/bmad-workflow-core-party-mode.toml +0 -4
  168. package/templates/commonproject/.gemini/commands/bmad-workflow-custom-ticket-lifecycle.toml +0 -4
  169. package/templates/commonproject/.github/agents/bmd-custom-bmb-agent-builder.agent.md +0 -17
  170. package/templates/commonproject/.github/agents/bmd-custom-bmb-module-builder.agent.md +0 -17
  171. package/templates/commonproject/.github/agents/bmd-custom-bmb-workflow-builder.agent.md +0 -17
  172. package/templates/commonproject/.github/agents/bmd-custom-bmm-analyst.agent.md +0 -17
  173. package/templates/commonproject/.github/agents/bmd-custom-bmm-architect.agent.md +0 -17
  174. package/templates/commonproject/.github/agents/bmd-custom-bmm-dev.agent.md +0 -17
  175. package/templates/commonproject/.github/agents/bmd-custom-bmm-pm.agent.md +0 -17
  176. package/templates/commonproject/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md +0 -17
  177. package/templates/commonproject/.github/agents/bmd-custom-bmm-sm.agent.md +0 -17
  178. package/templates/commonproject/.github/agents/bmd-custom-bmm-tea.agent.md +0 -17
  179. package/templates/commonproject/.github/agents/bmd-custom-bmm-tech-writer.agent.md +0 -17
  180. package/templates/commonproject/.github/agents/bmd-custom-bmm-ux-designer.agent.md +0 -17
  181. package/templates/commonproject/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md +0 -17
  182. package/templates/commonproject/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md +0 -17
  183. package/templates/commonproject/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md +0 -17
  184. package/templates/commonproject/.github/agents/bmd-custom-cis-innovation-strategist.agent.md +0 -17
  185. package/templates/commonproject/.github/agents/bmd-custom-cis-presentation-master.agent.md +0 -17
  186. package/templates/commonproject/.github/agents/bmd-custom-cis-storyteller.agent.md +0 -17
  187. package/templates/commonproject/.github/agents/bmd-custom-core-bmad-master.agent.md +0 -17
  188. package/templates/commonproject/.mcp.json +0 -12
  189. package/templates/commonproject/.mise/scripts/claude +0 -13
  190. package/templates/commonproject/.mise/scripts/create-plane-project.sh +0 -149
  191. package/templates/commonproject/.mise/scripts/init-project.sh +0 -314
  192. package/templates/commonproject/.mise/scripts/link-agentfiles.sh +0 -9
  193. package/templates/commonproject/.opencode/agent/bmad-agent-bmb-agent-builder.md +0 -14
  194. package/templates/commonproject/.opencode/agent/bmad-agent-bmb-module-builder.md +0 -14
  195. package/templates/commonproject/.opencode/agent/bmad-agent-bmb-workflow-builder.md +0 -14
  196. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-analyst.md +0 -14
  197. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-architect.md +0 -14
  198. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-dev.md +0 -14
  199. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-pm.md +0 -14
  200. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md +0 -14
  201. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-sm.md +0 -14
  202. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-tea.md +0 -14
  203. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-tech-writer.md +0 -14
  204. package/templates/commonproject/.opencode/agent/bmad-agent-bmm-ux-designer.md +0 -14
  205. package/templates/commonproject/.opencode/agent/bmad-agent-cis-brainstorming-coach.md +0 -14
  206. package/templates/commonproject/.opencode/agent/bmad-agent-cis-creative-problem-solver.md +0 -14
  207. package/templates/commonproject/.opencode/agent/bmad-agent-cis-design-thinking-coach.md +0 -14
  208. package/templates/commonproject/.opencode/agent/bmad-agent-cis-innovation-strategist.md +0 -14
  209. package/templates/commonproject/.opencode/agent/bmad-agent-cis-presentation-master.md +0 -14
  210. package/templates/commonproject/.opencode/agent/bmad-agent-cis-storyteller.md +0 -14
  211. package/templates/commonproject/.opencode/agent/bmad-agent-core-bmad-master.md +0 -14
  212. package/templates/commonproject/.opencode/command/bmad-bmb-agent.md +0 -5
  213. package/templates/commonproject/.opencode/command/bmad-bmb-module.md +0 -5
  214. package/templates/commonproject/.opencode/command/bmad-bmb-workflow.md +0 -5
  215. package/templates/commonproject/.opencode/command/bmad-bmm-check-implementation-readiness.md +0 -5
  216. package/templates/commonproject/.opencode/command/bmad-bmm-code-review.md +0 -13
  217. package/templates/commonproject/.opencode/command/bmad-bmm-correct-course.md +0 -13
  218. package/templates/commonproject/.opencode/command/bmad-bmm-create-architecture.md +0 -5
  219. package/templates/commonproject/.opencode/command/bmad-bmm-create-epics-and-stories.md +0 -5
  220. package/templates/commonproject/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md +0 -13
  221. package/templates/commonproject/.opencode/command/bmad-bmm-create-excalidraw-diagram.md +0 -13
  222. package/templates/commonproject/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md +0 -13
  223. package/templates/commonproject/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md +0 -13
  224. package/templates/commonproject/.opencode/command/bmad-bmm-create-product-brief.md +0 -5
  225. package/templates/commonproject/.opencode/command/bmad-bmm-create-story.md +0 -13
  226. package/templates/commonproject/.opencode/command/bmad-bmm-create-ux-design.md +0 -5
  227. package/templates/commonproject/.opencode/command/bmad-bmm-dev-story.md +0 -13
  228. package/templates/commonproject/.opencode/command/bmad-bmm-document-project.md +0 -13
  229. package/templates/commonproject/.opencode/command/bmad-bmm-generate-project-context.md +0 -5
  230. package/templates/commonproject/.opencode/command/bmad-bmm-prd.md +0 -5
  231. package/templates/commonproject/.opencode/command/bmad-bmm-quick-dev.md +0 -5
  232. package/templates/commonproject/.opencode/command/bmad-bmm-quick-spec.md +0 -5
  233. package/templates/commonproject/.opencode/command/bmad-bmm-research.md +0 -5
  234. package/templates/commonproject/.opencode/command/bmad-bmm-retrospective.md +0 -13
  235. package/templates/commonproject/.opencode/command/bmad-bmm-sprint-planning.md +0 -13
  236. package/templates/commonproject/.opencode/command/bmad-bmm-sprint-status.md +0 -13
  237. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-atdd.md +0 -13
  238. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-automate.md +0 -13
  239. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-ci.md +0 -13
  240. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-framework.md +0 -13
  241. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-nfr.md +0 -13
  242. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-test-design.md +0 -13
  243. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-test-review.md +0 -13
  244. package/templates/commonproject/.opencode/command/bmad-bmm-testarch-trace.md +0 -13
  245. package/templates/commonproject/.opencode/command/bmad-bmm-workflow-init.md +0 -13
  246. package/templates/commonproject/.opencode/command/bmad-bmm-workflow-status.md +0 -13
  247. package/templates/commonproject/.opencode/command/bmad-cis-design-thinking.md +0 -13
  248. package/templates/commonproject/.opencode/command/bmad-cis-innovation-strategy.md +0 -13
  249. package/templates/commonproject/.opencode/command/bmad-cis-problem-solving.md +0 -13
  250. package/templates/commonproject/.opencode/command/bmad-cis-storytelling.md +0 -13
  251. package/templates/commonproject/.opencode/command/bmad-core-brainstorming.md +0 -5
  252. package/templates/commonproject/.opencode/command/bmad-core-party-mode.md +0 -5
  253. package/templates/commonproject/.opencode/command/bmad-custom-ticket-lifecycle.md +0 -5
  254. package/templates/commonproject/.opencode/command/bmad-task-core-index-docs.md +0 -9
  255. package/templates/commonproject/.opencode/command/bmad-task-core-shard-doc.md +0 -9
  256. package/templates/commonproject/.plane.json +0 -6
  257. package/templates/commonproject/.scripts/test-template.sh +0 -63
  258. package/templates/commonproject/AGENTS.md +0 -86
  259. package/templates/commonproject/README.md +0 -172
  260. package/templates/commonproject/_bmad/_config/agent-manifest.csv +0 -20
  261. package/templates/commonproject/_bmad/_config/agents/bmb-agent-builder.customize.yaml +0 -41
  262. package/templates/commonproject/_bmad/_config/agents/bmb-module-builder.customize.yaml +0 -41
  263. package/templates/commonproject/_bmad/_config/agents/bmb-workflow-builder.customize.yaml +0 -41
  264. package/templates/commonproject/_bmad/_config/agents/bmm-analyst.customize.yaml +0 -41
  265. package/templates/commonproject/_bmad/_config/agents/bmm-architect.customize.yaml +0 -41
  266. package/templates/commonproject/_bmad/_config/agents/bmm-dev.customize.yaml +0 -41
  267. package/templates/commonproject/_bmad/_config/agents/bmm-pm.customize.yaml +0 -41
  268. package/templates/commonproject/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +0 -41
  269. package/templates/commonproject/_bmad/_config/agents/bmm-sm.customize.yaml +0 -41
  270. package/templates/commonproject/_bmad/_config/agents/bmm-tea.customize.yaml +0 -41
  271. package/templates/commonproject/_bmad/_config/agents/bmm-tech-writer.customize.yaml +0 -41
  272. package/templates/commonproject/_bmad/_config/agents/bmm-ux-designer.customize.yaml +0 -41
  273. package/templates/commonproject/_bmad/_config/agents/cis-brainstorming-coach.customize.yaml +0 -41
  274. package/templates/commonproject/_bmad/_config/agents/cis-creative-problem-solver.customize.yaml +0 -41
  275. package/templates/commonproject/_bmad/_config/agents/cis-design-thinking-coach.customize.yaml +0 -41
  276. package/templates/commonproject/_bmad/_config/agents/cis-innovation-strategist.customize.yaml +0 -41
  277. package/templates/commonproject/_bmad/_config/agents/cis-presentation-master.customize.yaml +0 -41
  278. package/templates/commonproject/_bmad/_config/agents/cis-storyteller.customize.yaml +0 -41
  279. package/templates/commonproject/_bmad/_config/agents/core-bmad-master.customize.yaml +0 -41
  280. package/templates/commonproject/_bmad/_config/custom/cache-manifest.yaml +0 -4
  281. package/templates/commonproject/_bmad/_config/custom/custom/module.yaml +0 -8
  282. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/data/ac-sufficiency-rubric.md +0 -33
  283. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/data/audit-comment-template.md +0 -54
  284. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/data/event-schemas.md +0 -58
  285. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-01-init.md +0 -173
  286. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-02-triage.md +0 -159
  287. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-03-refine.md +0 -149
  288. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-04-implement.md +0 -147
  289. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-05-review.md +0 -146
  290. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-06-qa.md +0 -199
  291. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-c/step-07-complete.md +0 -141
  292. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-e/step-01-assess.md +0 -102
  293. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-e/step-02-apply.md +0 -85
  294. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/steps-v/step-01-validate.md +0 -154
  295. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/workflow-plan-ticket-lifecycle.md +0 -346
  296. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/workflow.md +0 -84
  297. package/templates/commonproject/_bmad/_config/custom/custom/workflows/ticket-lifecycle/workflow.yaml +0 -39
  298. package/templates/commonproject/_bmad/_config/files-manifest.csv +0 -483
  299. package/templates/commonproject/_bmad/_config/ides/claude-code.yaml +0 -6
  300. package/templates/commonproject/_bmad/_config/ides/codex.yaml +0 -5
  301. package/templates/commonproject/_bmad/_config/manifest.yaml +0 -18
  302. package/templates/commonproject/_bmad/_config/task-manifest.csv +0 -5
  303. package/templates/commonproject/_bmad/_config/tool-manifest.csv +0 -1
  304. package/templates/commonproject/_bmad/_config/workflow-manifest.csv +0 -43
  305. package/templates/commonproject/_bmad/_memory/config.yaml +0 -11
  306. package/templates/commonproject/_bmad/_memory/storyteller-sidecar/stories-told.md +0 -7
  307. package/templates/commonproject/_bmad/_memory/storyteller-sidecar/story-preferences.md +0 -7
  308. package/templates/commonproject/_bmad/bmb/README.md +0 -25
  309. package/templates/commonproject/_bmad/bmb/agents/agent-builder.md +0 -64
  310. package/templates/commonproject/_bmad/bmb/agents/module-builder.md +0 -65
  311. package/templates/commonproject/_bmad/bmb/agents/workflow-builder.md +0 -66
  312. package/templates/commonproject/_bmad/bmb/config.yaml +0 -12
  313. package/templates/commonproject/_bmad/bmb/workflows/agent/data/agent-compilation.md +0 -273
  314. package/templates/commonproject/_bmad/bmb/workflows/agent/data/agent-menu-patterns.md +0 -233
  315. package/templates/commonproject/_bmad/bmb/workflows/agent/data/agent-metadata.md +0 -208
  316. package/templates/commonproject/_bmad/bmb/workflows/agent/data/brainstorm-context.md +0 -146
  317. package/templates/commonproject/_bmad/bmb/workflows/agent/data/communication-presets.csv +0 -61
  318. package/templates/commonproject/_bmad/bmb/workflows/agent/data/critical-actions.md +0 -120
  319. package/templates/commonproject/_bmad/bmb/workflows/agent/data/expert-agent-architecture.md +0 -236
  320. package/templates/commonproject/_bmad/bmb/workflows/agent/data/expert-agent-validation.md +0 -174
  321. package/templates/commonproject/_bmad/bmb/workflows/agent/data/module-agent-validation.md +0 -126
  322. package/templates/commonproject/_bmad/bmb/workflows/agent/data/persona-properties.md +0 -266
  323. package/templates/commonproject/_bmad/bmb/workflows/agent/data/principles-crafting.md +0 -292
  324. package/templates/commonproject/_bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +0 -68
  325. package/templates/commonproject/_bmad/bmb/workflows/agent/data/simple-agent-architecture.md +0 -204
  326. package/templates/commonproject/_bmad/bmb/workflows/agent/data/simple-agent-validation.md +0 -133
  327. package/templates/commonproject/_bmad/bmb/workflows/agent/data/understanding-agent-types.md +0 -222
  328. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +0 -128
  329. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +0 -170
  330. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +0 -296
  331. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-04-persona.md +0 -212
  332. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +0 -178
  333. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-06-activation.md +0 -279
  334. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +0 -187
  335. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +0 -201
  336. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +0 -258
  337. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-c/step-08-celebrate.md +0 -249
  338. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +0 -221
  339. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +0 -193
  340. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-03-placeholder.md +0 -1
  341. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +0 -124
  342. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-05-persona.md +0 -134
  343. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +0 -122
  344. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-07-activation.md +0 -125
  345. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +0 -137
  346. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +0 -119
  347. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +0 -123
  348. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-e/e-09-celebrate.md +0 -155
  349. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +0 -136
  350. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +0 -116
  351. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +0 -124
  352. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +0 -145
  353. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +0 -136
  354. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +0 -136
  355. package/templates/commonproject/_bmad/bmb/workflows/agent/steps-v/v-03-summary.md +0 -104
  356. package/templates/commonproject/_bmad/bmb/workflows/agent/templates/agent-plan.template.md +0 -5
  357. package/templates/commonproject/_bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +0 -77
  358. package/templates/commonproject/_bmad/bmb/workflows/agent/templates/simple-agent.template.md +0 -72
  359. package/templates/commonproject/_bmad/bmb/workflows/agent/workflow.md +0 -123
  360. package/templates/commonproject/_bmad/bmb/workflows/module/data/agent-architecture.md +0 -179
  361. package/templates/commonproject/_bmad/bmb/workflows/module/data/agent-spec-template.md +0 -79
  362. package/templates/commonproject/_bmad/bmb/workflows/module/data/module-installer-standards.md +0 -348
  363. package/templates/commonproject/_bmad/bmb/workflows/module/data/module-standards.md +0 -280
  364. package/templates/commonproject/_bmad/bmb/workflows/module/data/module-yaml-conventions.md +0 -392
  365. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-01-welcome.md +0 -147
  366. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-02-spark.md +0 -140
  367. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-03-module-type.md +0 -148
  368. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-04-vision.md +0 -82
  369. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-05-identity.md +0 -96
  370. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-06-users.md +0 -85
  371. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-07-value.md +0 -75
  372. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-08-agents.md +0 -96
  373. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-09-workflows.md +0 -82
  374. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-10-tools.md +0 -90
  375. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-11-scenarios.md +0 -83
  376. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-12-creative.md +0 -94
  377. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-13-review.md +0 -104
  378. package/templates/commonproject/_bmad/bmb/workflows/module/steps-b/step-14-finalize.md +0 -117
  379. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-01-load-brief.md +0 -178
  380. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-01b-continue.md +0 -83
  381. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-02-structure.md +0 -109
  382. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-03-config.md +0 -118
  383. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-04-installer.md +0 -160
  384. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-05-agents.md +0 -167
  385. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-06-workflows.md +0 -183
  386. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-07-docs.md +0 -402
  387. package/templates/commonproject/_bmad/bmb/workflows/module/steps-c/step-08-complete.md +0 -123
  388. package/templates/commonproject/_bmad/bmb/workflows/module/steps-e/step-01-load-target.md +0 -81
  389. package/templates/commonproject/_bmad/bmb/workflows/module/steps-e/step-02-select-edit.md +0 -77
  390. package/templates/commonproject/_bmad/bmb/workflows/module/steps-e/step-03-apply-edit.md +0 -77
  391. package/templates/commonproject/_bmad/bmb/workflows/module/steps-e/step-04-review.md +0 -80
  392. package/templates/commonproject/_bmad/bmb/workflows/module/steps-e/step-05-confirm.md +0 -75
  393. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-01-load-target.md +0 -96
  394. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-02-file-structure.md +0 -94
  395. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-03-module-yaml.md +0 -99
  396. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-04-agent-specs.md +0 -152
  397. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-05-workflow-specs.md +0 -152
  398. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-06-documentation.md +0 -143
  399. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-07-installation.md +0 -113
  400. package/templates/commonproject/_bmad/bmb/workflows/module/steps-v/step-08-report.md +0 -197
  401. package/templates/commonproject/_bmad/bmb/workflows/module/templates/brief-template.md +0 -154
  402. package/templates/commonproject/_bmad/bmb/workflows/module/templates/workflow-spec-template.md +0 -96
  403. package/templates/commonproject/_bmad/bmb/workflows/module/workflow.md +0 -100
  404. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/architecture.md +0 -152
  405. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/common-workflow-tools.csv +0 -19
  406. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/csv-data-file-standards.md +0 -81
  407. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/frontmatter-standards.md +0 -225
  408. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/input-discovery-standards.md +0 -269
  409. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md +0 -50
  410. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/menu-handling-standards.md +0 -167
  411. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/output-format-standards.md +0 -188
  412. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/step-file-rules.md +0 -235
  413. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/step-type-patterns.md +0 -311
  414. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/subprocess-optimization-patterns.md +0 -386
  415. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/trimodal-workflow-structure.md +0 -209
  416. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/workflow-chaining-standards.md +0 -271
  417. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/workflow-examples.md +0 -276
  418. package/templates/commonproject/_bmad/bmb/workflows/workflow/data/workflow-type-criteria.md +0 -172
  419. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-00-conversion.md +0 -262
  420. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-01-discovery.md +0 -194
  421. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-01b-continuation.md +0 -3
  422. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-02-classification.md +0 -269
  423. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-03-requirements.md +0 -282
  424. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-04-tools.md +0 -281
  425. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-05-plan-review.md +0 -242
  426. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-06-design.md +0 -329
  427. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-07-foundation.md +0 -238
  428. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-08-build-step-01.md +0 -377
  429. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-09-build-next-step.md +0 -350
  430. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-10-confirmation.md +0 -320
  431. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-c/step-11-completion.md +0 -191
  432. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md +0 -237
  433. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md +0 -248
  434. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md +0 -252
  435. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md +0 -275
  436. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md +0 -154
  437. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-06-validate-after.md +0 -190
  438. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-e/step-e-07-complete.md +0 -206
  439. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md +0 -109
  440. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-01-validate.md +0 -221
  441. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-01b-structure.md +0 -152
  442. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md +0 -199
  443. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-02b-path-violations.md +0 -265
  444. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-03-menu-validation.md +0 -164
  445. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-04-step-type-validation.md +0 -211
  446. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-05-output-format-validation.md +0 -200
  447. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-06-validation-design-check.md +0 -195
  448. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md +0 -209
  449. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md +0 -199
  450. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md +0 -179
  451. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-09-cohesive-review.md +0 -186
  452. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-10-report-complete.md +0 -154
  453. package/templates/commonproject/_bmad/bmb/workflows/workflow/steps-v/step-11-plan-validation.md +0 -237
  454. package/templates/commonproject/_bmad/bmb/workflows/workflow/templates/minimal-output-template.md +0 -11
  455. package/templates/commonproject/_bmad/bmb/workflows/workflow/templates/step-01-init-continuable-template.md +0 -241
  456. package/templates/commonproject/_bmad/bmb/workflows/workflow/templates/step-1b-template.md +0 -223
  457. package/templates/commonproject/_bmad/bmb/workflows/workflow/templates/step-template.md +0 -290
  458. package/templates/commonproject/_bmad/bmb/workflows/workflow/templates/workflow-template.md +0 -102
  459. package/templates/commonproject/_bmad/bmb/workflows/workflow/workflow.md +0 -109
  460. package/templates/commonproject/_bmad/bmm/agents/analyst.md +0 -82
  461. package/templates/commonproject/_bmad/bmm/agents/architect.md +0 -74
  462. package/templates/commonproject/_bmad/bmm/agents/dev.md +0 -76
  463. package/templates/commonproject/_bmad/bmm/agents/pm.md +0 -78
  464. package/templates/commonproject/_bmad/bmm/agents/quick-flow-solo-dev.md +0 -74
  465. package/templates/commonproject/_bmad/bmm/agents/sm.md +0 -77
  466. package/templates/commonproject/_bmad/bmm/agents/tea.md +0 -77
  467. package/templates/commonproject/_bmad/bmm/agents/tech-writer.md +0 -78
  468. package/templates/commonproject/_bmad/bmm/agents/ux-designer.md +0 -74
  469. package/templates/commonproject/_bmad/bmm/config.yaml +0 -18
  470. package/templates/commonproject/_bmad/bmm/data/README.md +0 -29
  471. package/templates/commonproject/_bmad/bmm/data/documentation-standards.md +0 -262
  472. package/templates/commonproject/_bmad/bmm/data/project-context-template.md +0 -40
  473. package/templates/commonproject/_bmad/bmm/teams/default-party.csv +0 -21
  474. package/templates/commonproject/_bmad/bmm/teams/team-fullstack.yaml +0 -12
  475. package/templates/commonproject/_bmad/bmm/testarch/knowledge/api-request.md +0 -442
  476. package/templates/commonproject/_bmad/bmm/testarch/knowledge/api-testing-patterns.md +0 -843
  477. package/templates/commonproject/_bmad/bmm/testarch/knowledge/auth-session.md +0 -552
  478. package/templates/commonproject/_bmad/bmm/testarch/knowledge/burn-in.md +0 -273
  479. package/templates/commonproject/_bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  480. package/templates/commonproject/_bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
  481. package/templates/commonproject/_bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
  482. package/templates/commonproject/_bmad/bmm/testarch/knowledge/data-factories.md +0 -500
  483. package/templates/commonproject/_bmad/bmm/testarch/knowledge/email-auth.md +0 -721
  484. package/templates/commonproject/_bmad/bmm/testarch/knowledge/error-handling.md +0 -725
  485. package/templates/commonproject/_bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
  486. package/templates/commonproject/_bmad/bmm/testarch/knowledge/file-utils.md +0 -463
  487. package/templates/commonproject/_bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  488. package/templates/commonproject/_bmad/bmm/testarch/knowledge/fixtures-composition.md +0 -382
  489. package/templates/commonproject/_bmad/bmm/testarch/knowledge/intercept-network-call.md +0 -430
  490. package/templates/commonproject/_bmad/bmm/testarch/knowledge/log.md +0 -429
  491. package/templates/commonproject/_bmad/bmm/testarch/knowledge/network-error-monitor.md +0 -405
  492. package/templates/commonproject/_bmad/bmm/testarch/knowledge/network-first.md +0 -486
  493. package/templates/commonproject/_bmad/bmm/testarch/knowledge/network-recorder.md +0 -527
  494. package/templates/commonproject/_bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  495. package/templates/commonproject/_bmad/bmm/testarch/knowledge/overview.md +0 -286
  496. package/templates/commonproject/_bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
  497. package/templates/commonproject/_bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
  498. package/templates/commonproject/_bmad/bmm/testarch/knowledge/recurse.md +0 -421
  499. package/templates/commonproject/_bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
  500. package/templates/commonproject/_bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
  501. package/templates/commonproject/_bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
  502. package/templates/commonproject/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  503. package/templates/commonproject/_bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  504. package/templates/commonproject/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  505. package/templates/commonproject/_bmad/bmm/testarch/knowledge/test-quality.md +0 -664
  506. package/templates/commonproject/_bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
  507. package/templates/commonproject/_bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
  508. package/templates/commonproject/_bmad/bmm/testarch/tea-index.csv +0 -34
  509. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +0 -10
  510. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +0 -177
  511. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -161
  512. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +0 -199
  513. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +0 -202
  514. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +0 -205
  515. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +0 -219
  516. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -194
  517. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +0 -58
  518. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +0 -137
  519. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +0 -229
  520. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +0 -238
  521. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +0 -206
  522. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +0 -234
  523. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +0 -443
  524. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  525. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  526. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +0 -200
  527. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  528. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  529. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  530. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -475
  531. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/research.template.md +0 -29
  532. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +0 -137
  533. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +0 -239
  534. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +0 -248
  535. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +0 -202
  536. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +0 -239
  537. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +0 -486
  538. package/templates/commonproject/_bmad/bmm/workflows/1-analysis/research/workflow.md +0 -173
  539. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +0 -135
  540. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +0 -127
  541. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +0 -190
  542. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +0 -216
  543. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +0 -219
  544. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +0 -234
  545. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +0 -252
  546. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +0 -254
  547. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +0 -224
  548. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +0 -224
  549. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +0 -241
  550. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +0 -248
  551. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +0 -237
  552. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +0 -264
  553. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +0 -228
  554. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -13
  555. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +0 -43
  556. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +0 -13
  557. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +0 -197
  558. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +0 -11
  559. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +0 -191
  560. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +0 -153
  561. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +0 -224
  562. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +0 -226
  563. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +0 -213
  564. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +0 -207
  565. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +0 -226
  566. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +0 -237
  567. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +0 -228
  568. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +0 -231
  569. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +0 -242
  570. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +0 -217
  571. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +0 -180
  572. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +0 -247
  573. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -208
  574. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +0 -249
  575. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +0 -253
  576. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +0 -168
  577. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +0 -218
  578. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +0 -191
  579. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +0 -209
  580. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +0 -174
  581. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -214
  582. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -228
  583. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -217
  584. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -205
  585. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -243
  586. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -263
  587. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +0 -209
  588. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -264
  589. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -242
  590. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +0 -232
  591. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +0 -10
  592. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +0 -433
  593. package/templates/commonproject/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +0 -150
  594. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +0 -190
  595. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  596. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  597. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  598. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  599. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +0 -133
  600. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +0 -4
  601. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +0 -55
  602. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +0 -12
  603. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +0 -11
  604. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +0 -7
  605. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +0 -153
  606. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +0 -164
  607. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +0 -224
  608. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +0 -331
  609. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +0 -318
  610. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +0 -359
  611. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +0 -379
  612. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +0 -359
  613. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +0 -352
  614. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +0 -50
  615. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -259
  616. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +0 -233
  617. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +0 -272
  618. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +0 -145
  619. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +0 -57
  620. package/templates/commonproject/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +0 -59
  621. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
  622. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
  623. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -50
  624. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +0 -279
  625. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +0 -206
  626. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -58
  627. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +0 -358
  628. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +0 -345
  629. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/create-story/template.md +0 -49
  630. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -59
  631. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +0 -80
  632. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +0 -410
  633. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -25
  634. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1443
  635. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -57
  636. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -33
  637. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -225
  638. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -55
  639. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -52
  640. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +0 -229
  641. package/templates/commonproject/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -35
  642. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +0 -156
  643. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +0 -120
  644. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +0 -113
  645. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +0 -113
  646. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +0 -106
  647. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +0 -140
  648. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +0 -52
  649. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +0 -189
  650. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +0 -144
  651. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +0 -128
  652. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +0 -173
  653. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +0 -74
  654. package/templates/commonproject/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +0 -79
  655. package/templates/commonproject/_bmad/bmm/workflows/document-project/checklist.md +0 -245
  656. package/templates/commonproject/_bmad/bmm/workflows/document-project/documentation-requirements.csv +0 -12
  657. package/templates/commonproject/_bmad/bmm/workflows/document-project/instructions.md +0 -221
  658. package/templates/commonproject/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +0 -345
  659. package/templates/commonproject/_bmad/bmm/workflows/document-project/templates/index-template.md +0 -169
  660. package/templates/commonproject/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +0 -103
  661. package/templates/commonproject/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  662. package/templates/commonproject/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +0 -135
  663. package/templates/commonproject/_bmad/bmm/workflows/document-project/workflow.yaml +0 -28
  664. package/templates/commonproject/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  665. package/templates/commonproject/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  666. package/templates/commonproject/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  667. package/templates/commonproject/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  668. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +0 -90
  669. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +0 -127
  670. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +0 -39
  671. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +0 -130
  672. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +0 -26
  673. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +0 -43
  674. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +0 -141
  675. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +0 -26
  676. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +0 -49
  677. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +0 -241
  678. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +0 -26
  679. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +0 -38
  680. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +0 -133
  681. package/templates/commonproject/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +0 -26
  682. package/templates/commonproject/_bmad/bmm/workflows/generate-project-context/project-context-template.md +0 -21
  683. package/templates/commonproject/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +0 -184
  684. package/templates/commonproject/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +0 -318
  685. package/templates/commonproject/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +0 -278
  686. package/templates/commonproject/_bmad/bmm/workflows/generate-project-context/workflow.md +0 -49
  687. package/templates/commonproject/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -364
  688. package/templates/commonproject/_bmad/bmm/workflows/testarch/atdd/checklist.md +0 -374
  689. package/templates/commonproject/_bmad/bmm/workflows/testarch/atdd/instructions.md +0 -806
  690. package/templates/commonproject/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -45
  691. package/templates/commonproject/_bmad/bmm/workflows/testarch/automate/checklist.md +0 -582
  692. package/templates/commonproject/_bmad/bmm/workflows/testarch/automate/instructions.md +0 -1324
  693. package/templates/commonproject/_bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -52
  694. package/templates/commonproject/_bmad/bmm/workflows/testarch/ci/checklist.md +0 -248
  695. package/templates/commonproject/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -198
  696. package/templates/commonproject/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -149
  697. package/templates/commonproject/_bmad/bmm/workflows/testarch/ci/instructions.md +0 -536
  698. package/templates/commonproject/_bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -45
  699. package/templates/commonproject/_bmad/bmm/workflows/testarch/framework/checklist.md +0 -321
  700. package/templates/commonproject/_bmad/bmm/workflows/testarch/framework/instructions.md +0 -481
  701. package/templates/commonproject/_bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -47
  702. package/templates/commonproject/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -407
  703. package/templates/commonproject/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
  704. package/templates/commonproject/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -445
  705. package/templates/commonproject/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -47
  706. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-design/checklist.md +0 -235
  707. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-design/instructions.md +0 -788
  708. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -294
  709. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -54
  710. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-review/checklist.md +0 -472
  711. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-review/instructions.md +0 -628
  712. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -390
  713. package/templates/commonproject/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -46
  714. package/templates/commonproject/_bmad/bmm/workflows/testarch/trace/checklist.md +0 -655
  715. package/templates/commonproject/_bmad/bmm/workflows/testarch/trace/instructions.md +0 -1047
  716. package/templates/commonproject/_bmad/bmm/workflows/testarch/trace/trace-template.md +0 -675
  717. package/templates/commonproject/_bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -55
  718. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/init/instructions.md +0 -346
  719. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/init/workflow.yaml +0 -29
  720. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/instructions.md +0 -395
  721. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -103
  722. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -100
  723. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -103
  724. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -100
  725. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/project-levels.yaml +0 -59
  726. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -24
  727. package/templates/commonproject/_bmad/bmm/workflows/workflow-status/workflow.yaml +0 -30
  728. package/templates/commonproject/_bmad/cis/agents/brainstorming-coach.md +0 -66
  729. package/templates/commonproject/_bmad/cis/agents/creative-problem-solver.md +0 -66
  730. package/templates/commonproject/_bmad/cis/agents/design-thinking-coach.md +0 -66
  731. package/templates/commonproject/_bmad/cis/agents/innovation-strategist.md +0 -66
  732. package/templates/commonproject/_bmad/cis/agents/presentation-master.md +0 -72
  733. package/templates/commonproject/_bmad/cis/agents/storyteller/storyteller.md +0 -63
  734. package/templates/commonproject/_bmad/cis/config.yaml +0 -11
  735. package/templates/commonproject/_bmad/cis/teams/creative-squad.yaml +0 -7
  736. package/templates/commonproject/_bmad/cis/teams/default-party.csv +0 -12
  737. package/templates/commonproject/_bmad/cis/workflows/README.md +0 -139
  738. package/templates/commonproject/_bmad/cis/workflows/design-thinking/README.md +0 -56
  739. package/templates/commonproject/_bmad/cis/workflows/design-thinking/design-methods.csv +0 -31
  740. package/templates/commonproject/_bmad/cis/workflows/design-thinking/instructions.md +0 -202
  741. package/templates/commonproject/_bmad/cis/workflows/design-thinking/template.md +0 -111
  742. package/templates/commonproject/_bmad/cis/workflows/design-thinking/workflow.yaml +0 -27
  743. package/templates/commonproject/_bmad/cis/workflows/innovation-strategy/README.md +0 -56
  744. package/templates/commonproject/_bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +0 -31
  745. package/templates/commonproject/_bmad/cis/workflows/innovation-strategy/instructions.md +0 -276
  746. package/templates/commonproject/_bmad/cis/workflows/innovation-strategy/template.md +0 -189
  747. package/templates/commonproject/_bmad/cis/workflows/innovation-strategy/workflow.yaml +0 -27
  748. package/templates/commonproject/_bmad/cis/workflows/problem-solving/README.md +0 -56
  749. package/templates/commonproject/_bmad/cis/workflows/problem-solving/instructions.md +0 -252
  750. package/templates/commonproject/_bmad/cis/workflows/problem-solving/solving-methods.csv +0 -31
  751. package/templates/commonproject/_bmad/cis/workflows/problem-solving/template.md +0 -165
  752. package/templates/commonproject/_bmad/cis/workflows/problem-solving/workflow.yaml +0 -27
  753. package/templates/commonproject/_bmad/cis/workflows/storytelling/README.md +0 -58
  754. package/templates/commonproject/_bmad/cis/workflows/storytelling/instructions.md +0 -293
  755. package/templates/commonproject/_bmad/cis/workflows/storytelling/story-types.csv +0 -26
  756. package/templates/commonproject/_bmad/cis/workflows/storytelling/template.md +0 -113
  757. package/templates/commonproject/_bmad/cis/workflows/storytelling/workflow.yaml +0 -27
  758. package/templates/commonproject/_bmad/core/agents/bmad-master.md +0 -63
  759. package/templates/commonproject/_bmad/core/config.yaml +0 -9
  760. package/templates/commonproject/_bmad/core/resources/excalidraw/README.md +0 -160
  761. package/templates/commonproject/_bmad/core/resources/excalidraw/excalidraw-helpers.md +0 -127
  762. package/templates/commonproject/_bmad/core/resources/excalidraw/library-loader.md +0 -50
  763. package/templates/commonproject/_bmad/core/resources/excalidraw/validate-json-instructions.md +0 -79
  764. package/templates/commonproject/_bmad/core/tasks/index-docs.xml +0 -65
  765. package/templates/commonproject/_bmad/core/tasks/review-adversarial-general.xml +0 -41
  766. package/templates/commonproject/_bmad/core/tasks/shard-doc.xml +0 -109
  767. package/templates/commonproject/_bmad/core/tasks/workflow.xml +0 -235
  768. package/templates/commonproject/_bmad/core/workflows/advanced-elicitation/methods.csv +0 -51
  769. package/templates/commonproject/_bmad/core/workflows/advanced-elicitation/workflow.xml +0 -117
  770. package/templates/commonproject/_bmad/core/workflows/brainstorming/brain-methods.csv +0 -62
  771. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +0 -197
  772. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +0 -122
  773. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +0 -225
  774. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +0 -237
  775. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +0 -209
  776. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +0 -264
  777. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +0 -399
  778. package/templates/commonproject/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +0 -303
  779. package/templates/commonproject/_bmad/core/workflows/brainstorming/template.md +0 -15
  780. package/templates/commonproject/_bmad/core/workflows/brainstorming/workflow.md +0 -58
  781. package/templates/commonproject/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +0 -139
  782. package/templates/commonproject/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +0 -204
  783. package/templates/commonproject/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -159
  784. package/templates/commonproject/_bmad/core/workflows/party-mode/workflow.md +0 -206
  785. package/templates/commonproject/_bmad/custom/config.yaml +0 -11
  786. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/data/ac-sufficiency-rubric.md +0 -33
  787. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/data/audit-comment-template.md +0 -54
  788. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/data/event-schemas.md +0 -58
  789. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-01-init.md +0 -173
  790. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-02-triage.md +0 -159
  791. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-03-refine.md +0 -149
  792. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-04-implement.md +0 -147
  793. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-05-review.md +0 -146
  794. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-06-qa.md +0 -199
  795. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-c/step-07-complete.md +0 -141
  796. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-e/step-01-assess.md +0 -102
  797. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-e/step-02-apply.md +0 -85
  798. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/steps-v/step-01-validate.md +0 -154
  799. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/workflow-plan-ticket-lifecycle.md +0 -346
  800. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/workflow.md +0 -84
  801. package/templates/commonproject/_bmad/custom/workflows/ticket-lifecycle/workflow.yaml +0 -39
  802. package/templates/commonproject/mise.toml +0 -38
  803. package/templates/hermes-agent/.codegraph/daemon.pid +0 -6
  804. package/templates/hermes-agent/.omo/run-continuation/ses_0e5b28303ffeXxL53hZjKggXDW.json +0 -10
  805. package/templates/hermes-agent/README.md +0 -151
  806. package/templates/hermes-agent/config.example.toml +0 -1
  807. package/templates/hermes-agent/docs/architecture.md +0 -111
  808. package/templates/hermes-agent/docs/fleet-control-plane/README.md +0 -35
  809. package/templates/hermes-agent/docs/fleet-control-plane/architecture.md +0 -253
  810. package/templates/hermes-agent/docs/fleet-control-plane/epics-and-stories.md +0 -280
  811. package/templates/hermes-agent/docs/fleet-control-plane/implementation-readiness-report-2026-06-27.md +0 -118
  812. package/templates/hermes-agent/docs/fleet-control-plane/prd.md +0 -141
  813. package/templates/hermes-agent/docs/operations.md +0 -237
  814. package/templates/hermes-agent/docs/runbooks/runtime-checkpoint-repair.md +0 -171
  815. package/templates/hermes-agent/docs/sentinel/README.md +0 -119
  816. package/templates/hermes-agent/docs/sentinel/architecture.md +0 -204
  817. package/templates/hermes-agent/docs/sentinel/development.md +0 -277
  818. package/templates/hermes-agent/docs/sentinel/providers.md +0 -203
  819. package/templates/hermes-agent/docs/sentinel.md +0 -18
  820. package/templates/hermes-agent/install-local.sh +0 -216
  821. package/templates/hermes-agent/runtime-scaffold/.gitattributes +0 -10
  822. package/templates/hermes-agent/runtime-scaffold/README.md +0 -53
  823. package/templates/hermes-agent/runtime-scaffold/bloodbank-consumer.py +0 -181
  824. package/templates/hermes-agent/runtime-scaffold/decisions/.gitkeep +0 -2
  825. package/templates/hermes-agent/runtime-scaffold/logs/.gitkeep +0 -1
  826. package/templates/hermes-agent/runtime-scaffold/memories/MEMORY.md +0 -47
  827. package/templates/hermes-agent/runtime-scaffold/memories/USER.md +0 -51
  828. package/templates/hermes-agent/scripts/backfill-fleet-sot.sh +0 -270
  829. package/templates/hermes-agent/scripts/fleet-sync.sh +0 -369
  830. package/templates/hermes-agent/scripts/migrate-unify.sh +0 -252
  831. package/templates/hermes-agent/scripts/repair-runtime-checkpoint.sh +0 -122
  832. package/templates/hermes-agent/scripts/retrofit-70-envfile.sh +0 -129
  833. package/templates/hermes-agent/scripts/unify-pm.sh +0 -148
  834. package/templates/hermes-agent/template/.runtime-scaffold/bloodbank-consumer.py +0 -181
  835. package/templates/hermes-agent/tests/test_bloodbank_consumer_contract.py +0 -138
@@ -1,670 +0,0 @@
1
- # Non-Functional Requirements (NFR) Criteria
2
-
3
- ## Principle
4
-
5
- Non-functional requirements (security, performance, reliability, maintainability) are **validated through automated tests**, not checklists. NFR assessment uses objective pass/fail criteria tied to measurable thresholds. Ambiguous requirements default to CONCERNS until clarified.
6
-
7
- ## Rationale
8
-
9
- **The Problem**: Teams ship features that "work" functionally but fail under load, expose security vulnerabilities, or lack error recovery. NFRs are treated as optional "nice-to-haves" instead of release blockers.
10
-
11
- **The Solution**: Define explicit NFR criteria with automated validation. Security tests verify auth/authz and secret handling. Performance tests enforce SLO/SLA thresholds with profiling evidence. Reliability tests validate error handling, retries, and health checks. Maintainability is measured by test coverage, code duplication, and observability.
12
-
13
- **Why This Matters**:
14
-
15
- - Prevents production incidents (security breaches, performance degradation, cascading failures)
16
- - Provides objective release criteria (no subjective "feels fast enough")
17
- - Automates compliance validation (audit trail for regulated environments)
18
- - Forces clarity on ambiguous requirements (default to CONCERNS)
19
-
20
- ## Pattern Examples
21
-
22
- ### Example 1: Security NFR Validation (Auth, Secrets, OWASP)
23
-
24
- **Context**: Automated security tests enforcing authentication, authorization, and secret handling
25
-
26
- **Implementation**:
27
-
28
- ```typescript
29
- // tests/nfr/security.spec.ts
30
- import { test, expect } from '@playwright/test';
31
-
32
- test.describe('Security NFR: Authentication & Authorization', () => {
33
- test('unauthenticated users cannot access protected routes', async ({ page }) => {
34
- // Attempt to access dashboard without auth
35
- await page.goto('/dashboard');
36
-
37
- // Should redirect to login (not expose data)
38
- await expect(page).toHaveURL(/\/login/);
39
- await expect(page.getByText('Please sign in')).toBeVisible();
40
-
41
- // Verify no sensitive data leaked in response
42
- const pageContent = await page.content();
43
- expect(pageContent).not.toContain('user_id');
44
- expect(pageContent).not.toContain('api_key');
45
- });
46
-
47
- test('JWT tokens expire after 15 minutes', async ({ page, request }) => {
48
- // Login and capture token
49
- await page.goto('/login');
50
- await page.getByLabel('Email').fill('test@example.com');
51
- await page.getByLabel('Password').fill('ValidPass123!');
52
- await page.getByRole('button', { name: 'Sign In' }).click();
53
-
54
- const token = await page.evaluate(() => localStorage.getItem('auth_token'));
55
- expect(token).toBeTruthy();
56
-
57
- // Wait 16 minutes (use mock clock in real tests)
58
- await page.clock.fastForward('00:16:00');
59
-
60
- // Token should be expired, API call should fail
61
- const response = await request.get('/api/user/profile', {
62
- headers: { Authorization: `Bearer ${token}` },
63
- });
64
-
65
- expect(response.status()).toBe(401);
66
- const body = await response.json();
67
- expect(body.error).toContain('expired');
68
- });
69
-
70
- test('passwords are never logged or exposed in errors', async ({ page }) => {
71
- // Trigger login error
72
- await page.goto('/login');
73
- await page.getByLabel('Email').fill('test@example.com');
74
- await page.getByLabel('Password').fill('WrongPassword123!');
75
-
76
- // Monitor console for password leaks
77
- const consoleLogs: string[] = [];
78
- page.on('console', (msg) => consoleLogs.push(msg.text()));
79
-
80
- await page.getByRole('button', { name: 'Sign In' }).click();
81
-
82
- // Error shown to user (generic message)
83
- await expect(page.getByText('Invalid credentials')).toBeVisible();
84
-
85
- // Verify password NEVER appears in console, DOM, or network
86
- const pageContent = await page.content();
87
- expect(pageContent).not.toContain('WrongPassword123!');
88
- expect(consoleLogs.join('\n')).not.toContain('WrongPassword123!');
89
- });
90
-
91
- test('RBAC: users can only access resources they own', async ({ page, request }) => {
92
- // Login as User A
93
- const userAToken = await login(request, 'userA@example.com', 'password');
94
-
95
- // Try to access User B's order
96
- const response = await request.get('/api/orders/user-b-order-id', {
97
- headers: { Authorization: `Bearer ${userAToken}` },
98
- });
99
-
100
- expect(response.status()).toBe(403); // Forbidden
101
- const body = await response.json();
102
- expect(body.error).toContain('insufficient permissions');
103
- });
104
-
105
- test('SQL injection attempts are blocked', async ({ page }) => {
106
- await page.goto('/search');
107
-
108
- // Attempt SQL injection
109
- await page.getByPlaceholder('Search products').fill("'; DROP TABLE users; --");
110
- await page.getByRole('button', { name: 'Search' }).click();
111
-
112
- // Should return empty results, NOT crash or expose error
113
- await expect(page.getByText('No results found')).toBeVisible();
114
-
115
- // Verify app still works (table not dropped)
116
- await page.goto('/dashboard');
117
- await expect(page.getByText('Welcome')).toBeVisible();
118
- });
119
-
120
- test('XSS attempts are sanitized', async ({ page }) => {
121
- await page.goto('/profile/edit');
122
-
123
- // Attempt XSS injection
124
- const xssPayload = '<script>alert("XSS")</script>';
125
- await page.getByLabel('Bio').fill(xssPayload);
126
- await page.getByRole('button', { name: 'Save' }).click();
127
-
128
- // Reload and verify XSS is escaped (not executed)
129
- await page.reload();
130
- const bio = await page.getByTestId('user-bio').textContent();
131
-
132
- // Text should be escaped, script should NOT execute
133
- expect(bio).toContain('&lt;script&gt;');
134
- expect(bio).not.toContain('<script>');
135
- });
136
- });
137
-
138
- // Helper
139
- async function login(request: any, email: string, password: string): Promise<string> {
140
- const response = await request.post('/api/auth/login', {
141
- data: { email, password },
142
- });
143
- const body = await response.json();
144
- return body.token;
145
- }
146
- ```
147
-
148
- **Key Points**:
149
-
150
- - Authentication: Unauthenticated access redirected (not exposed)
151
- - Authorization: RBAC enforced (403 for insufficient permissions)
152
- - Token expiry: JWT expires after 15 minutes (automated validation)
153
- - Secret handling: Passwords never logged or exposed in errors
154
- - OWASP Top 10: SQL injection and XSS blocked (input sanitization)
155
-
156
- **Security NFR Criteria**:
157
-
158
- - ✅ PASS: All 6 tests green (auth, authz, token expiry, secret handling, SQL injection, XSS)
159
- - ⚠️ CONCERNS: 1-2 tests failing with mitigation plan and owner assigned
160
- - ❌ FAIL: Critical exposure (unauthenticated access, password leak, SQL injection succeeds)
161
-
162
- ---
163
-
164
- ### Example 2: Performance NFR Validation (k6 Load Testing for SLO/SLA)
165
-
166
- **Context**: Use k6 for load testing, stress testing, and SLO/SLA enforcement (NOT Playwright)
167
-
168
- **Implementation**:
169
-
170
- ```javascript
171
- // tests/nfr/performance.k6.js
172
- import http from 'k6/http';
173
- import { check, sleep } from 'k6';
174
- import { Rate, Trend } from 'k6/metrics';
175
-
176
- // Custom metrics
177
- const errorRate = new Rate('errors');
178
- const apiDuration = new Trend('api_duration');
179
-
180
- // Performance thresholds (SLO/SLA)
181
- export const options = {
182
- stages: [
183
- { duration: '1m', target: 50 }, // Ramp up to 50 users
184
- { duration: '3m', target: 50 }, // Stay at 50 users for 3 minutes
185
- { duration: '1m', target: 100 }, // Spike to 100 users
186
- { duration: '3m', target: 100 }, // Stay at 100 users
187
- { duration: '1m', target: 0 }, // Ramp down
188
- ],
189
- thresholds: {
190
- // SLO: 95% of requests must complete in <500ms
191
- http_req_duration: ['p(95)<500'],
192
- // SLO: Error rate must be <1%
193
- errors: ['rate<0.01'],
194
- // SLA: API endpoints must respond in <1s (99th percentile)
195
- api_duration: ['p(99)<1000'],
196
- },
197
- };
198
-
199
- export default function () {
200
- // Test 1: Homepage load performance
201
- const homepageResponse = http.get(`${__ENV.BASE_URL}/`);
202
- check(homepageResponse, {
203
- 'homepage status is 200': (r) => r.status === 200,
204
- 'homepage loads in <2s': (r) => r.timings.duration < 2000,
205
- });
206
- errorRate.add(homepageResponse.status !== 200);
207
-
208
- // Test 2: API endpoint performance
209
- const apiResponse = http.get(`${__ENV.BASE_URL}/api/products?limit=10`, {
210
- headers: { Authorization: `Bearer ${__ENV.API_TOKEN}` },
211
- });
212
- check(apiResponse, {
213
- 'API status is 200': (r) => r.status === 200,
214
- 'API responds in <500ms': (r) => r.timings.duration < 500,
215
- });
216
- apiDuration.add(apiResponse.timings.duration);
217
- errorRate.add(apiResponse.status !== 200);
218
-
219
- // Test 3: Search endpoint under load
220
- const searchResponse = http.get(`${__ENV.BASE_URL}/api/search?q=laptop&limit=100`);
221
- check(searchResponse, {
222
- 'search status is 200': (r) => r.status === 200,
223
- 'search responds in <1s': (r) => r.timings.duration < 1000,
224
- 'search returns results': (r) => JSON.parse(r.body).results.length > 0,
225
- });
226
- errorRate.add(searchResponse.status !== 200);
227
-
228
- sleep(1); // Realistic user think time
229
- }
230
-
231
- // Threshold validation (run after test)
232
- export function handleSummary(data) {
233
- const p95Duration = data.metrics.http_req_duration.values['p(95)'];
234
- const p99ApiDuration = data.metrics.api_duration.values['p(99)'];
235
- const errorRateValue = data.metrics.errors.values.rate;
236
-
237
- console.log(`P95 request duration: ${p95Duration.toFixed(2)}ms`);
238
- console.log(`P99 API duration: ${p99ApiDuration.toFixed(2)}ms`);
239
- console.log(`Error rate: ${(errorRateValue * 100).toFixed(2)}%`);
240
-
241
- return {
242
- 'summary.json': JSON.stringify(data),
243
- stdout: `
244
- Performance NFR Results:
245
- - P95 request duration: ${p95Duration < 500 ? '✅ PASS' : '❌ FAIL'} (${p95Duration.toFixed(2)}ms / 500ms threshold)
246
- - P99 API duration: ${p99ApiDuration < 1000 ? '✅ PASS' : '❌ FAIL'} (${p99ApiDuration.toFixed(2)}ms / 1000ms threshold)
247
- - Error rate: ${errorRateValue < 0.01 ? '✅ PASS' : '❌ FAIL'} (${(errorRateValue * 100).toFixed(2)}% / 1% threshold)
248
- `,
249
- };
250
- }
251
- ```
252
-
253
- **Run k6 tests:**
254
-
255
- ```bash
256
- # Local smoke test (10 VUs, 30s)
257
- k6 run --vus 10 --duration 30s tests/nfr/performance.k6.js
258
-
259
- # Full load test (stages defined in script)
260
- k6 run tests/nfr/performance.k6.js
261
-
262
- # CI integration with thresholds
263
- k6 run --out json=performance-results.json tests/nfr/performance.k6.js
264
- ```
265
-
266
- **Key Points**:
267
-
268
- - **k6 is the right tool** for load testing (NOT Playwright)
269
- - SLO/SLA thresholds enforced automatically (`p(95)<500`, `rate<0.01`)
270
- - Realistic load simulation (ramp up, sustained load, spike testing)
271
- - Comprehensive metrics (p50, p95, p99, error rate, throughput)
272
- - CI-friendly (JSON output, exit codes based on thresholds)
273
-
274
- **Performance NFR Criteria**:
275
-
276
- - ✅ PASS: All SLO/SLA targets met with k6 profiling evidence (p95 < 500ms, error rate < 1%)
277
- - ⚠️ CONCERNS: Trending toward limits (e.g., p95 = 480ms approaching 500ms) or missing baselines
278
- - ❌ FAIL: SLO/SLA breached (e.g., p95 > 500ms) or error rate > 1%
279
-
280
- **Performance Testing Levels (from Test Architect course):**
281
-
282
- - **Load testing**: System behavior under expected load
283
- - **Stress testing**: System behavior under extreme load (breaking point)
284
- - **Spike testing**: Sudden load increases (traffic spikes)
285
- - **Endurance/Soak testing**: System behavior under sustained load (memory leaks, resource exhaustion)
286
- - **Benchmarking**: Baseline measurements for comparison
287
-
288
- **Note**: Playwright can validate **perceived performance** (Core Web Vitals via Lighthouse), but k6 validates **system performance** (throughput, latency, resource limits under load)
289
-
290
- ---
291
-
292
- ### Example 3: Reliability NFR Validation (Playwright for UI Resilience)
293
-
294
- **Context**: Automated reliability tests validating graceful degradation and recovery paths
295
-
296
- **Implementation**:
297
-
298
- ```typescript
299
- // tests/nfr/reliability.spec.ts
300
- import { test, expect } from '@playwright/test';
301
-
302
- test.describe('Reliability NFR: Error Handling & Recovery', () => {
303
- test('app remains functional when API returns 500 error', async ({ page, context }) => {
304
- // Mock API failure
305
- await context.route('**/api/products', (route) => {
306
- route.fulfill({ status: 500, body: JSON.stringify({ error: 'Internal Server Error' }) });
307
- });
308
-
309
- await page.goto('/products');
310
-
311
- // User sees error message (not blank page or crash)
312
- await expect(page.getByText('Unable to load products. Please try again.')).toBeVisible();
313
- await expect(page.getByRole('button', { name: 'Retry' })).toBeVisible();
314
-
315
- // App navigation still works (graceful degradation)
316
- await page.getByRole('link', { name: 'Home' }).click();
317
- await expect(page).toHaveURL('/');
318
- });
319
-
320
- test('API client retries on transient failures (3 attempts)', async ({ page, context }) => {
321
- let attemptCount = 0;
322
-
323
- await context.route('**/api/checkout', (route) => {
324
- attemptCount++;
325
-
326
- // Fail first 2 attempts, succeed on 3rd
327
- if (attemptCount < 3) {
328
- route.fulfill({ status: 503, body: JSON.stringify({ error: 'Service Unavailable' }) });
329
- } else {
330
- route.fulfill({ status: 200, body: JSON.stringify({ orderId: '12345' }) });
331
- }
332
- });
333
-
334
- await page.goto('/checkout');
335
- await page.getByRole('button', { name: 'Place Order' }).click();
336
-
337
- // Should succeed after 3 attempts
338
- await expect(page.getByText('Order placed successfully')).toBeVisible();
339
- expect(attemptCount).toBe(3);
340
- });
341
-
342
- test('app handles network disconnection gracefully', async ({ page, context }) => {
343
- await page.goto('/dashboard');
344
-
345
- // Simulate offline mode
346
- await context.setOffline(true);
347
-
348
- // Trigger action requiring network
349
- await page.getByRole('button', { name: 'Refresh Data' }).click();
350
-
351
- // User sees offline indicator (not crash)
352
- await expect(page.getByText('You are offline. Changes will sync when reconnected.')).toBeVisible();
353
-
354
- // Reconnect
355
- await context.setOffline(false);
356
- await page.getByRole('button', { name: 'Refresh Data' }).click();
357
-
358
- // Data loads successfully
359
- await expect(page.getByText('Data updated')).toBeVisible();
360
- });
361
-
362
- test('health check endpoint returns service status', async ({ request }) => {
363
- const response = await request.get('/api/health');
364
-
365
- expect(response.status()).toBe(200);
366
-
367
- const health = await response.json();
368
- expect(health).toHaveProperty('status', 'healthy');
369
- expect(health).toHaveProperty('timestamp');
370
- expect(health).toHaveProperty('services');
371
-
372
- // Verify critical services are monitored
373
- expect(health.services).toHaveProperty('database');
374
- expect(health.services).toHaveProperty('cache');
375
- expect(health.services).toHaveProperty('queue');
376
-
377
- // All services should be UP
378
- expect(health.services.database.status).toBe('UP');
379
- expect(health.services.cache.status).toBe('UP');
380
- expect(health.services.queue.status).toBe('UP');
381
- });
382
-
383
- test('circuit breaker opens after 5 consecutive failures', async ({ page, context }) => {
384
- let failureCount = 0;
385
-
386
- await context.route('**/api/recommendations', (route) => {
387
- failureCount++;
388
- route.fulfill({ status: 500, body: JSON.stringify({ error: 'Service Error' }) });
389
- });
390
-
391
- await page.goto('/product/123');
392
-
393
- // Wait for circuit breaker to open (fallback UI appears)
394
- await expect(page.getByText('Recommendations temporarily unavailable')).toBeVisible({ timeout: 10000 });
395
-
396
- // Verify circuit breaker stopped making requests after threshold (should be ≤5)
397
- expect(failureCount).toBeLessThanOrEqual(5);
398
- });
399
-
400
- test('rate limiting gracefully handles 429 responses', async ({ page, context }) => {
401
- let requestCount = 0;
402
-
403
- await context.route('**/api/search', (route) => {
404
- requestCount++;
405
-
406
- if (requestCount > 10) {
407
- // Rate limit exceeded
408
- route.fulfill({
409
- status: 429,
410
- headers: { 'Retry-After': '5' },
411
- body: JSON.stringify({ error: 'Rate limit exceeded' }),
412
- });
413
- } else {
414
- route.fulfill({ status: 200, body: JSON.stringify({ results: [] }) });
415
- }
416
- });
417
-
418
- await page.goto('/search');
419
-
420
- // Make 15 search requests rapidly
421
- for (let i = 0; i < 15; i++) {
422
- await page.getByPlaceholder('Search').fill(`query-${i}`);
423
- await page.getByRole('button', { name: 'Search' }).click();
424
- }
425
-
426
- // User sees rate limit message (not crash)
427
- await expect(page.getByText('Too many requests. Please wait a moment.')).toBeVisible();
428
- });
429
- });
430
- ```
431
-
432
- **Key Points**:
433
-
434
- - Error handling: Graceful degradation (500 error → user-friendly message + retry button)
435
- - Retries: 3 attempts on transient failures (503 → eventual success)
436
- - Offline handling: Network disconnection detected (sync when reconnected)
437
- - Health checks: `/api/health` monitors database, cache, queue
438
- - Circuit breaker: Opens after 5 failures (fallback UI, stop retries)
439
- - Rate limiting: 429 response handled (Retry-After header respected)
440
-
441
- **Reliability NFR Criteria**:
442
-
443
- - ✅ PASS: Error handling, retries, health checks verified (all 6 tests green)
444
- - ⚠️ CONCERNS: Partial coverage (e.g., missing circuit breaker) or no telemetry
445
- - ❌ FAIL: No recovery path (500 error crashes app) or unresolved crash scenarios
446
-
447
- ---
448
-
449
- ### Example 4: Maintainability NFR Validation (CI Tools, Not Playwright)
450
-
451
- **Context**: Use proper CI tools for code quality validation (coverage, duplication, vulnerabilities)
452
-
453
- **Implementation**:
454
-
455
- ```yaml
456
- # .github/workflows/nfr-maintainability.yml
457
- name: NFR - Maintainability
458
-
459
- on: [push, pull_request]
460
-
461
- jobs:
462
- test-coverage:
463
- runs-on: ubuntu-latest
464
- steps:
465
- - uses: actions/checkout@v4
466
- - uses: actions/setup-node@v4
467
-
468
- - name: Install dependencies
469
- run: npm ci
470
-
471
- - name: Run tests with coverage
472
- run: npm run test:coverage
473
-
474
- - name: Check coverage threshold (80% minimum)
475
- run: |
476
- COVERAGE=$(jq '.total.lines.pct' coverage/coverage-summary.json)
477
- echo "Coverage: $COVERAGE%"
478
- if (( $(echo "$COVERAGE < 80" | bc -l) )); then
479
- echo "❌ FAIL: Coverage $COVERAGE% below 80% threshold"
480
- exit 1
481
- else
482
- echo "✅ PASS: Coverage $COVERAGE% meets 80% threshold"
483
- fi
484
-
485
- code-duplication:
486
- runs-on: ubuntu-latest
487
- steps:
488
- - uses: actions/checkout@v4
489
- - uses: actions/setup-node@v4
490
-
491
- - name: Check code duplication (<5% allowed)
492
- run: |
493
- npx jscpd src/ --threshold 5 --format json --output duplication.json
494
- DUPLICATION=$(jq '.statistics.total.percentage' duplication.json)
495
- echo "Duplication: $DUPLICATION%"
496
- if (( $(echo "$DUPLICATION >= 5" | bc -l) )); then
497
- echo "❌ FAIL: Duplication $DUPLICATION% exceeds 5% threshold"
498
- exit 1
499
- else
500
- echo "✅ PASS: Duplication $DUPLICATION% below 5% threshold"
501
- fi
502
-
503
- vulnerability-scan:
504
- runs-on: ubuntu-latest
505
- steps:
506
- - uses: actions/checkout@v4
507
- - uses: actions/setup-node@v4
508
-
509
- - name: Install dependencies
510
- run: npm ci
511
-
512
- - name: Run npm audit (no critical/high vulnerabilities)
513
- run: |
514
- npm audit --json > audit.json || true
515
- CRITICAL=$(jq '.metadata.vulnerabilities.critical' audit.json)
516
- HIGH=$(jq '.metadata.vulnerabilities.high' audit.json)
517
- echo "Critical: $CRITICAL, High: $HIGH"
518
- if [ "$CRITICAL" -gt 0 ] || [ "$HIGH" -gt 0 ]; then
519
- echo "❌ FAIL: Found $CRITICAL critical and $HIGH high vulnerabilities"
520
- npm audit
521
- exit 1
522
- else
523
- echo "✅ PASS: No critical/high vulnerabilities"
524
- fi
525
- ```
526
-
527
- **Playwright Tests for Observability (E2E Validation):**
528
-
529
- ```typescript
530
- // tests/nfr/observability.spec.ts
531
- import { test, expect } from '@playwright/test';
532
-
533
- test.describe('Maintainability NFR: Observability Validation', () => {
534
- test('critical errors are reported to monitoring service', async ({ page, context }) => {
535
- const sentryEvents: any[] = [];
536
-
537
- // Mock Sentry SDK to verify error tracking
538
- await context.addInitScript(() => {
539
- (window as any).Sentry = {
540
- captureException: (error: Error) => {
541
- console.log('SENTRY_CAPTURE:', JSON.stringify({ message: error.message, stack: error.stack }));
542
- },
543
- };
544
- });
545
-
546
- page.on('console', (msg) => {
547
- if (msg.text().includes('SENTRY_CAPTURE:')) {
548
- sentryEvents.push(JSON.parse(msg.text().replace('SENTRY_CAPTURE:', '')));
549
- }
550
- });
551
-
552
- // Trigger error by mocking API failure
553
- await context.route('**/api/products', (route) => {
554
- route.fulfill({ status: 500, body: JSON.stringify({ error: 'Database Error' }) });
555
- });
556
-
557
- await page.goto('/products');
558
-
559
- // Wait for error UI and Sentry capture
560
- await expect(page.getByText('Unable to load products')).toBeVisible();
561
-
562
- // Verify error was captured by monitoring
563
- expect(sentryEvents.length).toBeGreaterThan(0);
564
- expect(sentryEvents[0]).toHaveProperty('message');
565
- expect(sentryEvents[0]).toHaveProperty('stack');
566
- });
567
-
568
- test('API response times are tracked in telemetry', async ({ request }) => {
569
- const response = await request.get('/api/products?limit=10');
570
-
571
- expect(response.ok()).toBeTruthy();
572
-
573
- // Verify Server-Timing header for APM (Application Performance Monitoring)
574
- const serverTiming = response.headers()['server-timing'];
575
-
576
- expect(serverTiming).toBeTruthy();
577
- expect(serverTiming).toContain('db'); // Database query time
578
- expect(serverTiming).toContain('total'); // Total processing time
579
- });
580
-
581
- test('structured logging present in application', async ({ request }) => {
582
- // Make API call that generates logs
583
- const response = await request.post('/api/orders', {
584
- data: { productId: '123', quantity: 2 },
585
- });
586
-
587
- expect(response.ok()).toBeTruthy();
588
-
589
- // Note: In real scenarios, validate logs in monitoring system (Datadog, CloudWatch)
590
- // This test validates the logging contract exists (Server-Timing, trace IDs in headers)
591
- const traceId = response.headers()['x-trace-id'];
592
- expect(traceId).toBeTruthy(); // Confirms structured logging with correlation IDs
593
- });
594
- });
595
- ```
596
-
597
- **Key Points**:
598
-
599
- - **Coverage/duplication**: CI jobs (GitHub Actions), not Playwright tests
600
- - **Vulnerability scanning**: npm audit in CI, not Playwright tests
601
- - **Observability**: Playwright validates error tracking (Sentry) and telemetry headers
602
- - **Structured logging**: Validate logging contract (trace IDs, Server-Timing headers)
603
- - **Separation of concerns**: Build-time checks (coverage, audit) vs runtime checks (error tracking, telemetry)
604
-
605
- **Maintainability NFR Criteria**:
606
-
607
- - ✅ PASS: Clean code (80%+ coverage from CI, <5% duplication from CI), observability validated in E2E, no critical vulnerabilities from npm audit
608
- - ⚠️ CONCERNS: Duplication >5%, coverage 60-79%, or unclear ownership
609
- - ❌ FAIL: Absent tests (<60%), tangled implementations (>10% duplication), or no observability
610
-
611
- ---
612
-
613
- ## NFR Assessment Checklist
614
-
615
- Before release gate:
616
-
617
- - [ ] **Security** (Playwright E2E + Security Tools):
618
- - [ ] Auth/authz tests green (unauthenticated redirect, RBAC enforced)
619
- - [ ] Secrets never logged or exposed in errors
620
- - [ ] OWASP Top 10 validated (SQL injection blocked, XSS sanitized)
621
- - [ ] Security audit completed (vulnerability scan, penetration test if applicable)
622
-
623
- - [ ] **Performance** (k6 Load Testing):
624
- - [ ] SLO/SLA targets met with k6 evidence (p95 <500ms, error rate <1%)
625
- - [ ] Load testing completed (expected load)
626
- - [ ] Stress testing completed (breaking point identified)
627
- - [ ] Spike testing completed (handles traffic spikes)
628
- - [ ] Endurance testing completed (no memory leaks under sustained load)
629
-
630
- - [ ] **Reliability** (Playwright E2E + API Tests):
631
- - [ ] Error handling graceful (500 → user-friendly message + retry)
632
- - [ ] Retries implemented (3 attempts on transient failures)
633
- - [ ] Health checks monitored (/api/health endpoint)
634
- - [ ] Circuit breaker tested (opens after failure threshold)
635
- - [ ] Offline handling validated (network disconnection graceful)
636
-
637
- - [ ] **Maintainability** (CI Tools):
638
- - [ ] Test coverage ≥80% (from CI coverage report)
639
- - [ ] Code duplication <5% (from jscpd CI job)
640
- - [ ] No critical/high vulnerabilities (from npm audit CI job)
641
- - [ ] Structured logging validated (Playwright validates telemetry headers)
642
- - [ ] Error tracking configured (Sentry/monitoring integration validated)
643
-
644
- - [ ] **Ambiguous requirements**: Default to CONCERNS (force team to clarify thresholds and evidence)
645
- - [ ] **NFR criteria documented**: Measurable thresholds defined (not subjective "fast enough")
646
- - [ ] **Automated validation**: NFR tests run in CI pipeline (not manual checklists)
647
- - [ ] **Tool selection**: Right tool for each NFR (k6 for performance, Playwright for security/reliability E2E, CI tools for maintainability)
648
-
649
- ## NFR Gate Decision Matrix
650
-
651
- | Category | PASS Criteria | CONCERNS Criteria | FAIL Criteria |
652
- | ------------------- | -------------------------------------------- | -------------------------------------------- | ---------------------------------------------- |
653
- | **Security** | Auth/authz, secret handling, OWASP verified | Minor gaps with clear owners | Critical exposure or missing controls |
654
- | **Performance** | Metrics meet SLO/SLA with profiling evidence | Trending toward limits or missing baselines | SLO/SLA breached or resource leaks detected |
655
- | **Reliability** | Error handling, retries, health checks OK | Partial coverage or missing telemetry | No recovery path or unresolved crash scenarios |
656
- | **Maintainability** | Clean code, tests, docs shipped together | Duplication, low coverage, unclear ownership | Absent tests, tangled code, no observability |
657
-
658
- **Default**: If targets or evidence are undefined → **CONCERNS** (force team to clarify before sign-off)
659
-
660
- ## Integration Points
661
-
662
- - **Used in workflows**: `*nfr-assess` (automated NFR validation), `*trace` (gate decision Phase 2), `*test-design` (NFR risk assessment via Utility Tree)
663
- - **Related fragments**: `risk-governance.md` (NFR risk scoring), `probability-impact.md` (NFR impact assessment), `test-quality.md` (maintainability standards), `test-levels-framework.md` (system-level testing for NFRs)
664
- - **Tools by NFR Category**:
665
- - **Security**: Playwright (E2E auth/authz), OWASP ZAP, Burp Suite, npm audit, Snyk
666
- - **Performance**: k6 (load/stress/spike/endurance), Lighthouse (Core Web Vitals), Artillery
667
- - **Reliability**: Playwright (E2E error handling), API tests (retries, health checks), Chaos Engineering tools
668
- - **Maintainability**: GitHub Actions (coverage, duplication, audit), jscpd, Playwright (observability validation)
669
-
670
- _Source: Test Architect course (NFR testing approaches, Utility Tree, Quality Scenarios), ISO/IEC 25010 Software Quality Characteristics, OWASP Top 10, k6 documentation, SRE practices_