observer-ggboy-bmad-method 6.0.0-alpha.23

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 (604) hide show
  1. package/.coderabbit.yaml +40 -0
  2. package/.github/CODE_OF_CONDUCT.md +128 -0
  3. package/.github/FUNDING.yaml +15 -0
  4. package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  6. package/.github/ISSUE_TEMPLATE/issue.md +32 -0
  7. package/.github/scripts/discord-helpers.sh +34 -0
  8. package/.github/workflows/bundle-latest.yaml +330 -0
  9. package/.github/workflows/discord.yaml +90 -0
  10. package/.github/workflows/docs.yaml +63 -0
  11. package/.github/workflows/manual-release.yaml +190 -0
  12. package/.github/workflows/quality.yaml +115 -0
  13. package/.health-status.json +7 -0
  14. package/.husky/pre-commit +20 -0
  15. package/.markdownlint-cli2.yaml +41 -0
  16. package/.nvmrc +1 -0
  17. package/.prettierignore +9 -0
  18. package/.vscode/settings.json +97 -0
  19. package/CHANGELOG.md +1394 -0
  20. package/CNAME +1 -0
  21. package/CONTRIBUTING.md +167 -0
  22. package/CONTRIBUTORS.md +32 -0
  23. package/LICENSE +30 -0
  24. package/README.md +100 -0
  25. package/SECURITY.md +85 -0
  26. package/TRADEMARK.md +55 -0
  27. package/Wordmark.png +0 -0
  28. package/banner-bmad-method.png +0 -0
  29. package/bmad-method-6.0.0-alpha.23.tgz +0 -0
  30. package/docs/404.md +9 -0
  31. package/docs/_README_WORKFLOW_DIAGRAMS.md +40 -0
  32. package/docs/_STYLE_GUIDE.md +367 -0
  33. package/docs/_archive/customize-workflows.md +30 -0
  34. package/docs/_archive/getting-started-bmadv4.md +247 -0
  35. package/docs/_archive/vendor-workflows.md +52 -0
  36. package/docs/downloads.md +72 -0
  37. package/docs/explanation/agents/barry-quick-flow.md +328 -0
  38. package/docs/explanation/agents/index.md +19 -0
  39. package/docs/explanation/architecture/four-phases.md +107 -0
  40. package/docs/explanation/architecture/preventing-agent-conflicts.md +111 -0
  41. package/docs/explanation/architecture/why-solutioning-matters.md +75 -0
  42. package/docs/explanation/bmm/index.md +131 -0
  43. package/docs/explanation/core/index.md +18 -0
  44. package/docs/explanation/core-concepts/agent-roles.md +179 -0
  45. package/docs/explanation/core-concepts/index.md +35 -0
  46. package/docs/explanation/core-concepts/what-are-agents.md +97 -0
  47. package/docs/explanation/core-concepts/what-are-modules.md +85 -0
  48. package/docs/explanation/core-concepts/what-are-workflows.md +204 -0
  49. package/docs/explanation/faq/brownfield-faq.md +73 -0
  50. package/docs/explanation/faq/getting-started-faq.md +67 -0
  51. package/docs/explanation/faq/implementation-faq.md +52 -0
  52. package/docs/explanation/faq/index.md +16 -0
  53. package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
  54. package/docs/explanation/faq/planning-faq.md +41 -0
  55. package/docs/explanation/faq/tools-faq.md +277 -0
  56. package/docs/explanation/faq/workflows-faq.md +61 -0
  57. package/docs/explanation/features/advanced-elicitation.md +95 -0
  58. package/docs/explanation/features/brainstorming-techniques.md +92 -0
  59. package/docs/explanation/features/party-mode.md +95 -0
  60. package/docs/explanation/features/quick-flow.md +149 -0
  61. package/docs/explanation/features/tea-overview.md +410 -0
  62. package/docs/explanation/features/web-bundles.md +34 -0
  63. package/docs/explanation/philosophy/facilitation-over-generation.md +333 -0
  64. package/docs/explanation/philosophy/testing-as-engineering.md +112 -0
  65. package/docs/explanation/tea/engagement-models.md +710 -0
  66. package/docs/explanation/tea/fixture-architecture.md +457 -0
  67. package/docs/explanation/tea/knowledge-base-system.md +554 -0
  68. package/docs/explanation/tea/network-first-patterns.md +853 -0
  69. package/docs/explanation/tea/risk-based-testing.md +586 -0
  70. package/docs/explanation/tea/test-quality-standards.md +907 -0
  71. package/docs/how-to/brownfield/add-feature-to-existing.md +74 -0
  72. package/docs/how-to/brownfield/document-existing-project.md +66 -0
  73. package/docs/how-to/brownfield/index.md +84 -0
  74. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +77 -0
  75. package/docs/how-to/brownfield/use-tea-for-enterprise.md +525 -0
  76. package/docs/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
  77. package/docs/how-to/customization/customize-agents.md +212 -0
  78. package/docs/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
  79. package/docs/how-to/customization/index.md +23 -0
  80. package/docs/how-to/customization/integrate-playwright-utils.md +813 -0
  81. package/docs/how-to/customization/shard-large-documents.md +101 -0
  82. package/docs/how-to/get-answers-about-bmad.md +102 -0
  83. package/docs/how-to/installation/index.md +12 -0
  84. package/docs/how-to/installation/install-bmad.md +111 -0
  85. package/docs/how-to/installation/install-custom-modules.md +118 -0
  86. package/docs/how-to/installation/upgrade-to-v6.md +131 -0
  87. package/docs/how-to/workflows/bmgd-quick-flow.md +156 -0
  88. package/docs/how-to/workflows/conduct-research.md +97 -0
  89. package/docs/how-to/workflows/create-architecture.md +119 -0
  90. package/docs/how-to/workflows/create-epics-and-stories.md +109 -0
  91. package/docs/how-to/workflows/create-prd.md +91 -0
  92. package/docs/how-to/workflows/create-product-brief.md +94 -0
  93. package/docs/how-to/workflows/create-story.md +102 -0
  94. package/docs/how-to/workflows/create-ux-design.md +100 -0
  95. package/docs/how-to/workflows/implement-story.md +97 -0
  96. package/docs/how-to/workflows/quick-spec.md +122 -0
  97. package/docs/how-to/workflows/run-atdd.md +436 -0
  98. package/docs/how-to/workflows/run-automate.md +653 -0
  99. package/docs/how-to/workflows/run-brainstorming-session.md +73 -0
  100. package/docs/how-to/workflows/run-code-review.md +89 -0
  101. package/docs/how-to/workflows/run-implementation-readiness.md +125 -0
  102. package/docs/how-to/workflows/run-nfr-assess.md +679 -0
  103. package/docs/how-to/workflows/run-sprint-planning.md +94 -0
  104. package/docs/how-to/workflows/run-test-design.md +135 -0
  105. package/docs/how-to/workflows/run-test-review.md +605 -0
  106. package/docs/how-to/workflows/run-trace.md +883 -0
  107. package/docs/how-to/workflows/setup-ci.md +712 -0
  108. package/docs/how-to/workflows/setup-party-mode.md +89 -0
  109. package/docs/how-to/workflows/setup-test-framework.md +98 -0
  110. package/docs/index.md +63 -0
  111. package/docs/reference/agents/index.md +109 -0
  112. package/docs/reference/configuration/core-tasks.md +67 -0
  113. package/docs/reference/configuration/global-config.md +28 -0
  114. package/docs/reference/glossary/index.md +159 -0
  115. package/docs/reference/tea/commands.md +276 -0
  116. package/docs/reference/tea/configuration.md +678 -0
  117. package/docs/reference/tea/knowledge-base.md +340 -0
  118. package/docs/reference/workflows/core-workflows.md +32 -0
  119. package/docs/reference/workflows/document-project.md +73 -0
  120. package/docs/reference/workflows/index.md +12 -0
  121. package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
  122. package/docs/tutorials/getting-started/images/workflow-method-greenfield.excalidraw +5034 -0
  123. package/docs/tutorials/getting-started/images/workflow-method-greenfield.svg +4 -0
  124. package/docs/tutorials/getting-started/images/workflow-overview.jpg +0 -0
  125. package/docs/tutorials/getting-started/tea-lite-quickstart.md +444 -0
  126. package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
  127. package/eslint.config.mjs +152 -0
  128. package/package.json +117 -0
  129. package/prettier.config.mjs +32 -0
  130. package/src/bmm/_module-installer/installer.js +48 -0
  131. package/src/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
  132. package/src/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
  133. package/src/bmm/agents/analyst.agent.yaml +36 -0
  134. package/src/bmm/agents/architect.agent.yaml +28 -0
  135. package/src/bmm/agents/dev.agent.yaml +38 -0
  136. package/src/bmm/agents/pm.agent.yaml +46 -0
  137. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
  138. package/src/bmm/agents/sm.agent.yaml +36 -0
  139. package/src/bmm/agents/tea.agent.yaml +63 -0
  140. package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  141. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +45 -0
  142. package/src/bmm/agents/ux-designer.agent.yaml +26 -0
  143. package/src/bmm/data/project-context-template.md +26 -0
  144. package/src/bmm/module-help.csv +32 -0
  145. package/src/bmm/module.yaml +44 -0
  146. package/src/bmm/sub-modules/claude-code/config.yaml +4 -0
  147. package/src/bmm/sub-modules/claude-code/injections.yaml +242 -0
  148. package/src/bmm/sub-modules/claude-code/readme.md +87 -0
  149. package/src/bmm/teams/default-party.csv +21 -0
  150. package/src/bmm/teams/team-fullstack.yaml +12 -0
  151. package/src/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
  152. package/src/bmm/testarch/knowledge/api-request.md +442 -0
  153. package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  154. package/src/bmm/testarch/knowledge/auth-session.md +552 -0
  155. package/src/bmm/testarch/knowledge/burn-in.md +273 -0
  156. package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  157. package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
  158. package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
  159. package/src/bmm/testarch/knowledge/data-factories.md +500 -0
  160. package/src/bmm/testarch/knowledge/email-auth.md +721 -0
  161. package/src/bmm/testarch/knowledge/error-handling.md +725 -0
  162. package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
  163. package/src/bmm/testarch/knowledge/file-utils.md +463 -0
  164. package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  165. package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  166. package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
  167. package/src/bmm/testarch/knowledge/log.md +429 -0
  168. package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
  169. package/src/bmm/testarch/knowledge/network-first.md +486 -0
  170. package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
  171. package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  172. package/src/bmm/testarch/knowledge/overview.md +286 -0
  173. package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
  174. package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
  175. package/src/bmm/testarch/knowledge/recurse.md +421 -0
  176. package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
  177. package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
  178. package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
  179. package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  180. package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  181. package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  182. package/src/bmm/testarch/knowledge/test-quality.md +664 -0
  183. package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
  184. package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
  185. package/src/bmm/testarch/tea-index.csv +35 -0
  186. package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  187. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  188. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  189. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  190. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  191. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  192. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  193. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  194. package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  195. package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  196. package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  197. package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  198. package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  199. package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  200. package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  201. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  202. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  203. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  204. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  205. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  206. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  207. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  208. package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
  209. package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  210. package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  211. package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  212. package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  213. package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  214. package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  215. package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
  216. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  217. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  218. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  219. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  220. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  221. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  222. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  223. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  224. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  225. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  226. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  227. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  228. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  229. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  230. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  231. package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  232. package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  233. package/src/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +13 -0
  234. package/src/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
  235. package/src/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +11 -0
  236. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +191 -0
  237. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +153 -0
  238. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
  239. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +226 -0
  240. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
  241. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
  242. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +226 -0
  243. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +237 -0
  244. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +228 -0
  245. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +231 -0
  246. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
  247. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
  248. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +124 -0
  249. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
  250. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  251. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
  252. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
  253. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
  254. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
  255. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
  256. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
  257. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
  258. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  259. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
  260. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
  261. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  262. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  263. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
  264. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
  265. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  266. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
  267. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +231 -0
  268. package/src/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +10 -0
  269. package/src/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
  270. package/src/bmm/workflows/2-plan-workflows/prd/workflow.md +150 -0
  271. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  272. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  273. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  274. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  275. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  276. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
  277. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  278. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  279. package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  280. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  281. package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  282. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  283. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  284. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  285. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  286. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  287. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  288. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  289. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  290. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  291. package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  292. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  293. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  294. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  295. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  296. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  297. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  298. package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  299. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  300. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
  301. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  302. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  303. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
  304. package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  305. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  306. package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
  307. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
  308. package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  309. package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  310. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +27 -0
  311. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  312. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
  313. package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  314. package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  315. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  316. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
  317. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  318. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
  319. package/src/bmm/workflows/bmad-quick-flow/quick-dev/data/project-levels.yaml +59 -0
  320. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  321. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  322. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  323. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  324. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  325. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  326. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
  327. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
  328. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
  329. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  330. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +191 -0
  331. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  332. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  333. package/src/bmm/workflows/document-project/checklist.md +245 -0
  334. package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  335. package/src/bmm/workflows/document-project/instructions.md +221 -0
  336. package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  337. package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
  338. package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  339. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  340. package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  341. package/src/bmm/workflows/document-project/workflow.yaml +30 -0
  342. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  343. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  344. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  345. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  346. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  347. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  348. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  349. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  350. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
  351. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  352. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  353. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
  354. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  355. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  356. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
  357. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  358. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  359. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
  360. package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  361. package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
  362. package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
  363. package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
  364. package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
  365. package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
  366. package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
  367. package/src/bmm/workflows/testarch/ci/checklist.md +247 -0
  368. package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  369. package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  370. package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
  371. package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
  372. package/src/bmm/workflows/testarch/framework/checklist.md +320 -0
  373. package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
  374. package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
  375. package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  376. package/src/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
  377. package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
  378. package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  379. package/src/bmm/workflows/testarch/test-design/checklist.md +407 -0
  380. package/src/bmm/workflows/testarch/test-design/instructions.md +1158 -0
  381. package/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
  382. package/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
  383. package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  384. package/src/bmm/workflows/testarch/test-design/workflow.yaml +71 -0
  385. package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
  386. package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
  387. package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  388. package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
  389. package/src/bmm/workflows/testarch/trace/checklist.md +642 -0
  390. package/src/bmm/workflows/testarch/trace/instructions.md +1030 -0
  391. package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
  392. package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
  393. package/src/core/_module-installer/installer.js +60 -0
  394. package/src/core/agents/bmad-master.agent.yaml +29 -0
  395. package/src/core/module-help.csv +9 -0
  396. package/src/core/module.yaml +25 -0
  397. package/src/core/resources/excalidraw/README.md +160 -0
  398. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  399. package/src/core/resources/excalidraw/library-loader.md +50 -0
  400. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  401. package/src/core/tasks/editorial-review-prose.xml +100 -0
  402. package/src/core/tasks/editorial-review-structure.xml +209 -0
  403. package/src/core/tasks/help.md +62 -0
  404. package/src/core/tasks/index-docs.xml +65 -0
  405. package/src/core/tasks/review-adversarial-general.xml +48 -0
  406. package/src/core/tasks/shard-doc.xml +109 -0
  407. package/src/core/tasks/workflow.xml +235 -0
  408. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  409. package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
  410. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  411. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  412. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  413. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  414. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  415. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  416. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  417. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  418. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  419. package/src/core/workflows/brainstorming/template.md +15 -0
  420. package/src/core/workflows/brainstorming/workflow.md +58 -0
  421. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  422. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  423. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
  424. package/src/core/workflows/party-mode/workflow.md +194 -0
  425. package/src/utility/agent-components/activation-rules.txt +6 -0
  426. package/src/utility/agent-components/activation-steps.txt +14 -0
  427. package/src/utility/agent-components/agent-command-header.md +1 -0
  428. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  429. package/src/utility/agent-components/handler-action.txt +4 -0
  430. package/src/utility/agent-components/handler-data.txt +5 -0
  431. package/src/utility/agent-components/handler-exec.txt +6 -0
  432. package/src/utility/agent-components/handler-multi.txt +14 -0
  433. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  434. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  435. package/src/utility/agent-components/handler-workflow.txt +10 -0
  436. package/src/utility/agent-components/menu-handlers.txt +6 -0
  437. package/test/README.md +295 -0
  438. package/test/adversarial-review-tests/README.md +56 -0
  439. package/test/adversarial-review-tests/sample-content.md +46 -0
  440. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  441. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  442. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  443. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  444. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  445. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  446. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  447. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  448. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  449. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  450. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  451. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  452. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  453. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  454. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  455. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  456. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  457. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  458. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  459. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  460. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  461. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  462. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  463. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  464. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  465. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  466. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  467. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  468. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  469. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  470. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  471. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  472. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  473. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  474. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  475. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  476. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  477. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  478. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  479. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  480. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  481. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  482. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  483. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  484. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  485. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  486. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  487. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  488. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  489. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  490. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  491. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  492. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  493. package/test/test-agent-schema.js +387 -0
  494. package/test/test-cli-integration.sh +159 -0
  495. package/test/test-installation-components.js +214 -0
  496. package/test/unit-test-schema.js +133 -0
  497. package/tools/bmad-npx-wrapper.js +38 -0
  498. package/tools/build-docs.js +577 -0
  499. package/tools/cli/README.md +7 -0
  500. package/tools/cli/bmad-cli.js +58 -0
  501. package/tools/cli/commands/install.js +87 -0
  502. package/tools/cli/commands/status.js +65 -0
  503. package/tools/cli/external-official-modules.yaml +56 -0
  504. package/tools/cli/installers/install-messages.yaml +58 -0
  505. package/tools/cli/installers/lib/core/config-collector.js +1079 -0
  506. package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
  507. package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
  508. package/tools/cli/installers/lib/core/detector.js +223 -0
  509. package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
  510. package/tools/cli/installers/lib/core/installer.js +2826 -0
  511. package/tools/cli/installers/lib/core/manifest-generator.js +1054 -0
  512. package/tools/cli/installers/lib/core/manifest.js +1036 -0
  513. package/tools/cli/installers/lib/custom/handler.js +363 -0
  514. package/tools/cli/installers/lib/ide/STANDARDIZATION_PLAN.md +208 -0
  515. package/tools/cli/installers/lib/ide/_base-ide.js +655 -0
  516. package/tools/cli/installers/lib/ide/antigravity.js +474 -0
  517. package/tools/cli/installers/lib/ide/auggie.js +244 -0
  518. package/tools/cli/installers/lib/ide/claude-code.js +506 -0
  519. package/tools/cli/installers/lib/ide/cline.js +272 -0
  520. package/tools/cli/installers/lib/ide/codex.js +412 -0
  521. package/tools/cli/installers/lib/ide/crush.js +149 -0
  522. package/tools/cli/installers/lib/ide/cursor.js +160 -0
  523. package/tools/cli/installers/lib/ide/gemini.js +301 -0
  524. package/tools/cli/installers/lib/ide/github-copilot.js +383 -0
  525. package/tools/cli/installers/lib/ide/iflow.js +191 -0
  526. package/tools/cli/installers/lib/ide/kilo.js +250 -0
  527. package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
  528. package/tools/cli/installers/lib/ide/manager.js +244 -0
  529. package/tools/cli/installers/lib/ide/opencode.js +257 -0
  530. package/tools/cli/installers/lib/ide/qwen.js +372 -0
  531. package/tools/cli/installers/lib/ide/roo.js +273 -0
  532. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  533. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +165 -0
  534. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +158 -0
  535. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  536. package/tools/cli/installers/lib/ide/shared/path-utils.js +165 -0
  537. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +268 -0
  538. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +293 -0
  539. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  540. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  541. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  542. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  543. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  544. package/tools/cli/installers/lib/ide/trae.js +313 -0
  545. package/tools/cli/installers/lib/ide/windsurf.js +258 -0
  546. package/tools/cli/installers/lib/message-loader.js +85 -0
  547. package/tools/cli/installers/lib/modules/external-manager.js +135 -0
  548. package/tools/cli/installers/lib/modules/manager.js +1375 -0
  549. package/tools/cli/lib/activation-builder.js +163 -0
  550. package/tools/cli/lib/agent/compiler.js +522 -0
  551. package/tools/cli/lib/agent/installer.js +716 -0
  552. package/tools/cli/lib/agent/template-engine.js +152 -0
  553. package/tools/cli/lib/agent-analyzer.js +109 -0
  554. package/tools/cli/lib/agent-party-generator.js +194 -0
  555. package/tools/cli/lib/cli-utils.js +227 -0
  556. package/tools/cli/lib/config.js +213 -0
  557. package/tools/cli/lib/file-ops.js +204 -0
  558. package/tools/cli/lib/platform-codes.js +116 -0
  559. package/tools/cli/lib/project-root.js +77 -0
  560. package/tools/cli/lib/prompts.js +433 -0
  561. package/tools/cli/lib/ui.js +1716 -0
  562. package/tools/cli/lib/xml-handler.js +177 -0
  563. package/tools/cli/lib/xml-to-markdown.js +82 -0
  564. package/tools/cli/lib/yaml-format.js +245 -0
  565. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  566. package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  567. package/tools/docs/index.md +2 -0
  568. package/tools/fix-doc-links.js +288 -0
  569. package/tools/flattener/aggregate.js +76 -0
  570. package/tools/flattener/binary.js +80 -0
  571. package/tools/flattener/discovery.js +71 -0
  572. package/tools/flattener/files.js +35 -0
  573. package/tools/flattener/ignoreRules.js +172 -0
  574. package/tools/flattener/main.js +483 -0
  575. package/tools/flattener/projectRoot.js +201 -0
  576. package/tools/flattener/prompts.js +44 -0
  577. package/tools/flattener/stats.helpers.js +368 -0
  578. package/tools/flattener/stats.js +75 -0
  579. package/tools/flattener/test-matrix.js +409 -0
  580. package/tools/flattener/xml.js +82 -0
  581. package/tools/format-workflow-md.js +263 -0
  582. package/tools/lib/xml-utils.js +13 -0
  583. package/tools/maintainer/review-pr-README.md +55 -0
  584. package/tools/maintainer/review-pr.md +242 -0
  585. package/tools/migrate-custom-module-paths.js +124 -0
  586. package/tools/platform-codes.yaml +157 -0
  587. package/tools/schema/agent.js +491 -0
  588. package/tools/validate-agent-schema.js +110 -0
  589. package/tools/validate-doc-links.js +363 -0
  590. package/tools/validate-svg-changes.sh +356 -0
  591. package/website/README.md +76 -0
  592. package/website/astro.config.mjs +228 -0
  593. package/website/public/favicon.ico +0 -0
  594. package/website/public/img/bmad-dark.png +0 -0
  595. package/website/public/img/bmad-light.png +0 -0
  596. package/website/public/img/logo.svg +4 -0
  597. package/website/public/robots.txt +37 -0
  598. package/website/src/components/Banner.astro +59 -0
  599. package/website/src/components/Header.astro +121 -0
  600. package/website/src/components/MobileMenuFooter.astro +53 -0
  601. package/website/src/content/config.ts +6 -0
  602. package/website/src/lib/site-url.js +25 -0
  603. package/website/src/rehype-markdown-links.js +102 -0
  604. package/website/src/styles/custom.css +485 -0
@@ -0,0 +1,726 @@
1
+ # Non-Functional Requirements Assessment - Instructions v4.0
2
+
3
+ **Workflow:** `testarch-nfr`
4
+ **Purpose:** Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation
5
+ **Agent:** Test Architect (TEA)
6
+ **Format:** Pure Markdown v4.0 (no XML blocks)
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ This workflow performs a comprehensive assessment of non-functional requirements (NFRs) to validate that the implementation meets performance, security, reliability, and maintainability standards before release. It uses evidence-based validation with deterministic PASS/CONCERNS/FAIL rules and provides actionable recommendations for remediation.
13
+
14
+ **Key Capabilities:**
15
+
16
+ - Assess multiple NFR categories (performance, security, reliability, maintainability, custom)
17
+ - Validate NFRs against defined thresholds from tech specs, PRD, or defaults
18
+ - Classify status deterministically (PASS/CONCERNS/FAIL) based on evidence
19
+ - Never guess thresholds - mark as CONCERNS if unknown
20
+ - Generate gate-ready YAML snippets for CI/CD integration
21
+ - Provide quick wins and recommended actions for remediation
22
+ - Create evidence checklists for gaps
23
+
24
+ ---
25
+
26
+ ## Prerequisites
27
+
28
+ **Required:**
29
+
30
+ - Implementation deployed locally or accessible for evaluation
31
+ - Evidence sources available (test results, metrics, logs, CI results)
32
+
33
+ **Recommended:**
34
+
35
+ - NFR requirements defined in tech-spec.md, PRD.md, or story
36
+ - Test results from performance, security, reliability tests
37
+ - Application metrics (response times, error rates, throughput)
38
+ - CI/CD pipeline results for burn-in validation
39
+
40
+ **Halt Conditions:**
41
+
42
+ - If NFR targets are undefined and cannot be obtained, halt and request definition
43
+ - If implementation is not accessible for evaluation, halt and request deployment
44
+
45
+ ---
46
+
47
+ ## Workflow Steps
48
+
49
+ ### Step 1: Load Context and Knowledge Base
50
+
51
+ **Actions:**
52
+
53
+ 1. Load relevant knowledge fragments from `{project-root}/_bmad/bmm/testarch/tea-index.csv`:
54
+ - `adr-quality-readiness-checklist.md` - 8-category 29-criteria NFR framework (testability, test data, scalability, DR, security, monitorability, QoS/QoE, deployability, ~450 lines)
55
+ - `ci-burn-in.md` - CI/CD burn-in patterns for reliability validation (10-iteration detection, sharding, selective execution, 678 lines, 4 examples)
56
+ - `test-quality.md` - Test quality expectations for maintainability (deterministic, isolated, explicit assertions, length/time limits, 658 lines, 5 examples)
57
+ - `playwright-config.md` - Performance configuration patterns: parallelization, timeout standards, artifact output (722 lines, 5 examples)
58
+ - `error-handling.md` - Reliability validation patterns: scoped exceptions, retry validation, telemetry logging, graceful degradation (736 lines, 4 examples)
59
+
60
+ 2. Read story file (if provided):
61
+ - Extract NFR requirements
62
+ - Identify specific thresholds or SLAs
63
+ - Note any custom NFR categories
64
+
65
+ 3. Read related BMad artifacts (if available):
66
+ - `tech-spec.md` - Technical NFR requirements and targets
67
+ - `PRD.md` - Product-level NFR context (user expectations)
68
+ - `test-design.md` - NFR test plan and priorities
69
+
70
+ **Output:** Complete understanding of NFR targets, evidence sources, and validation criteria
71
+
72
+ ---
73
+
74
+ ### Step 2: Identify NFR Categories and Thresholds
75
+
76
+ **Actions:**
77
+
78
+ 1. Determine which NFR categories to assess using ADR Quality Readiness Checklist (8 standard categories):
79
+ - **1. Testability & Automation**: Isolation, headless interaction, state control, sample requests (4 criteria)
80
+ - **2. Test Data Strategy**: Segregation, generation, teardown (3 criteria)
81
+ - **3. Scalability & Availability**: Statelessness, bottlenecks, SLA definitions, circuit breakers (4 criteria)
82
+ - **4. Disaster Recovery**: RTO/RPO, failover, backups (3 criteria)
83
+ - **5. Security**: AuthN/AuthZ, encryption, secrets, input validation (4 criteria)
84
+ - **6. Monitorability, Debuggability & Manageability**: Tracing, logs, metrics, config (4 criteria)
85
+ - **7. QoS & QoE**: Latency, throttling, perceived performance, degradation (4 criteria)
86
+ - **8. Deployability**: Zero downtime, backward compatibility, rollback (3 criteria)
87
+
88
+ 2. Add custom NFR categories if specified (e.g., accessibility, internationalization, compliance) beyond the 8 standard categories
89
+
90
+ 3. Gather thresholds for each NFR:
91
+ - From tech-spec.md (primary source)
92
+ - From PRD.md (product-level SLAs)
93
+ - From story file (feature-specific requirements)
94
+ - From workflow variables (default thresholds)
95
+ - Mark thresholds as UNKNOWN if not defined
96
+
97
+ 4. Never guess thresholds - if a threshold is unknown, mark the NFR as CONCERNS
98
+
99
+ **Output:** Complete list of NFRs to assess with defined (or UNKNOWN) thresholds
100
+
101
+ ---
102
+
103
+ ### Step 3: Gather Evidence
104
+
105
+ **Actions:**
106
+
107
+ 1. For each NFR category, discover evidence sources:
108
+
109
+ **Performance Evidence:**
110
+ - Load test results (JMeter, k6, Lighthouse)
111
+ - Application metrics (response times, throughput, resource usage)
112
+ - Performance monitoring data (New Relic, Datadog, APM)
113
+ - Playwright performance traces (if applicable)
114
+
115
+ **Security Evidence:**
116
+ - Security scan results (SAST, DAST, dependency scanning)
117
+ - Authentication/authorization test results
118
+ - Penetration test reports
119
+ - Vulnerability assessment reports
120
+ - Compliance audit results
121
+
122
+ **Reliability Evidence:**
123
+ - Error logs and error rates
124
+ - Uptime monitoring data
125
+ - Chaos engineering test results
126
+ - Failover/recovery test results
127
+ - CI burn-in results (stability over time)
128
+
129
+ **Maintainability Evidence:**
130
+ - Code coverage reports (Istanbul, NYC, c8)
131
+ - Static analysis results (ESLint, SonarQube)
132
+ - Technical debt metrics
133
+ - Documentation completeness
134
+ - Test quality assessment (from test-review workflow)
135
+
136
+ 2. Read relevant files from evidence directories:
137
+ - `{test_results_dir}` for test execution results
138
+ - `{metrics_dir}` for application metrics
139
+ - `{logs_dir}` for application logs
140
+ - CI/CD pipeline results (if `include_ci_results` is true)
141
+
142
+ 3. Mark NFRs without evidence as "NO EVIDENCE" - never infer or assume
143
+
144
+ **Output:** Comprehensive evidence inventory for each NFR
145
+
146
+ ---
147
+
148
+ ### Step 4: Assess NFRs with Deterministic Rules
149
+
150
+ **Actions:**
151
+
152
+ 1. For each NFR, apply deterministic PASS/CONCERNS/FAIL rules:
153
+
154
+ **PASS Criteria:**
155
+ - Evidence exists AND meets defined threshold
156
+ - No concerns flagged in evidence
157
+ - Example: Response time is 350ms (threshold: 500ms) → PASS
158
+
159
+ **CONCERNS Criteria:**
160
+ - Threshold is UNKNOWN (not defined)
161
+ - Evidence is MISSING or INCOMPLETE
162
+ - Evidence is close to threshold (within 10%)
163
+ - Evidence shows intermittent issues
164
+ - Example: Response time is 480ms (threshold: 500ms, 96% of threshold) → CONCERNS
165
+
166
+ **FAIL Criteria:**
167
+ - Evidence exists BUT does not meet threshold
168
+ - Critical evidence is MISSING
169
+ - Evidence shows consistent failures
170
+ - Example: Response time is 750ms (threshold: 500ms) → FAIL
171
+
172
+ 2. Document findings for each NFR:
173
+ - Status (PASS/CONCERNS/FAIL)
174
+ - Evidence source (file path, test name, metric name)
175
+ - Actual value vs threshold
176
+ - Justification for status classification
177
+
178
+ 3. Classify severity based on category:
179
+ - **CRITICAL**: Security failures, reliability failures (affect users immediately)
180
+ - **HIGH**: Performance failures, maintainability failures (affect users soon)
181
+ - **MEDIUM**: Concerns without failures (may affect users eventually)
182
+ - **LOW**: Missing evidence for non-critical NFRs
183
+
184
+ **Output:** Complete NFR assessment with deterministic status classifications
185
+
186
+ ---
187
+
188
+ ### Step 5: Identify Quick Wins and Recommended Actions
189
+
190
+ **Actions:**
191
+
192
+ 1. For each NFR with CONCERNS or FAIL status, identify quick wins:
193
+ - Low-effort, high-impact improvements
194
+ - Configuration changes (no code changes needed)
195
+ - Optimization opportunities (caching, indexing, compression)
196
+ - Monitoring additions (detect issues before they become failures)
197
+
198
+ 2. Provide recommended actions for each issue:
199
+ - Specific steps to remediate (not generic advice)
200
+ - Priority (CRITICAL, HIGH, MEDIUM, LOW)
201
+ - Estimated effort (hours, days)
202
+ - Owner suggestion (dev, ops, security)
203
+
204
+ 3. Suggest monitoring hooks for gaps:
205
+ - Add performance monitoring (APM, synthetic monitoring)
206
+ - Add error tracking (Sentry, Rollbar, error logs)
207
+ - Add security monitoring (intrusion detection, audit logs)
208
+ - Add alerting thresholds (notify before thresholds are breached)
209
+
210
+ 4. Suggest fail-fast mechanisms:
211
+ - Add circuit breakers for reliability
212
+ - Add rate limiting for performance
213
+ - Add validation gates for security
214
+ - Add smoke tests for maintainability
215
+
216
+ **Output:** Actionable remediation plan with prioritized recommendations
217
+
218
+ ---
219
+
220
+ ### Step 6: Generate Deliverables
221
+
222
+ **Actions:**
223
+
224
+ 1. Create NFR assessment markdown file:
225
+ - Use template from `nfr-report-template.md`
226
+ - Include executive summary (overall status, critical issues)
227
+ - Add NFR-by-NFR assessment (status, evidence, thresholds)
228
+ - Add findings summary (PASS count, CONCERNS count, FAIL count)
229
+ - Add quick wins section
230
+ - Add recommended actions section
231
+ - Add evidence gaps checklist
232
+ - Save to `{output_folder}/nfr-assessment.md`
233
+
234
+ 2. Generate gate YAML snippet (if enabled):
235
+
236
+ ```yaml
237
+ nfr_assessment:
238
+ date: '2025-10-14'
239
+ categories:
240
+ performance: 'PASS'
241
+ security: 'CONCERNS'
242
+ reliability: 'PASS'
243
+ maintainability: 'PASS'
244
+ overall_status: 'CONCERNS'
245
+ critical_issues: 0
246
+ high_priority_issues: 1
247
+ concerns: 2
248
+ blockers: false
249
+ ```
250
+
251
+ 3. Generate evidence checklist (if enabled):
252
+ - List all NFRs with MISSING or INCOMPLETE evidence
253
+ - Assign owners for evidence collection
254
+ - Suggest evidence sources (tests, metrics, logs)
255
+ - Set deadlines for evidence collection
256
+
257
+ 4. Update story file (if enabled and requested):
258
+ - Add "NFR Assessment" section to story markdown
259
+ - Link to NFR assessment report
260
+ - Include overall status and critical issues
261
+ - Add gate status
262
+
263
+ **Output:** Complete NFR assessment documentation ready for review and CI/CD integration
264
+
265
+ ---
266
+
267
+ ## Non-Prescriptive Approach
268
+
269
+ **Minimal Examples:** This workflow provides principles and patterns, not rigid templates. Teams should adapt NFR categories, thresholds, and assessment criteria to their needs.
270
+
271
+ **Key Patterns to Follow:**
272
+
273
+ - Use evidence-based validation (no guessing or inference)
274
+ - Apply deterministic rules (consistent PASS/CONCERNS/FAIL classification)
275
+ - Never guess thresholds (mark as CONCERNS if unknown)
276
+ - Provide actionable recommendations (specific steps, not generic advice)
277
+ - Generate gate-ready artifacts (YAML snippets for CI/CD)
278
+
279
+ **Extend as Needed:**
280
+
281
+ - Add custom NFR categories (accessibility, internationalization, compliance)
282
+ - Integrate with external tools (New Relic, Datadog, SonarQube, JIRA)
283
+ - Add custom thresholds and rules
284
+ - Link to external assessment systems
285
+
286
+ ---
287
+
288
+ ## NFR Categories and Criteria
289
+
290
+ ### Performance
291
+
292
+ **Criteria:**
293
+
294
+ - Response time (p50, p95, p99 percentiles)
295
+ - Throughput (requests per second, transactions per second)
296
+ - Resource usage (CPU, memory, disk, network)
297
+ - Scalability (horizontal, vertical)
298
+
299
+ **Thresholds (Default):**
300
+
301
+ - Response time p95: 500ms
302
+ - Throughput: 100 RPS
303
+ - CPU usage: < 70% average
304
+ - Memory usage: < 80% max
305
+
306
+ **Evidence Sources:**
307
+
308
+ - Load test results (JMeter, k6, Gatling)
309
+ - APM data (New Relic, Datadog, Dynatrace)
310
+ - Lighthouse reports (for web apps)
311
+ - Playwright performance traces
312
+
313
+ ---
314
+
315
+ ### Security
316
+
317
+ **Criteria:**
318
+
319
+ - Authentication (login security, session management)
320
+ - Authorization (access control, permissions)
321
+ - Data protection (encryption, PII handling)
322
+ - Vulnerability management (SAST, DAST, dependency scanning)
323
+ - Compliance (GDPR, HIPAA, PCI-DSS)
324
+
325
+ **Thresholds (Default):**
326
+
327
+ - Security score: >= 85/100
328
+ - Critical vulnerabilities: 0
329
+ - High vulnerabilities: < 3
330
+ - Authentication strength: MFA enabled
331
+
332
+ **Evidence Sources:**
333
+
334
+ - SAST results (SonarQube, Checkmarx, Veracode)
335
+ - DAST results (OWASP ZAP, Burp Suite)
336
+ - Dependency scanning (Snyk, Dependabot, npm audit)
337
+ - Penetration test reports
338
+ - Security audit logs
339
+
340
+ ---
341
+
342
+ ### Reliability
343
+
344
+ **Criteria:**
345
+
346
+ - Availability (uptime percentage)
347
+ - Error handling (graceful degradation, error recovery)
348
+ - Fault tolerance (redundancy, failover)
349
+ - Disaster recovery (backup, restore, RTO/RPO)
350
+ - Stability (CI burn-in, chaos engineering)
351
+
352
+ **Thresholds (Default):**
353
+
354
+ - Uptime: >= 99.9% (three nines)
355
+ - Error rate: < 0.1% (1 in 1000 requests)
356
+ - MTTR (Mean Time To Recovery): < 15 minutes
357
+ - CI burn-in: 100 consecutive successful runs
358
+
359
+ **Evidence Sources:**
360
+
361
+ - Uptime monitoring (Pingdom, UptimeRobot, StatusCake)
362
+ - Error logs and error rates
363
+ - CI burn-in results (see `ci-burn-in.md`)
364
+ - Chaos engineering test results (Chaos Monkey, Gremlin)
365
+ - Incident reports and postmortems
366
+
367
+ ---
368
+
369
+ ### Maintainability
370
+
371
+ **Criteria:**
372
+
373
+ - Code quality (complexity, duplication, code smells)
374
+ - Test coverage (unit, integration, E2E)
375
+ - Documentation (code comments, README, architecture docs)
376
+ - Technical debt (debt ratio, code churn)
377
+ - Test quality (from test-review workflow)
378
+
379
+ **Thresholds (Default):**
380
+
381
+ - Test coverage: >= 80%
382
+ - Code quality score: >= 85/100
383
+ - Technical debt ratio: < 5%
384
+ - Documentation completeness: >= 90%
385
+
386
+ **Evidence Sources:**
387
+
388
+ - Coverage reports (Istanbul, NYC, c8, JaCoCo)
389
+ - Static analysis (ESLint, SonarQube, CodeClimate)
390
+ - Documentation audit (manual or automated)
391
+ - Test review report (from test-review workflow)
392
+ - Git metrics (code churn, commit frequency)
393
+
394
+ ---
395
+
396
+ ## Deterministic Assessment Rules
397
+
398
+ ### PASS Rules
399
+
400
+ - Evidence exists
401
+ - Evidence meets or exceeds threshold
402
+ - No concerns flagged
403
+ - Quality is acceptable
404
+
405
+ **Example:**
406
+
407
+ ```markdown
408
+ NFR: Response Time p95
409
+ Threshold: 500ms
410
+ Evidence: Load test result shows 350ms p95
411
+ Status: PASS ✅
412
+ ```
413
+
414
+ ---
415
+
416
+ ### CONCERNS Rules
417
+
418
+ - Threshold is UNKNOWN
419
+ - Evidence is MISSING or INCOMPLETE
420
+ - Evidence is close to threshold (within 10%)
421
+ - Evidence shows intermittent issues
422
+ - Quality is marginal
423
+
424
+ **Example:**
425
+
426
+ ```markdown
427
+ NFR: Response Time p95
428
+ Threshold: 500ms
429
+ Evidence: Load test result shows 480ms p95 (96% of threshold)
430
+ Status: CONCERNS ⚠️
431
+ Recommendation: Optimize before production - very close to threshold
432
+ ```
433
+
434
+ ---
435
+
436
+ ### FAIL Rules
437
+
438
+ - Evidence exists BUT does not meet threshold
439
+ - Critical evidence is MISSING
440
+ - Evidence shows consistent failures
441
+ - Quality is unacceptable
442
+
443
+ **Example:**
444
+
445
+ ```markdown
446
+ NFR: Response Time p95
447
+ Threshold: 500ms
448
+ Evidence: Load test result shows 750ms p95 (150% of threshold)
449
+ Status: FAIL ❌
450
+ Recommendation: BLOCKER - optimize performance before release
451
+ ```
452
+
453
+ ---
454
+
455
+ ## Integration with BMad Artifacts
456
+
457
+ ### With tech-spec.md
458
+
459
+ - Primary source for NFR requirements and thresholds
460
+ - Load performance targets, security requirements, reliability SLAs
461
+ - Use architectural decisions to understand NFR trade-offs
462
+
463
+ ### With test-design.md
464
+
465
+ - Understand NFR test plan and priorities
466
+ - Reference test priorities (P0/P1/P2/P3) for severity classification
467
+ - Align assessment with planned NFR validation
468
+
469
+ ### With PRD.md
470
+
471
+ - Understand product-level NFR expectations
472
+ - Verify NFRs align with user experience goals
473
+ - Check for unstated NFR requirements (implied by product goals)
474
+
475
+ ---
476
+
477
+ ## Quality Gates
478
+
479
+ ### Release Blocker (FAIL)
480
+
481
+ - Critical NFR has FAIL status (security, reliability)
482
+ - Performance failure affects user experience severely
483
+ - Do not release until FAIL is resolved
484
+
485
+ ### PR Blocker (HIGH CONCERNS)
486
+
487
+ - High-priority NFR has FAIL status
488
+ - Multiple CONCERNS exist
489
+ - Block PR merge until addressed
490
+
491
+ ### Warning (CONCERNS)
492
+
493
+ - Any NFR has CONCERNS status
494
+ - Evidence is missing or incomplete
495
+ - Address before next release
496
+
497
+ ### Pass (PASS)
498
+
499
+ - All NFRs have PASS status
500
+ - No blockers or concerns
501
+ - Ready for release
502
+
503
+ ---
504
+
505
+ ## Example NFR Assessment
506
+
507
+ ````markdown
508
+ # NFR Assessment - Story 1.3
509
+
510
+ **Feature:** User Authentication
511
+ **Date:** 2025-10-14
512
+ **Overall Status:** CONCERNS ⚠️ (1 HIGH issue)
513
+
514
+ ## Executive Summary
515
+
516
+ **Assessment:** 3 PASS, 1 CONCERNS, 0 FAIL
517
+ **Blockers:** None
518
+ **High Priority Issues:** 1 (Security - MFA not enforced)
519
+ **Recommendation:** Address security concern before release
520
+
521
+ ## Performance Assessment
522
+
523
+ ### Response Time (p95)
524
+
525
+ - **Status:** PASS ✅
526
+ - **Threshold:** 500ms
527
+ - **Actual:** 320ms (64% of threshold)
528
+ - **Evidence:** Load test results (test-results/load-2025-10-14.json)
529
+ - **Findings:** Response time well below threshold across all percentiles
530
+
531
+ ### Throughput
532
+
533
+ - **Status:** PASS ✅
534
+ - **Threshold:** 100 RPS
535
+ - **Actual:** 250 RPS (250% of threshold)
536
+ - **Evidence:** Load test results (test-results/load-2025-10-14.json)
537
+ - **Findings:** System handles 2.5x target load without degradation
538
+
539
+ ## Security Assessment
540
+
541
+ ### Authentication Strength
542
+
543
+ - **Status:** CONCERNS ⚠️
544
+ - **Threshold:** MFA enabled for all users
545
+ - **Actual:** MFA optional (not enforced)
546
+ - **Evidence:** Security audit (security-audit-2025-10-14.md)
547
+ - **Findings:** MFA is implemented but not enforced by default
548
+ - **Recommendation:** HIGH - Enforce MFA for all new accounts, provide migration path for existing users
549
+
550
+ ### Data Protection
551
+
552
+ - **Status:** PASS ✅
553
+ - **Threshold:** PII encrypted at rest and in transit
554
+ - **Actual:** AES-256 at rest, TLS 1.3 in transit
555
+ - **Evidence:** Security scan (security-scan-2025-10-14.json)
556
+ - **Findings:** All PII properly encrypted
557
+
558
+ ## Reliability Assessment
559
+
560
+ ### Uptime
561
+
562
+ - **Status:** PASS ✅
563
+ - **Threshold:** 99.9% (three nines)
564
+ - **Actual:** 99.95% over 30 days
565
+ - **Evidence:** Uptime monitoring (uptime-report-2025-10-14.csv)
566
+ - **Findings:** Exceeds target with margin
567
+
568
+ ### Error Rate
569
+
570
+ - **Status:** PASS ✅
571
+ - **Threshold:** < 0.1% (1 in 1000)
572
+ - **Actual:** 0.05% (1 in 2000)
573
+ - **Evidence:** Error logs (logs/errors-2025-10.log)
574
+ - **Findings:** Error rate well below threshold
575
+
576
+ ## Maintainability Assessment
577
+
578
+ ### Test Coverage
579
+
580
+ - **Status:** PASS ✅
581
+ - **Threshold:** >= 80%
582
+ - **Actual:** 87%
583
+ - **Evidence:** Coverage report (coverage/lcov-report/index.html)
584
+ - **Findings:** Coverage exceeds threshold with good distribution
585
+
586
+ ### Code Quality
587
+
588
+ - **Status:** PASS ✅
589
+ - **Threshold:** >= 85/100
590
+ - **Actual:** 92/100
591
+ - **Evidence:** SonarQube analysis (sonarqube-report-2025-10-14.pdf)
592
+ - **Findings:** High code quality score with low technical debt
593
+
594
+ ## Quick Wins
595
+
596
+ 1. **Enforce MFA (Security)** - HIGH - 4 hours
597
+ - Add configuration flag to enforce MFA for new accounts
598
+ - No code changes needed, only config adjustment
599
+
600
+ ## Recommended Actions
601
+
602
+ ### Immediate (Before Release)
603
+
604
+ 1. **Enforce MFA for all new accounts** - HIGH - 4 hours - Security Team
605
+ - Add `ENFORCE_MFA=true` to production config
606
+ - Update user onboarding flow to require MFA setup
607
+ - Test MFA enforcement in staging environment
608
+
609
+ ### Short-term (Next Sprint)
610
+
611
+ 1. **Migrate existing users to MFA** - MEDIUM - 3 days - Product + Engineering
612
+ - Design migration UX (prompt, incentives, deadline)
613
+ - Implement migration flow with grace period
614
+ - Communicate migration to existing users
615
+
616
+ ## Evidence Gaps
617
+
618
+ - [ ] Chaos engineering test results (reliability)
619
+ - Owner: DevOps Team
620
+ - Deadline: 2025-10-21
621
+ - Suggested evidence: Run chaos monkey tests in staging
622
+
623
+ - [ ] Penetration test report (security)
624
+ - Owner: Security Team
625
+ - Deadline: 2025-10-28
626
+ - Suggested evidence: Schedule third-party pentest
627
+
628
+ ## Gate YAML Snippet
629
+
630
+ ```yaml
631
+ nfr_assessment:
632
+ date: '2025-10-14'
633
+ story_id: '1.3'
634
+ categories:
635
+ performance: 'PASS'
636
+ security: 'CONCERNS'
637
+ reliability: 'PASS'
638
+ maintainability: 'PASS'
639
+ overall_status: 'CONCERNS'
640
+ critical_issues: 0
641
+ high_priority_issues: 1
642
+ medium_priority_issues: 0
643
+ concerns: 1
644
+ blockers: false
645
+ recommendations:
646
+ - 'Enforce MFA for all new accounts (HIGH - 4 hours)'
647
+ evidence_gaps: 2
648
+ ```
649
+ ````
650
+
651
+ ## Recommendations Summary
652
+
653
+ - **Release Blocker:** None ✅
654
+ - **High Priority:** 1 (Enforce MFA before release)
655
+ - **Medium Priority:** 1 (Migrate existing users to MFA)
656
+ - **Next Steps:** Address HIGH priority item, then proceed to gate workflow
657
+
658
+ ```
659
+
660
+ ---
661
+
662
+ ## Validation Checklist
663
+
664
+ Before completing this workflow, verify:
665
+
666
+ - ✅ All NFR categories assessed (performance, security, reliability, maintainability, custom)
667
+ - ✅ Thresholds defined or marked as UNKNOWN
668
+ - ✅ Evidence gathered for each NFR (or marked as MISSING)
669
+ - ✅ Status classified deterministically (PASS/CONCERNS/FAIL)
670
+ - ✅ No thresholds were guessed (marked as CONCERNS if unknown)
671
+ - ✅ Quick wins identified for CONCERNS/FAIL
672
+ - ✅ Recommended actions are specific and actionable
673
+ - ✅ Evidence gaps documented with owners and deadlines
674
+ - ✅ NFR assessment report generated and saved
675
+ - ✅ Gate YAML snippet generated (if enabled)
676
+ - ✅ Evidence checklist generated (if enabled)
677
+
678
+ ---
679
+
680
+ ## Notes
681
+
682
+ - **Never Guess Thresholds:** If a threshold is unknown, mark as CONCERNS and recommend defining it
683
+ - **Evidence-Based:** Every assessment must be backed by evidence (tests, metrics, logs, CI results)
684
+ - **Deterministic Rules:** Use consistent PASS/CONCERNS/FAIL classification based on evidence
685
+ - **Actionable Recommendations:** Provide specific steps, not generic advice
686
+ - **Gate Integration:** Generate YAML snippets that can be consumed by CI/CD pipelines
687
+
688
+ ---
689
+
690
+ ## Troubleshooting
691
+
692
+ ### "NFR thresholds not defined"
693
+ - Check tech-spec.md for NFR requirements
694
+ - Check PRD.md for product-level SLAs
695
+ - Check story file for feature-specific requirements
696
+ - If thresholds truly unknown, mark as CONCERNS and recommend defining them
697
+
698
+ ### "No evidence found"
699
+ - Check evidence directories (test-results, metrics, logs)
700
+ - Check CI/CD pipeline for test results
701
+ - If evidence truly missing, mark NFR as "NO EVIDENCE" and recommend generating it
702
+
703
+ ### "CONCERNS status but no threshold exceeded"
704
+ - CONCERNS is correct when threshold is UNKNOWN or evidence is MISSING/INCOMPLETE
705
+ - CONCERNS is also correct when evidence is close to threshold (within 10%)
706
+ - Document why CONCERNS was assigned
707
+
708
+ ### "FAIL status blocks release"
709
+ - This is intentional - FAIL means critical NFR not met
710
+ - Recommend remediation actions with specific steps
711
+ - Re-run assessment after remediation
712
+
713
+ ---
714
+
715
+ ## Related Workflows
716
+
717
+ - **testarch-test-design** - Define NFR requirements and test plan
718
+ - **testarch-framework** - Set up performance/security testing frameworks
719
+ - **testarch-ci** - Configure CI/CD for NFR validation
720
+ - **testarch-gate** - Use NFR assessment as input for quality gate decisions
721
+ - **testarch-test-review** - Review test quality (maintainability NFR)
722
+
723
+ ---
724
+
725
+ <!-- Powered by BMAD-CORE™ -->
726
+ ```