bmad-elsabro 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/.auto-claude-security.json +209 -0
  2. package/.claude_settings.json +34 -0
  3. package/.coderabbit.yaml +40 -0
  4. package/.nvmrc +1 -0
  5. package/.prettierignore +9 -0
  6. package/AI_TEST_GENERATOR_VERIFICATION.md +260 -0
  7. package/BUDGET_ALERT_TESTING.md +325 -0
  8. package/CHANGELOG.md +1488 -0
  9. package/CNAME +1 -0
  10. package/CONTRIBUTING.md +167 -0
  11. package/CONTRIBUTORS.md +32 -0
  12. package/LEGACY_MIGRATION_TESTING.md +428 -0
  13. package/LICENSE +30 -0
  14. package/PARTY_MODE_VERIFICATION.md +274 -0
  15. package/PROJECT_DETECTOR_TESTING.md +288 -0
  16. package/README.md +236 -0
  17. package/SECURITY.md +85 -0
  18. package/TRADEMARK.md +55 -0
  19. package/WORKFLOW_ROUTER_IMPLEMENTATION.md +379 -0
  20. package/Wordmark.png +0 -0
  21. package/banner-bmad-method.png +0 -0
  22. package/build/icons/512x512.png +0 -0
  23. package/build-mac.sh +3 -0
  24. package/docs/404.md +9 -0
  25. package/docs/_STYLE_GUIDE.md +367 -0
  26. package/docs/developer/api-reference.md +945 -0
  27. package/docs/developer/architecture.md +563 -0
  28. package/docs/developer/contributing.md +831 -0
  29. package/docs/downloads.md +74 -0
  30. package/docs/explanation/advanced-elicitation.md +24 -0
  31. package/docs/explanation/adversarial-review.md +57 -0
  32. package/docs/explanation/brainstorming.md +31 -0
  33. package/docs/explanation/brownfield-faq.md +55 -0
  34. package/docs/explanation/party-mode.md +57 -0
  35. package/docs/explanation/preventing-agent-conflicts.md +110 -0
  36. package/docs/explanation/quick-flow.md +27 -0
  37. package/docs/explanation/why-solutioning-matters.md +75 -0
  38. package/docs/how-to/brownfield/index.md +84 -0
  39. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +76 -0
  40. package/docs/how-to/customize-bmad.md +158 -0
  41. package/docs/how-to/get-answers-about-bmad.md +102 -0
  42. package/docs/how-to/install-bmad.md +82 -0
  43. package/docs/how-to/shard-large-documents.md +101 -0
  44. package/docs/how-to/upgrade-to-v6.md +131 -0
  45. package/docs/index.md +56 -0
  46. package/docs/reference/workflow-map.md +83 -0
  47. package/docs/tea/explanation/engagement-models.md +710 -0
  48. package/docs/tea/explanation/fixture-architecture.md +457 -0
  49. package/docs/tea/explanation/knowledge-base-system.md +554 -0
  50. package/docs/tea/explanation/network-first-patterns.md +853 -0
  51. package/docs/tea/explanation/risk-based-testing.md +586 -0
  52. package/docs/tea/explanation/tea-overview.md +410 -0
  53. package/docs/tea/explanation/test-quality-standards.md +907 -0
  54. package/docs/tea/explanation/testing-as-engineering.md +112 -0
  55. package/docs/tea/glossary/index.md +159 -0
  56. package/docs/tea/how-to/brownfield/use-tea-for-enterprise.md +525 -0
  57. package/docs/tea/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
  58. package/docs/tea/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
  59. package/docs/tea/how-to/customization/integrate-playwright-utils.md +813 -0
  60. package/docs/tea/how-to/workflows/run-atdd.md +436 -0
  61. package/docs/tea/how-to/workflows/run-automate.md +653 -0
  62. package/docs/tea/how-to/workflows/run-nfr-assess.md +679 -0
  63. package/docs/tea/how-to/workflows/run-test-design.md +135 -0
  64. package/docs/tea/how-to/workflows/run-test-review.md +605 -0
  65. package/docs/tea/how-to/workflows/run-trace.md +883 -0
  66. package/docs/tea/how-to/workflows/setup-ci.md +712 -0
  67. package/docs/tea/how-to/workflows/setup-test-framework.md +98 -0
  68. package/docs/tea/reference/commands.md +276 -0
  69. package/docs/tea/reference/configuration.md +678 -0
  70. package/docs/tea/reference/knowledge-base.md +340 -0
  71. package/docs/tea/tutorials/tea-lite-quickstart.md +444 -0
  72. package/docs/tutorials/getting-started.md +205 -0
  73. package/docs/user-guide/getting-started.md +348 -0
  74. package/docs/user-guide/token-economy.md +601 -0
  75. package/docs/user-guide/workflows.md +546 -0
  76. package/electron-builder.yml +75 -0
  77. package/eslint.config.mjs +152 -0
  78. package/package.json +162 -0
  79. package/prettier.config.mjs +32 -0
  80. package/public/monaco-workers/index.js +21 -0
  81. package/renderer/App.tsx +311 -0
  82. package/renderer/components/ChatPanel.tsx +285 -0
  83. package/renderer/components/CodeEditor.tsx +327 -0
  84. package/renderer/components/CodeEditor.types.ts +245 -0
  85. package/renderer/components/FlowSelector.tsx +534 -0
  86. package/renderer/components/MessageInput.tsx +252 -0
  87. package/renderer/components/MessageList.tsx +204 -0
  88. package/renderer/components/MigrationWizard.tsx +896 -0
  89. package/renderer/components/NotificationCenter.tsx +291 -0
  90. package/renderer/components/OnboardingWizard.tsx +112 -0
  91. package/renderer/components/PartyMode.tsx +555 -0
  92. package/renderer/components/Sidebar.module.css +258 -0
  93. package/renderer/components/Sidebar.tsx +157 -0
  94. package/renderer/components/TemplateSelector.tsx +553 -0
  95. package/renderer/components/Terminal.tsx +523 -0
  96. package/renderer/components/TestCenter.tsx +364 -0
  97. package/renderer/components/TokenAnalytics.tsx +607 -0
  98. package/renderer/components/TokenMonitor.tsx +331 -0
  99. package/renderer/components/TutorialOverlay.tsx +483 -0
  100. package/renderer/components/WorkflowEditor.tsx +470 -0
  101. package/renderer/components/onboarding/Step1Welcome.tsx +72 -0
  102. package/renderer/components/onboarding/Step2Setup.tsx +193 -0
  103. package/renderer/components/onboarding/Step3CreateProject.tsx +209 -0
  104. package/renderer/components/test-center/CoverageDashboard.tsx +588 -0
  105. package/renderer/components/test-center/ELI5Guide.tsx +521 -0
  106. package/renderer/components/test-center/TestList.tsx +381 -0
  107. package/renderer/components/test-center/TestRunner.tsx +431 -0
  108. package/renderer/components/test-center/TestStepWizard.tsx +1000 -0
  109. package/renderer/components/test-center/VisualTestBuilder.tsx +460 -0
  110. package/renderer/components/workflow/DependencyEdge.tsx +200 -0
  111. package/renderer/components/workflow/StepNode.tsx +234 -0
  112. package/renderer/components/workflow/StepPalette.tsx +412 -0
  113. package/renderer/context/ThemeContext.tsx +97 -0
  114. package/renderer/data/shortcuts.json +94 -0
  115. package/renderer/data/testing-guides.json +261 -0
  116. package/renderer/data/tutorials.json +546 -0
  117. package/renderer/hooks/useKeyboardShortcuts.ts +249 -0
  118. package/renderer/hooks/useNotifications.ts +267 -0
  119. package/renderer/hooks/useTheme.ts +149 -0
  120. package/renderer/hooks/useTokenTracking.ts +464 -0
  121. package/renderer/hooks/useWorkflowState.ts +309 -0
  122. package/renderer/index.html +16 -0
  123. package/renderer/index.tsx +17 -0
  124. package/renderer/lib/MONACO_OFFLINE_CONFIG.md +153 -0
  125. package/renderer/lib/chart-utils.ts +472 -0
  126. package/renderer/lib/file-system-provider.ts +295 -0
  127. package/renderer/lib/monaco-loader.ts +247 -0
  128. package/renderer/renderer/components/NOTIFICATION_SYSTEM.md +192 -0
  129. package/renderer/styles.css +55 -0
  130. package/renderer/types/css-modules.d.ts +21 -0
  131. package/renderer/types/electron.d.ts +316 -0
  132. package/src/bmm/_module-installer/installer.js +48 -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/parallel-orchestrator.agent.yaml +50 -0
  137. package/src/bmm/agents/pm.agent.yaml +46 -0
  138. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
  139. package/src/bmm/agents/sm.agent.yaml +36 -0
  140. package/src/bmm/agents/tea.agent.yaml +63 -0
  141. package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  142. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +45 -0
  143. package/src/bmm/agents/ux-designer.agent.yaml +26 -0
  144. package/src/bmm/agents/yolo-dev.agent.yaml +41 -0
  145. package/src/bmm/data/auto-testing-config.yaml +84 -0
  146. package/src/bmm/data/guided-mode-instructions.yaml +112 -0
  147. package/src/bmm/data/parallelization-config.yaml +136 -0
  148. package/src/bmm/data/project-context-template.md +26 -0
  149. package/src/bmm/data/speed-profiles.yaml +127 -0
  150. package/src/bmm/module-help.csv +32 -0
  151. package/src/bmm/module.yaml +60 -0
  152. package/src/bmm/teams/default-party.csv +21 -0
  153. package/src/bmm/teams/team-fullstack.yaml +12 -0
  154. package/src/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
  155. package/src/bmm/testarch/knowledge/api-request.md +442 -0
  156. package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  157. package/src/bmm/testarch/knowledge/auth-session.md +552 -0
  158. package/src/bmm/testarch/knowledge/burn-in.md +273 -0
  159. package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  160. package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
  161. package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
  162. package/src/bmm/testarch/knowledge/data-factories.md +500 -0
  163. package/src/bmm/testarch/knowledge/email-auth.md +721 -0
  164. package/src/bmm/testarch/knowledge/error-handling.md +725 -0
  165. package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
  166. package/src/bmm/testarch/knowledge/file-utils.md +463 -0
  167. package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  168. package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  169. package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
  170. package/src/bmm/testarch/knowledge/log.md +429 -0
  171. package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
  172. package/src/bmm/testarch/knowledge/network-first.md +486 -0
  173. package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
  174. package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  175. package/src/bmm/testarch/knowledge/overview.md +286 -0
  176. package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
  177. package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
  178. package/src/bmm/testarch/knowledge/recurse.md +421 -0
  179. package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
  180. package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
  181. package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
  182. package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  183. package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  184. package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  185. package/src/bmm/testarch/knowledge/test-quality.md +664 -0
  186. package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
  187. package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
  188. package/src/bmm/testarch/tea-index.csv +35 -0
  189. package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  190. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  191. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  192. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  193. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  194. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  195. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  196. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  197. package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  198. package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  199. package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  200. package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  201. package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  202. package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  203. package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  204. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  205. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  206. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  207. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  208. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  209. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  210. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  211. package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
  212. package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  213. package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  214. package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  215. package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  216. package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  217. package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  218. package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
  219. package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +13 -0
  220. package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  221. package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  222. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  223. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
  224. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  225. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  226. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  227. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  228. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  229. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  230. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  231. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  232. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  233. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  234. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  235. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  236. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  237. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  238. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  239. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  240. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
  241. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  242. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  243. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  244. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  245. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  246. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  247. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  248. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  249. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  250. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  251. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  252. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  253. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  254. package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  255. package/src/bmm/workflows/2-plan-workflows/create-prd/validation-report-prd-workflow.md +433 -0
  256. package/src/bmm/workflows/2-plan-workflows/create-prd/workflow.md +150 -0
  257. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  258. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  259. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  260. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  261. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  262. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  263. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  264. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  265. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  266. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  267. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  268. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  269. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  270. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  271. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  272. package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  273. package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  274. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  275. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  276. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  277. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  278. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  279. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
  280. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  281. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  282. package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  283. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  284. package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  285. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  286. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  287. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  288. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  289. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  290. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  291. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  292. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  293. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  294. package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  295. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  296. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  297. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  298. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  299. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  300. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  301. package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  302. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  303. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
  304. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  305. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  306. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
  307. package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  308. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  309. package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
  310. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
  311. package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  312. package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  313. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +32 -0
  314. package/src/bmm/workflows/4-implementation/fix-and-test/workflow.md +197 -0
  315. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  316. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
  317. package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  318. package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  319. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  320. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
  321. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  322. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
  323. package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-01-detect.md +55 -0
  324. package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-02-confirm.md +48 -0
  325. package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-03-implement.md +61 -0
  326. package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/workflow.md +41 -0
  327. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
  328. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  329. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +153 -0
  330. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  331. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  332. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
  333. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +73 -0
  334. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
  335. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
  336. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  337. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
  338. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  339. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +93 -0
  340. package/src/bmm/workflows/bmad-quick-flow/yolo-mode/steps/step-01-rapid-spec.md +54 -0
  341. package/src/bmm/workflows/bmad-quick-flow/yolo-mode/steps/step-02-ship-it.md +65 -0
  342. package/src/bmm/workflows/bmad-quick-flow/yolo-mode/workflow.md +54 -0
  343. package/src/bmm/workflows/document-project/checklist.md +245 -0
  344. package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  345. package/src/bmm/workflows/document-project/instructions.md +221 -0
  346. package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  347. package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
  348. package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  349. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  350. package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  351. package/src/bmm/workflows/document-project/workflow.yaml +30 -0
  352. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  353. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  354. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  355. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  356. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  357. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  358. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  359. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  360. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
  361. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  362. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  363. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
  364. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  365. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  366. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
  367. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  368. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  369. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
  370. package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-01-parse-target.md +49 -0
  371. package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-02-launch-streams.md +135 -0
  372. package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-03-sync-point.md +74 -0
  373. package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-04-merge-insights.md +179 -0
  374. package/src/bmm/workflows/parallel-work/parallel-analysis/workflow.md +55 -0
  375. package/src/bmm/workflows/parallel-work/parallel-generation/workflow.md +109 -0
  376. package/src/bmm/workflows/parallel-work/parallel-reviews/workflow.md +111 -0
  377. package/src/bmm/workflows/parallel-work/parallel-stories/workflow.md +112 -0
  378. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-01-load-sprint.md +54 -0
  379. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-02-plan-execution.md +63 -0
  380. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-03-execute-stories.md +112 -0
  381. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-04-code-review.md +148 -0
  382. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-05-integration-testing.md +200 -0
  383. package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-06-sprint-report.md +290 -0
  384. package/src/bmm/workflows/parallel-work/sprint-mode/workflow.md +58 -0
  385. package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  386. package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
  387. package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
  388. package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
  389. package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
  390. package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
  391. package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
  392. package/src/bmm/workflows/testarch/ci/checklist.md +247 -0
  393. package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  394. package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  395. package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
  396. package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
  397. package/src/bmm/workflows/testarch/framework/checklist.md +320 -0
  398. package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
  399. package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
  400. package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  401. package/src/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
  402. package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
  403. package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  404. package/src/bmm/workflows/testarch/test-design/checklist.md +407 -0
  405. package/src/bmm/workflows/testarch/test-design/instructions.md +1158 -0
  406. package/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
  407. package/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
  408. package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  409. package/src/bmm/workflows/testarch/test-design/workflow.yaml +71 -0
  410. package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
  411. package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
  412. package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  413. package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
  414. package/src/bmm/workflows/testarch/trace/checklist.md +642 -0
  415. package/src/bmm/workflows/testarch/trace/instructions.md +1030 -0
  416. package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
  417. package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
  418. package/src/core/_module-installer/installer.js +60 -0
  419. package/src/core/agents/bmad-master.agent.yaml +29 -0
  420. package/src/core/module-help.csv +9 -0
  421. package/src/core/module.yaml +25 -0
  422. package/src/core/resources/excalidraw/README.md +160 -0
  423. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  424. package/src/core/resources/excalidraw/library-loader.md +50 -0
  425. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  426. package/src/core/tasks/editorial-review-prose.xml +100 -0
  427. package/src/core/tasks/editorial-review-structure.xml +209 -0
  428. package/src/core/tasks/help.md +62 -0
  429. package/src/core/tasks/index-docs.xml +65 -0
  430. package/src/core/tasks/review-adversarial-general.xml +48 -0
  431. package/src/core/tasks/shard-doc.xml +109 -0
  432. package/src/core/tasks/workflow.xml +235 -0
  433. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  434. package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
  435. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  436. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  437. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  438. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  439. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  440. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  441. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  442. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  443. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  444. package/src/core/workflows/brainstorming/template.md +15 -0
  445. package/src/core/workflows/brainstorming/workflow.md +58 -0
  446. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  447. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  448. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
  449. package/src/core/workflows/party-mode/workflow.md +194 -0
  450. package/src/utility/agent-components/activation-rules.txt +6 -0
  451. package/src/utility/agent-components/activation-steps.txt +14 -0
  452. package/src/utility/agent-components/agent-command-header.md +1 -0
  453. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  454. package/src/utility/agent-components/handler-action.txt +4 -0
  455. package/src/utility/agent-components/handler-data.txt +5 -0
  456. package/src/utility/agent-components/handler-exec.txt +6 -0
  457. package/src/utility/agent-components/handler-multi.txt +14 -0
  458. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  459. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  460. package/src/utility/agent-components/handler-workflow.txt +10 -0
  461. package/src/utility/agent-components/menu-handlers.txt +6 -0
  462. package/tools/bmad-npx-wrapper.js +69 -0
  463. package/tools/build-docs.js +577 -0
  464. package/tools/cli/README.md +7 -0
  465. package/tools/cli/bmad-cli.js +65 -0
  466. package/tools/cli/commands/diagnostics.js +303 -0
  467. package/tools/cli/commands/install.js +87 -0
  468. package/tools/cli/commands/module.js +210 -0
  469. package/tools/cli/commands/status.js +65 -0
  470. package/tools/cli/commands/uninstall.js +86 -0
  471. package/tools/cli/external-official-modules.yaml +54 -0
  472. package/tools/cli/installers/install-messages.yaml +59 -0
  473. package/tools/cli/installers/lib/core/config-collector.js +1079 -0
  474. package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
  475. package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
  476. package/tools/cli/installers/lib/core/detector.js +223 -0
  477. package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
  478. package/tools/cli/installers/lib/core/installer.js +2812 -0
  479. package/tools/cli/installers/lib/core/manifest-generator.js +1054 -0
  480. package/tools/cli/installers/lib/core/manifest.js +1036 -0
  481. package/tools/cli/installers/lib/custom/handler.js +363 -0
  482. package/tools/cli/installers/lib/ide/_base-ide.js +655 -0
  483. package/tools/cli/installers/lib/ide/_config-driven.js +450 -0
  484. package/tools/cli/installers/lib/ide/codex.js +440 -0
  485. package/tools/cli/installers/lib/ide/kilo.js +250 -0
  486. package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
  487. package/tools/cli/installers/lib/ide/manager.js +271 -0
  488. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  489. package/tools/cli/installers/lib/ide/platform-codes.yaml +227 -0
  490. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +181 -0
  491. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +163 -0
  492. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  493. package/tools/cli/installers/lib/ide/shared/path-utils.js +292 -0
  494. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +270 -0
  495. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +319 -0
  496. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  497. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  498. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  499. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
  500. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  501. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  502. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  503. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  504. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  505. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  506. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  507. package/tools/cli/installers/lib/ide/templates/split/opencode/body.md +10 -0
  508. package/tools/cli/installers/lib/ide/templates/split/opencode/header.md +4 -0
  509. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  510. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  511. package/tools/cli/installers/lib/message-loader.js +85 -0
  512. package/tools/cli/installers/lib/modules/external-manager.js +135 -0
  513. package/tools/cli/installers/lib/modules/manager.js +1375 -0
  514. package/tools/cli/lib/activation-builder.js +163 -0
  515. package/tools/cli/lib/agent/compiler.js +522 -0
  516. package/tools/cli/lib/agent/compiler.ts +572 -0
  517. package/tools/cli/lib/agent/installer.js +716 -0
  518. package/tools/cli/lib/agent/template-engine.js +152 -0
  519. package/tools/cli/lib/agent/types.ts +155 -0
  520. package/tools/cli/lib/agent-analyzer.js +109 -0
  521. package/tools/cli/lib/agent-party-generator.js +194 -0
  522. package/tools/cli/lib/cli-utils.js +227 -0
  523. package/tools/cli/lib/config.js +213 -0
  524. package/tools/cli/lib/config.ts +227 -0
  525. package/tools/cli/lib/file-ops.js +204 -0
  526. package/tools/cli/lib/file-ops.ts +215 -0
  527. package/tools/cli/lib/platform-codes.js +116 -0
  528. package/tools/cli/lib/project-root.js +77 -0
  529. package/tools/cli/lib/prompts.js +433 -0
  530. package/tools/cli/lib/prompts.ts +541 -0
  531. package/tools/cli/lib/types/config.types.ts +43 -0
  532. package/tools/cli/lib/types/xml-handler.types.ts +50 -0
  533. package/tools/cli/lib/ui.js +1660 -0
  534. package/tools/cli/lib/xml-handler.js +177 -0
  535. package/tools/cli/lib/xml-handler.ts +188 -0
  536. package/tools/cli/lib/xml-to-markdown.js +82 -0
  537. package/tools/cli/lib/yaml-format.js +245 -0
  538. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  539. package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  540. package/tools/docs/fix-refs.md +91 -0
  541. package/tools/docs/index.md +2 -0
  542. package/tools/fix-doc-links.js +288 -0
  543. package/tools/flattener/aggregate.js +76 -0
  544. package/tools/flattener/aggregate.ts +78 -0
  545. package/tools/flattener/binary.js +80 -0
  546. package/tools/flattener/discovery.js +71 -0
  547. package/tools/flattener/files.js +35 -0
  548. package/tools/flattener/files.ts +31 -0
  549. package/tools/flattener/ignoreRules.js +172 -0
  550. package/tools/flattener/main.js +483 -0
  551. package/tools/flattener/main.ts +262 -0
  552. package/tools/flattener/projectRoot.js +201 -0
  553. package/tools/flattener/prompts.js +44 -0
  554. package/tools/flattener/stats.helpers.js +368 -0
  555. package/tools/flattener/stats.js +75 -0
  556. package/tools/flattener/test-matrix.js +409 -0
  557. package/tools/flattener/types.ts +53 -0
  558. package/tools/flattener/xml.js +82 -0
  559. package/tools/format-workflow-md.js +263 -0
  560. package/tools/lib/xml-utils.js +13 -0
  561. package/tools/maintainer/review-pr-README.md +55 -0
  562. package/tools/maintainer/review-pr.md +242 -0
  563. package/tools/migrate-custom-module-paths.js +124 -0
  564. package/tools/platform-codes.yaml +157 -0
  565. package/tools/schema/agent.js +491 -0
  566. package/tools/schema/agent.ts +489 -0
  567. package/tools/schema/agent.types.ts +31 -0
  568. package/tools/update-bmad.sh +24 -0
  569. package/tools/validate-agent-schema.js +110 -0
  570. package/tools/validate-doc-links.js +371 -0
  571. package/tools/validate-svg-changes.sh +356 -0
  572. package/vite-plugin-monaco-editor.ts +108 -0
@@ -0,0 +1,192 @@
1
+ # Notification System
2
+
3
+ A comprehensive notification system for BMAD Studio with support for multiple notification types, auto-dismissal, manual dismissal, and action buttons.
4
+
5
+ ## Components
6
+
7
+ ### NotificationCenter
8
+
9
+ Fixed-position component that displays notifications with smooth animations.
10
+
11
+ **Features:**
12
+ - Multiple notification types (success, error, warning, info)
13
+ - Auto-dismiss with configurable timeout
14
+ - Manual dismissal via close button
15
+ - Smooth enter/exit animations
16
+ - Stacking support for multiple notifications
17
+ - Dark/light theme support
18
+ - Progress bar showing remaining time
19
+ - ARIA live regions for accessibility
20
+
21
+ ### useNotifications Hook
22
+
23
+ Custom React hook for managing notification state and lifecycle.
24
+
25
+ **Features:**
26
+ - Add notifications with `success()`, `error()`, `warning()`, `info()`, or `notify()`
27
+ - Dismiss individual notifications with `dismiss(id)`
28
+ - Clear all notifications with `clearAll()`
29
+ - Configurable auto-dismiss duration
30
+ - Optional action buttons
31
+ - Unique ID generation
32
+
33
+ ## Usage
34
+
35
+ ### Basic Setup
36
+
37
+ ```tsx
38
+ import React from 'react';
39
+ import NotificationCenter from './components/NotificationCenter';
40
+ import { useNotifications } from './hooks/useNotifications';
41
+
42
+ function App() {
43
+ const { notifications, success, error, warning, info, dismiss } = useNotifications();
44
+
45
+ return (
46
+ <div>
47
+ {/* Your app content */}
48
+
49
+ {/* Add NotificationCenter anywhere in your component tree */}
50
+ <NotificationCenter
51
+ notifications={notifications}
52
+ onDismiss={dismiss}
53
+ position="top-right"
54
+ />
55
+ </div>
56
+ );
57
+ }
58
+ ```
59
+
60
+ ### Showing Notifications
61
+
62
+ ```tsx
63
+ // Success notification (auto-dismisses after 5 seconds)
64
+ success('Operation completed successfully!');
65
+
66
+ // Error notification (does not auto-dismiss by default)
67
+ error('An error occurred', {
68
+ description: 'Please check your input and try again.'
69
+ });
70
+
71
+ // Warning notification
72
+ warning('This action cannot be undone!', {
73
+ duration: 10000 // Custom 10-second duration
74
+ });
75
+
76
+ // Info notification with action button
77
+ info('New update available', {
78
+ description: 'Version 1.1.0 is ready to install.',
79
+ action: {
80
+ label: 'Update Now',
81
+ onClick: () => {
82
+ // Handle update
83
+ }
84
+ }
85
+ });
86
+
87
+ // Custom notification with all options
88
+ notify('success', 'Custom notification', {
89
+ description: 'Optional detailed description',
90
+ duration: 7000, // 7 seconds
91
+ dismissible: true, // Show dismiss button
92
+ action: {
93
+ label: 'View Details',
94
+ onClick: () => console.log('Action clicked')
95
+ }
96
+ });
97
+ ```
98
+
99
+ ### Advanced Options
100
+
101
+ ```tsx
102
+ // Notification that never auto-dismisses
103
+ error('Critical error', {
104
+ duration: 0, // 0 = no auto-dismiss
105
+ dismissible: true
106
+ });
107
+
108
+ // Non-dismissible notification (e.g., for system messages)
109
+ info('System maintenance in progress', {
110
+ duration: 0,
111
+ dismissible: false
112
+ });
113
+
114
+ // Get notification ID for manual control
115
+ const id = success('Processing...');
116
+ // Later, dismiss it manually
117
+ dismiss(id);
118
+
119
+ // Clear all notifications at once
120
+ clearAll();
121
+ ```
122
+
123
+ ### Configuration
124
+
125
+ **NotificationCenter Props:**
126
+ - `notifications` (required): Array of notifications from `useNotifications` hook
127
+ - `onDismiss` (required): Callback function to dismiss notifications
128
+ - `position`: Position of notification center (default: `'top-right'`)
129
+ - Options: `'top-right'`, `'top-left'`, `'bottom-right'`, `'bottom-left'`
130
+ - `maxVisible`: Maximum number of notifications to display (default: `5`)
131
+ - `className`: Optional custom CSS class
132
+
133
+ **Notification Options:**
134
+ - `type`: Notification type (`'success'`, `'error'`, `'warning'`, `'info'`)
135
+ - `message`: Main notification message (required)
136
+ - `description`: Optional detailed description
137
+ - `duration`: Auto-dismiss timeout in milliseconds (default: `5000` for most types, `0` for errors)
138
+ - `dismissible`: Whether notification can be manually dismissed (default: `true`)
139
+ - `action`: Optional action button with `label` and `onClick` callback
140
+
141
+ ## Notification Types
142
+
143
+ ### Success (Green)
144
+ - Icon: ✓
145
+ - Default duration: 5 seconds
146
+ - Use for: Successful operations, confirmations
147
+
148
+ ### Error (Red)
149
+ - Icon: ✕
150
+ - Default duration: Never (0)
151
+ - Use for: Errors, failures, critical issues
152
+
153
+ ### Warning (Yellow)
154
+ - Icon: ⚠
155
+ - Default duration: 5 seconds
156
+ - Use for: Warnings, cautions, important notices
157
+
158
+ ### Info (Blue)
159
+ - Icon: ℹ
160
+ - Default duration: 5 seconds
161
+ - Use for: Information, updates, tips
162
+
163
+ ## Styling
164
+
165
+ The notification system uses TailwindCSS utility classes and supports dark mode automatically through the `dark:` variants.
166
+
167
+ Custom animations are defined in `renderer/styles.css`:
168
+ - `slideInRight`: Entrance animation
169
+ - `slideOutRight`: Exit animation
170
+
171
+ ## Accessibility
172
+
173
+ - Uses ARIA `role="alert"` and `aria-live="polite"`
174
+ - Keyboard accessible dismiss buttons
175
+ - Focus management for action buttons
176
+ - Screen reader friendly labels
177
+
178
+ ## Best Practices
179
+
180
+ 1. **Use appropriate types**: Match notification type to the message severity
181
+ 2. **Keep messages concise**: Main message should be brief, use description for details
182
+ 3. **Don't overuse**: Too many notifications can overwhelm users
183
+ 4. **Auto-dismiss appropriately**:
184
+ - Success/Info: 5 seconds is usually enough
185
+ - Warning: 7-10 seconds for important notices
186
+ - Error: Don't auto-dismiss unless trivial
187
+ 5. **Provide actions when helpful**: If user can take action, include an action button
188
+ 6. **Test with multiple notifications**: Ensure stacking behavior works correctly
189
+
190
+ ## Examples
191
+
192
+ See `renderer/App.tsx` for a complete working example with demo buttons for each notification type.
@@ -0,0 +1,55 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ /* Custom styles for BMAD Studio */
6
+ body {
7
+ margin: 0;
8
+ padding: 0;
9
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
10
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
11
+ sans-serif;
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
15
+
16
+ code {
17
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
18
+ monospace;
19
+ }
20
+
21
+ #root {
22
+ width: 100%;
23
+ height: 100%;
24
+ }
25
+
26
+ /* Notification animations */
27
+ @keyframes slideInRight {
28
+ from {
29
+ transform: translateX(100%);
30
+ opacity: 0;
31
+ }
32
+ to {
33
+ transform: translateX(0);
34
+ opacity: 1;
35
+ }
36
+ }
37
+
38
+ @keyframes slideOutRight {
39
+ from {
40
+ transform: translateX(0);
41
+ opacity: 1;
42
+ }
43
+ to {
44
+ transform: translateX(100%);
45
+ opacity: 0;
46
+ }
47
+ }
48
+
49
+ .animate-slideInRight {
50
+ animation: slideInRight 0.3s ease-out;
51
+ }
52
+
53
+ .animate-slideOutRight {
54
+ animation: slideOutRight 0.3s ease-in;
55
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * CSS Modules Type Definitions
3
+ *
4
+ * This file provides TypeScript support for CSS Module imports.
5
+ * It allows importing .module.css files with proper type checking.
6
+ */
7
+
8
+ declare module '*.module.css' {
9
+ const classes: { [key: string]: string };
10
+ export default classes;
11
+ }
12
+
13
+ declare module '*.module.scss' {
14
+ const classes: { [key: string]: string };
15
+ export default classes;
16
+ }
17
+
18
+ declare module '*.module.sass' {
19
+ const classes: { [key: string]: string };
20
+ export default classes;
21
+ }
@@ -0,0 +1,316 @@
1
+ /**
2
+ * TypeScript declarations for Electron IPC API
3
+ *
4
+ * Defines the types for window.electron API exposed by preload script.
5
+ *
6
+ * @module renderer/types/electron
7
+ */
8
+
9
+ /**
10
+ * Workflow data structure
11
+ */
12
+ interface WorkflowData {
13
+ id: string;
14
+ name: string;
15
+ nodes: unknown[];
16
+ edges: unknown[];
17
+ createdAt: string | Date;
18
+ updatedAt: string | Date;
19
+ }
20
+
21
+ /**
22
+ * Workflow list item
23
+ */
24
+ interface WorkflowListItem {
25
+ id: string;
26
+ name: string;
27
+ path: string;
28
+ createdAt: string;
29
+ updatedAt: string;
30
+ }
31
+
32
+ /**
33
+ * Party Mode Agent
34
+ */
35
+ interface PartyAgent {
36
+ id: string;
37
+ displayName: string;
38
+ title: string;
39
+ icon: string;
40
+ role: string;
41
+ identity: string;
42
+ communicationStyle: string;
43
+ principles?: string;
44
+ module?: string;
45
+ path?: string;
46
+ status: 'idle' | 'thinking' | 'speaking' | 'active';
47
+ contributions: number;
48
+ }
49
+
50
+ /**
51
+ * Party Mode Message
52
+ */
53
+ interface PartyMessage {
54
+ id: string;
55
+ agentId: string;
56
+ agentName: string;
57
+ content: string;
58
+ timestamp: number;
59
+ metadata?: Record<string, unknown>;
60
+ }
61
+
62
+ /**
63
+ * Party Mode Session
64
+ */
65
+ interface PartySession {
66
+ sessionId: string;
67
+ startTime: number;
68
+ endTime?: number;
69
+ agents: PartyAgent[];
70
+ messageHistory: PartyMessage[];
71
+ metadata?: Record<string, unknown>;
72
+ }
73
+
74
+ /**
75
+ * Agent Selection Criteria
76
+ */
77
+ interface AgentSelectionCriteria {
78
+ count?: number;
79
+ preferredAgents?: string[];
80
+ requiredRole?: string;
81
+ balanceContributions?: boolean;
82
+ topic?: string;
83
+ }
84
+
85
+ /**
86
+ * Session Statistics
87
+ */
88
+ interface PartySessionStats {
89
+ totalMessages: number;
90
+ agentContributions: Record<string, number>;
91
+ sessionDuration: number;
92
+ activeAgents: number;
93
+ }
94
+
95
+ /**
96
+ * Project type detection result
97
+ */
98
+ interface ProjectTypeResult {
99
+ id: string;
100
+ name: string;
101
+ category: string;
102
+ confidence: number;
103
+ }
104
+
105
+ /**
106
+ * Project size information
107
+ */
108
+ interface ProjectSize {
109
+ id: string;
110
+ name: string;
111
+ fileCount: number;
112
+ totalLines: number;
113
+ totalSize: number;
114
+ }
115
+
116
+ /**
117
+ * Project detection metadata
118
+ */
119
+ interface ProjectDetectionMeta {
120
+ projectPath: string;
121
+ analyzedAt: string;
122
+ analysisTimeMs: number;
123
+ }
124
+
125
+ /**
126
+ * Complete project detection result
127
+ */
128
+ interface ProjectDetectionResult {
129
+ types: ProjectTypeResult[];
130
+ size: ProjectSize;
131
+ meta: ProjectDetectionMeta;
132
+ }
133
+
134
+ /**
135
+ * Electron API interface exposed to renderer process
136
+ */
137
+ interface ElectronAPI {
138
+ send: (channel: string, data: unknown) => void;
139
+ receive: (channel: string, func: (...args: unknown[]) => void) => void;
140
+ invoke: (channel: string, data?: unknown) => Promise<unknown>;
141
+ }
142
+
143
+ /**
144
+ * Platform information interface
145
+ */
146
+ interface PlatformAPI {
147
+ os: string;
148
+ arch: string;
149
+ version: string;
150
+ }
151
+
152
+ /**
153
+ * Party Mode API
154
+ */
155
+ interface PartyAPI {
156
+ getAgents: () => Promise<PartyAgent[]>;
157
+ startSession: (sessionId?: string, selectedAgentIds?: string[]) => Promise<PartySession>;
158
+ endSession: () => Promise<PartySession | null>;
159
+ getCurrentSession: () => Promise<PartySession | null>;
160
+ getSessionAgents: () => Promise<PartyAgent[]>;
161
+ selectAgents: (criteria: AgentSelectionCriteria) => Promise<PartyAgent[]>;
162
+ updateAgentStatus: (agentId: string, status: PartyAgent['status']) => Promise<void>;
163
+ recordContribution: (agentId: string) => Promise<void>;
164
+ addMessage: (message: Omit<PartyMessage, 'id' | 'timestamp'>) => Promise<PartyMessage>;
165
+ getMessageHistory: () => Promise<PartyMessage[]>;
166
+ getSessionStats: () => Promise<PartySessionStats>;
167
+ reset: () => Promise<void>;
168
+ }
169
+
170
+ /**
171
+ * Project Detector API
172
+ */
173
+ interface ProjectAPI {
174
+ detect: (projectPath: string) => Promise<ProjectDetectionResult>;
175
+ getPrimaryType: (projectPath: string) => Promise<string | null>;
176
+ isType: (projectPath: string, typeId: string, minConfidence?: number) => Promise<boolean>;
177
+ }
178
+
179
+ /**
180
+ * Legacy project information
181
+ */
182
+ interface LegacyProjectInfo {
183
+ isLegacy: boolean;
184
+ version?: string;
185
+ projectPath: string;
186
+ directories: {
187
+ agents?: string;
188
+ workflows?: string;
189
+ config?: string;
190
+ steps?: string;
191
+ };
192
+ counts: {
193
+ agents: number;
194
+ workflows: number;
195
+ steps: number;
196
+ hasConfig: boolean;
197
+ };
198
+ issues: string[];
199
+ }
200
+
201
+ /**
202
+ * Migration step
203
+ */
204
+ interface MigrationStep {
205
+ id: string;
206
+ name: string;
207
+ description: string;
208
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
209
+ progress: number;
210
+ error?: string;
211
+ }
212
+
213
+ /**
214
+ * Migration result
215
+ */
216
+ interface MigrationResult {
217
+ success: boolean;
218
+ steps: MigrationStep[];
219
+ migrated: {
220
+ agents: number;
221
+ workflows: number;
222
+ config: boolean;
223
+ };
224
+ backupPath?: string;
225
+ error?: string;
226
+ completedAt: string;
227
+ }
228
+
229
+ /**
230
+ * Migration options
231
+ */
232
+ interface MigrationOptions {
233
+ sourcePath: string;
234
+ createBackup?: boolean;
235
+ preserveOriginal?: boolean;
236
+ skipSteps?: string[];
237
+ }
238
+
239
+ /**
240
+ * Legacy Migrator API
241
+ */
242
+ interface LegacyMigratorAPI {
243
+ detect: (projectPath: string) => Promise<{ success: boolean; data?: LegacyProjectInfo; error?: string }>;
244
+ migrate: (options: MigrationOptions) => Promise<{ success: boolean; data?: MigrationResult; error?: string }>;
245
+ rollback: (backupPath: string, targetPath: string) => Promise<{ success: boolean; data?: boolean; error?: string }>;
246
+ on: (event: string, callback: (...args: unknown[]) => void) => void;
247
+ off: (event: string) => void;
248
+ }
249
+
250
+ /**
251
+ * Flow type for workflow routing
252
+ */
253
+ type FlowType = 'quick-flow' | 'full-method';
254
+
255
+ /**
256
+ * Complexity level
257
+ */
258
+ type ComplexityLevel = 'trivial' | 'simple' | 'moderate' | 'complex' | 'enterprise';
259
+
260
+ /**
261
+ * Task analysis input for workflow router
262
+ */
263
+ interface TaskAnalysisInput {
264
+ taskDescription: string;
265
+ projectType?: string;
266
+ projectSize?: 'tiny' | 'small' | 'medium' | 'large' | 'huge';
267
+ fileCount?: number;
268
+ userPreference?: FlowType;
269
+ }
270
+
271
+ /**
272
+ * Routing decision from workflow router
273
+ */
274
+ interface RoutingDecision {
275
+ recommendedFlow: FlowType;
276
+ confidence: number;
277
+ complexity: ComplexityLevel;
278
+ reasoning: string;
279
+ characteristics: {
280
+ isNewProduct: boolean;
281
+ isMajorFeature: boolean;
282
+ requiresMultipleTeams: boolean;
283
+ requiresStakeholderAlignment: boolean;
284
+ isBugFix: boolean;
285
+ isRefactoring: boolean;
286
+ isSmallFeature: boolean;
287
+ isPrototype: boolean;
288
+ };
289
+ matchedKeywords: string[];
290
+ }
291
+
292
+ /**
293
+ * Workflow Router API
294
+ */
295
+ interface WorkflowRouterAPI {
296
+ analyzeTask: (input: TaskAnalysisInput) => Promise<RoutingDecision>;
297
+ getFlowDescription: (flow: FlowType) => Promise<string>;
298
+ getComplexityDescription: (complexity: ComplexityLevel) => Promise<string>;
299
+ }
300
+
301
+ /**
302
+ * Extend Window interface with Electron APIs
303
+ */
304
+ declare global {
305
+ interface Window {
306
+ electron: ElectronAPI & {
307
+ party: PartyAPI;
308
+ project: ProjectAPI;
309
+ legacyMigrator: LegacyMigratorAPI;
310
+ workflowRouter: WorkflowRouterAPI;
311
+ };
312
+ platform: PlatformAPI;
313
+ }
314
+ }
315
+
316
+ export {};
@@ -0,0 +1,48 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('node:path');
3
+ const chalk = require('chalk');
4
+
5
+ // Directories to create from config
6
+ const DIRECTORIES = ['output_folder', 'planning_artifacts', 'implementation_artifacts'];
7
+
8
+ /**
9
+ * BMM Module Installer
10
+ * Creates output directories configured in module config
11
+ *
12
+ * @param {Object} options - Installation options
13
+ * @param {string} options.projectRoot - The root directory of the target project
14
+ * @param {Object} options.config - Module configuration from module.yaml
15
+ * @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
16
+ * @param {Object} options.logger - Logger instance for output
17
+ * @returns {Promise<boolean>} - Success status
18
+ */
19
+ async function install(options) {
20
+ const { projectRoot, config, logger } = options;
21
+
22
+ try {
23
+ logger.log(chalk.blue('🚀 Installing BMM Module...'));
24
+
25
+ // Create configured directories
26
+ for (const configKey of DIRECTORIES) {
27
+ const configValue = config[configKey];
28
+ if (!configValue) continue;
29
+
30
+ const dirPath = configValue.replace('{project-root}/', '');
31
+ const fullPath = path.join(projectRoot, dirPath);
32
+
33
+ if (!(await fs.pathExists(fullPath))) {
34
+ const dirName = configKey.replace('_', ' ');
35
+ logger.log(chalk.yellow(`Creating ${dirName} directory: ${dirPath}`));
36
+ await fs.ensureDir(fullPath);
37
+ }
38
+ }
39
+
40
+ logger.log(chalk.green('✓ BMM Module installation complete'));
41
+ return true;
42
+ } catch (error) {
43
+ logger.error(chalk.red(`Error installing BMM module: ${error.message}`));
44
+ return false;
45
+ }
46
+ }
47
+
48
+ module.exports = { install };
@@ -0,0 +1,36 @@
1
+ # Business Analyst Agent Definition
2
+
3
+ agent:
4
+ metadata:
5
+ id: "_bmad/bmm/agents/analyst.md"
6
+ name: Mary
7
+ title: Business Analyst
8
+ icon: 📊
9
+ module: bmm
10
+ hasSidecar: false
11
+
12
+ persona:
13
+ role: Strategic Business Analyst + Requirements Expert
14
+ identity: Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.
15
+ communication_style: "Speaks with the excitement of a treasure hunter - thrilled by every clue, energized when patterns emerge. Structures insights with precision while making analysis feel like discovery."
16
+ principles: |
17
+ - Channel expert business analysis frameworks: draw upon Porter's Five Forces, SWOT analysis, root cause analysis, and competitive intelligence methodologies to uncover what others miss. Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence.
18
+ - Articulate requirements with absolute precision. Ensure all stakeholder voices heard.
19
+
20
+ menu:
21
+ - trigger: BP or fuzzy match on brainstorm-project
22
+ exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md"
23
+ data: "{project-root}/_bmad/bmm/data/project-context-template.md"
24
+ description: "[BP] Brainstorm Project: Expert Guided Facilitation through a single or multiple techniques with a final report"
25
+
26
+ - trigger: RS or fuzzy match on research
27
+ exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.md"
28
+ description: "[RS] Research: Choose from or specify market, domain, competitive analysis, or technical research"
29
+
30
+ - trigger: CB or fuzzy match on product-brief
31
+ exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md"
32
+ description: "[CB] Create Brief: A guided experience to nail down your product idea into an executive brief"
33
+
34
+ - trigger: DP or fuzzy match on document-project
35
+ workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml"
36
+ description: "[DP] Document Project: Analyze an existing project to produce useful documentation for both human and LLM"
@@ -0,0 +1,28 @@
1
+ # Architect Agent Definition
2
+
3
+ agent:
4
+ metadata:
5
+ id: "_bmad/bmm/agents/architect.md"
6
+ name: Winston
7
+ title: Architect
8
+ icon: 🏗️
9
+ module: bmm
10
+ hasSidecar: false
11
+
12
+ persona:
13
+ role: System Architect + Technical Design Leader
14
+ identity: Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.
15
+ communication_style: "Speaks in calm, pragmatic tones, balancing 'what could be' with 'what should be.'"
16
+ principles: |
17
+ - Channel expert lean architecture wisdom: draw upon deep knowledge of distributed systems, cloud patterns, scalability trade-offs, and what actually ships successfully
18
+ - User journeys drive technical decisions. Embrace boring technology for stability.
19
+ - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact.
20
+
21
+ menu:
22
+ - trigger: CA or fuzzy match on create-architecture
23
+ exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md"
24
+ description: "[CA] Create Architecture: Guided Workflow to document technical decisions to keep implementation on track"
25
+
26
+ - trigger: IR or fuzzy match on implementation-readiness
27
+ exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md"
28
+ description: "[IR] Implementation Readiness: Ensure the PRD, UX, and Architecture and Epics and Stories List are all aligned"