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,945 @@
1
+ # BMAD Studio API Reference
2
+
3
+ Complete API reference for BMAD Studio developers covering IPC handlers, services, and component APIs.
4
+
5
+ ## IPC API
6
+
7
+ All IPC communication happens through the `window.electronAPI` object exposed by the preload script.
8
+
9
+ ### Type Definitions
10
+
11
+ Located in `renderer/types/electron-api.d.ts`:
12
+
13
+ ```typescript
14
+ interface ElectronAPI {
15
+ // Config
16
+ config: {
17
+ get: (key?: string) => Promise<any>;
18
+ set: (key: string, value: any) => Promise<{ success: boolean }>;
19
+ };
20
+
21
+ // File Operations
22
+ file: {
23
+ read: (path: string) => Promise<{ success: boolean; content?: string; error?: string }>;
24
+ write: (path: string, content: string) => Promise<{ success: boolean; error?: string }>;
25
+ list: (path: string) => Promise<{ success: boolean; files?: string[]; error?: string }>;
26
+ };
27
+
28
+ // Terminal
29
+ terminal: {
30
+ execute: (command: string) => Promise<{ success: boolean; output?: string; error?: string }>;
31
+ kill: (pid: number) => Promise<{ success: boolean }>;
32
+ };
33
+
34
+ // Token Operations
35
+ token: {
36
+ track: (data: TokenUsageData) => Promise<{ success: boolean }>;
37
+ getStats: (timeRange?: string) => Promise<TokenStats>;
38
+ setMode: (mode: 'ultra-save' | 'balanced' | 'power') => Promise<{ success: boolean }>;
39
+ setBudget: (amount: number) => Promise<{ success: boolean }>;
40
+ };
41
+
42
+ // Workflow Operations
43
+ workflow: {
44
+ load: (id: string) => Promise<WorkflowDefinition>;
45
+ save: (workflow: WorkflowDefinition) => Promise<{ success: boolean }>;
46
+ execute: (id: string, params?: any) => Promise<WorkflowResult>;
47
+ list: () => Promise<WorkflowDefinition[]>;
48
+ };
49
+
50
+ // Party Mode
51
+ party: {
52
+ start: () => Promise<{ sessionId: string }>;
53
+ addAgent: (agentId: string) => Promise<{ success: boolean }>;
54
+ removeAgent: (agentId: string) => Promise<{ success: boolean }>;
55
+ sendMessage: (message: string) => Promise<{ responses: AgentResponse[] }>;
56
+ };
57
+ }
58
+ ```
59
+
60
+ ### Config API
61
+
62
+ #### config.get()
63
+
64
+ Retrieve configuration value(s).
65
+
66
+ **Signature:**
67
+ ```typescript
68
+ config.get(key?: string): Promise<any>
69
+ ```
70
+
71
+ **Parameters:**
72
+ - `key` (optional) — Configuration key to retrieve. If omitted, returns entire config.
73
+
74
+ **Returns:**
75
+ Promise resolving to configuration value or entire config object.
76
+
77
+ **Example:**
78
+ ```typescript
79
+ // Get entire config
80
+ const config = await window.electronAPI.config.get();
81
+
82
+ // Get specific key
83
+ const workflowPath = await window.electronAPI.config.get('paths.workflows');
84
+ ```
85
+
86
+ #### config.set()
87
+
88
+ Update configuration value.
89
+
90
+ **Signature:**
91
+ ```typescript
92
+ config.set(key: string, value: any): Promise<{ success: boolean }>
93
+ ```
94
+
95
+ **Parameters:**
96
+ - `key` — Configuration key to update
97
+ - `value` — New value (any JSON-serializable type)
98
+
99
+ **Returns:**
100
+ Promise resolving to success status.
101
+
102
+ **Example:**
103
+ ```typescript
104
+ await window.electronAPI.config.set('theme', 'dark');
105
+ await window.electronAPI.config.set('token.budget', 100000);
106
+ ```
107
+
108
+ ### File API
109
+
110
+ #### file.read()
111
+
112
+ Read file contents from disk.
113
+
114
+ **Signature:**
115
+ ```typescript
116
+ file.read(path: string): Promise<{ success: boolean; content?: string; error?: string }>
117
+ ```
118
+
119
+ **Parameters:**
120
+ - `path` — Absolute file path
121
+
122
+ **Returns:**
123
+ Promise with file contents or error.
124
+
125
+ **Example:**
126
+ ```typescript
127
+ const result = await window.electronAPI.file.read('/path/to/workflow.yaml');
128
+ if (result.success) {
129
+ console.log(result.content);
130
+ } else {
131
+ console.error(result.error);
132
+ }
133
+ ```
134
+
135
+ #### file.write()
136
+
137
+ Write contents to file.
138
+
139
+ **Signature:**
140
+ ```typescript
141
+ file.write(path: string, content: string): Promise<{ success: boolean; error?: string }>
142
+ ```
143
+
144
+ **Parameters:**
145
+ - `path` — Absolute file path
146
+ - `content` — File contents to write
147
+
148
+ **Returns:**
149
+ Promise with success status or error.
150
+
151
+ **Example:**
152
+ ```typescript
153
+ const yaml = generateWorkflowYAML(workflow);
154
+ const result = await window.electronAPI.file.write('/path/to/workflow.yaml', yaml);
155
+ ```
156
+
157
+ #### file.list()
158
+
159
+ List files in directory.
160
+
161
+ **Signature:**
162
+ ```typescript
163
+ file.list(path: string): Promise<{ success: boolean; files?: string[]; error?: string }>
164
+ ```
165
+
166
+ **Parameters:**
167
+ - `path` — Directory path
168
+
169
+ **Returns:**
170
+ Promise with array of file names or error.
171
+
172
+ **Example:**
173
+ ```typescript
174
+ const result = await window.electronAPI.file.list('.bmad/workflows');
175
+ if (result.success) {
176
+ result.files.forEach(file => console.log(file));
177
+ }
178
+ ```
179
+
180
+ ### Terminal API
181
+
182
+ #### terminal.execute()
183
+
184
+ Execute shell command.
185
+
186
+ **Signature:**
187
+ ```typescript
188
+ terminal.execute(command: string): Promise<{ success: boolean; output?: string; error?: string }>
189
+ ```
190
+
191
+ **Parameters:**
192
+ - `command` — Shell command to execute
193
+
194
+ **Returns:**
195
+ Promise with command output or error.
196
+
197
+ **Security:** Commands are executed in user's shell environment with project directory as cwd.
198
+
199
+ **Example:**
200
+ ```typescript
201
+ const result = await window.electronAPI.terminal.execute('npm test');
202
+ if (result.success) {
203
+ console.log(result.output);
204
+ }
205
+ ```
206
+
207
+ #### terminal.kill()
208
+
209
+ Kill running process by PID.
210
+
211
+ **Signature:**
212
+ ```typescript
213
+ terminal.kill(pid: number): Promise<{ success: boolean }>
214
+ ```
215
+
216
+ **Parameters:**
217
+ - `pid` — Process ID to terminate
218
+
219
+ **Returns:**
220
+ Promise with success status.
221
+
222
+ **Example:**
223
+ ```typescript
224
+ await window.electronAPI.terminal.kill(12345);
225
+ ```
226
+
227
+ ### Token API
228
+
229
+ #### token.track()
230
+
231
+ Record token usage for analytics.
232
+
233
+ **Signature:**
234
+ ```typescript
235
+ token.track(data: TokenUsageData): Promise<{ success: boolean }>
236
+ ```
237
+
238
+ **Parameters:**
239
+ ```typescript
240
+ interface TokenUsageData {
241
+ tokensUsed: number;
242
+ mode: 'ultra-save' | 'balanced' | 'power';
243
+ workflowId?: string;
244
+ agentId?: string;
245
+ cost?: number;
246
+ }
247
+ ```
248
+
249
+ **Returns:**
250
+ Promise with success status.
251
+
252
+ **Example:**
253
+ ```typescript
254
+ await window.electronAPI.token.track({
255
+ tokensUsed: 1500,
256
+ mode: 'balanced',
257
+ workflowId: 'create-prd',
258
+ agentId: 'pm',
259
+ cost: 0.045
260
+ });
261
+ ```
262
+
263
+ #### token.getStats()
264
+
265
+ Retrieve token usage statistics.
266
+
267
+ **Signature:**
268
+ ```typescript
269
+ token.getStats(timeRange?: string): Promise<TokenStats>
270
+ ```
271
+
272
+ **Parameters:**
273
+ - `timeRange` (optional) — Time range: 'day', 'week', 'month', 'all'. Default: 'week'
274
+
275
+ **Returns:**
276
+ ```typescript
277
+ interface TokenStats {
278
+ totalTokens: number;
279
+ totalCost: number;
280
+ byMode: {
281
+ 'ultra-save': number;
282
+ 'balanced': number;
283
+ 'power': number;
284
+ };
285
+ byWorkflow: Record<string, number>;
286
+ byAgent: Record<string, number>;
287
+ timeline: Array<{ timestamp: number; tokens: number }>;
288
+ }
289
+ ```
290
+
291
+ **Example:**
292
+ ```typescript
293
+ const stats = await window.electronAPI.token.getStats('month');
294
+ console.log(`Total tokens this month: ${stats.totalTokens}`);
295
+ ```
296
+
297
+ #### token.setMode()
298
+
299
+ Change token efficiency mode.
300
+
301
+ **Signature:**
302
+ ```typescript
303
+ token.setMode(mode: 'ultra-save' | 'balanced' | 'power'): Promise<{ success: boolean }>
304
+ ```
305
+
306
+ **Parameters:**
307
+ - `mode` — Efficiency mode to activate
308
+
309
+ **Mode Characteristics:**
310
+ - **ultra-save**: 40% token reduction, aggressive caching, slower responses
311
+ - **balanced**: Moderate caching, good balance of speed and cost
312
+ - **power**: Minimal caching, best accuracy, highest cost
313
+
314
+ **Example:**
315
+ ```typescript
316
+ await window.electronAPI.token.setMode('ultra-save');
317
+ ```
318
+
319
+ #### token.setBudget()
320
+
321
+ Set token budget threshold.
322
+
323
+ **Signature:**
324
+ ```typescript
325
+ token.setBudget(amount: number): Promise<{ success: boolean }>
326
+ ```
327
+
328
+ **Parameters:**
329
+ - `amount` — Token budget (positive integer)
330
+
331
+ **Returns:**
332
+ Promise with success status.
333
+
334
+ **Note:** Alerts trigger at 80% and 100% of budget.
335
+
336
+ **Example:**
337
+ ```typescript
338
+ await window.electronAPI.token.setBudget(50000); // 50k tokens
339
+ ```
340
+
341
+ ### Workflow API
342
+
343
+ #### workflow.load()
344
+
345
+ Load workflow definition.
346
+
347
+ **Signature:**
348
+ ```typescript
349
+ workflow.load(id: string): Promise<WorkflowDefinition>
350
+ ```
351
+
352
+ **Parameters:**
353
+ - `id` — Workflow identifier (e.g., 'create-prd', 'dev-story')
354
+
355
+ **Returns:**
356
+ ```typescript
357
+ interface WorkflowDefinition {
358
+ id: string;
359
+ name: string;
360
+ description: string;
361
+ agent: string;
362
+ steps: WorkflowStep[];
363
+ dependencies?: string[];
364
+ }
365
+
366
+ interface WorkflowStep {
367
+ id: string;
368
+ name: string;
369
+ action: string;
370
+ params?: Record<string, any>;
371
+ nextSteps?: string[];
372
+ }
373
+ ```
374
+
375
+ **Example:**
376
+ ```typescript
377
+ const workflow = await window.electronAPI.workflow.load('create-prd');
378
+ console.log(workflow.name); // "Create Product Requirements Document"
379
+ ```
380
+
381
+ #### workflow.save()
382
+
383
+ Save workflow definition.
384
+
385
+ **Signature:**
386
+ ```typescript
387
+ workflow.save(workflow: WorkflowDefinition): Promise<{ success: boolean }>
388
+ ```
389
+
390
+ **Parameters:**
391
+ - `workflow` — Complete workflow definition
392
+
393
+ **Returns:**
394
+ Promise with success status.
395
+
396
+ **Example:**
397
+ ```typescript
398
+ const updatedWorkflow = { ...workflow, steps: [...workflow.steps, newStep] };
399
+ await window.electronAPI.workflow.save(updatedWorkflow);
400
+ ```
401
+
402
+ #### workflow.execute()
403
+
404
+ Execute workflow.
405
+
406
+ **Signature:**
407
+ ```typescript
408
+ workflow.execute(id: string, params?: any): Promise<WorkflowResult>
409
+ ```
410
+
411
+ **Parameters:**
412
+ - `id` — Workflow identifier
413
+ - `params` (optional) — Workflow parameters
414
+
415
+ **Returns:**
416
+ ```typescript
417
+ interface WorkflowResult {
418
+ success: boolean;
419
+ output?: any;
420
+ error?: string;
421
+ tokensUsed?: number;
422
+ duration?: number;
423
+ }
424
+ ```
425
+
426
+ **Example:**
427
+ ```typescript
428
+ const result = await window.electronAPI.workflow.execute('create-prd', {
429
+ projectName: 'My App',
430
+ targetUsers: 'developers'
431
+ });
432
+ ```
433
+
434
+ #### workflow.list()
435
+
436
+ List all available workflows.
437
+
438
+ **Signature:**
439
+ ```typescript
440
+ workflow.list(): Promise<WorkflowDefinition[]>
441
+ ```
442
+
443
+ **Returns:**
444
+ Array of all workflow definitions.
445
+
446
+ **Example:**
447
+ ```typescript
448
+ const workflows = await window.electronAPI.workflow.list();
449
+ workflows.forEach(wf => console.log(wf.name));
450
+ ```
451
+
452
+ ### Party Mode API
453
+
454
+ #### party.start()
455
+
456
+ Initialize Party Mode session.
457
+
458
+ **Signature:**
459
+ ```typescript
460
+ party.start(): Promise<{ sessionId: string }>
461
+ ```
462
+
463
+ **Returns:**
464
+ Promise with unique session identifier.
465
+
466
+ **Example:**
467
+ ```typescript
468
+ const { sessionId } = await window.electronAPI.party.start();
469
+ console.log(`Party started: ${sessionId}`);
470
+ ```
471
+
472
+ #### party.addAgent()
473
+
474
+ Add agent to Party Mode session.
475
+
476
+ **Signature:**
477
+ ```typescript
478
+ party.addAgent(agentId: string): Promise<{ success: boolean }>
479
+ ```
480
+
481
+ **Parameters:**
482
+ - `agentId` — Agent identifier (e.g., 'pm', 'architect', 'developer')
483
+
484
+ **Returns:**
485
+ Promise with success status.
486
+
487
+ **Example:**
488
+ ```typescript
489
+ await window.electronAPI.party.addAgent('pm');
490
+ await window.electronAPI.party.addAgent('architect');
491
+ ```
492
+
493
+ #### party.removeAgent()
494
+
495
+ Remove agent from Party Mode session.
496
+
497
+ **Signature:**
498
+ ```typescript
499
+ party.removeAgent(agentId: string): Promise<{ success: boolean }>
500
+ ```
501
+
502
+ **Parameters:**
503
+ - `agentId` — Agent identifier to remove
504
+
505
+ **Returns:**
506
+ Promise with success status.
507
+
508
+ **Example:**
509
+ ```typescript
510
+ await window.electronAPI.party.removeAgent('pm');
511
+ ```
512
+
513
+ #### party.sendMessage()
514
+
515
+ Send message to all agents in party.
516
+
517
+ **Signature:**
518
+ ```typescript
519
+ party.sendMessage(message: string): Promise<{ responses: AgentResponse[] }>
520
+ ```
521
+
522
+ **Parameters:**
523
+ - `message` — Message to send to all agents
524
+
525
+ **Returns:**
526
+ ```typescript
527
+ interface AgentResponse {
528
+ agentId: string;
529
+ agentName: string;
530
+ response: string;
531
+ tokensUsed: number;
532
+ }
533
+ ```
534
+
535
+ **Example:**
536
+ ```typescript
537
+ const { responses } = await window.electronAPI.party.sendMessage(
538
+ 'What architecture would you recommend for this project?'
539
+ );
540
+
541
+ responses.forEach(r => {
542
+ console.log(`${r.agentName}: ${r.response}`);
543
+ });
544
+ ```
545
+
546
+ ## Services API
547
+
548
+ Core services in `electron/services/`.
549
+
550
+ ### TokenTracker
551
+
552
+ Tracks token usage across the application.
553
+
554
+ **Location:** `electron/services/token-tracker.ts`
555
+
556
+ #### Methods
557
+
558
+ ##### track()
559
+
560
+ Record token usage event.
561
+
562
+ ```typescript
563
+ track(data: {
564
+ tokensUsed: number;
565
+ mode: TokenMode;
566
+ workflowId?: string;
567
+ agentId?: string;
568
+ cost?: number;
569
+ }): Promise<void>
570
+ ```
571
+
572
+ ##### getStats()
573
+
574
+ Retrieve usage statistics.
575
+
576
+ ```typescript
577
+ getStats(timeRange: TimeRange): Promise<TokenStats>
578
+ ```
579
+
580
+ ##### getCurrentUsage()
581
+
582
+ Get current session usage.
583
+
584
+ ```typescript
585
+ getCurrentUsage(): number
586
+ ```
587
+
588
+ ### TokenCache
589
+
590
+ LRU cache for AI responses.
591
+
592
+ **Location:** `electron/services/token-cache.ts`
593
+
594
+ #### Methods
595
+
596
+ ##### get()
597
+
598
+ Retrieve cached response.
599
+
600
+ ```typescript
601
+ get(key: string): string | null
602
+ ```
603
+
604
+ ##### set()
605
+
606
+ Store response in cache.
607
+
608
+ ```typescript
609
+ set(key: string, value: string, ttl?: number): void
610
+ ```
611
+
612
+ ##### clear()
613
+
614
+ Clear entire cache.
615
+
616
+ ```typescript
617
+ clear(): void
618
+ ```
619
+
620
+ ##### invalidate()
621
+
622
+ Invalidate specific keys.
623
+
624
+ ```typescript
625
+ invalidate(pattern: string): void
626
+ ```
627
+
628
+ ### ProjectDetector
629
+
630
+ Auto-detects project type and characteristics.
631
+
632
+ **Location:** `electron/services/project-detector.ts`
633
+
634
+ #### Methods
635
+
636
+ ##### detect()
637
+
638
+ Analyze project structure.
639
+
640
+ ```typescript
641
+ detect(projectPath: string): Promise<ProjectInfo>
642
+ ```
643
+
644
+ **Returns:**
645
+ ```typescript
646
+ interface ProjectInfo {
647
+ type: 'react' | 'vue' | 'angular' | 'node' | 'python' | 'unknown';
648
+ framework?: string;
649
+ packageManager: 'npm' | 'yarn' | 'pnpm' | 'none';
650
+ hasTests: boolean;
651
+ testFramework?: string;
652
+ size: 'small' | 'medium' | 'large' | 'enterprise';
653
+ fileCount: number;
654
+ dependencies: string[];
655
+ }
656
+ ```
657
+
658
+ ### LegacyMigrator
659
+
660
+ Migrates legacy BMAD projects to new format.
661
+
662
+ **Location:** `electron/services/legacy-migrator.ts`
663
+
664
+ #### Methods
665
+
666
+ ##### analyze()
667
+
668
+ Analyze legacy project.
669
+
670
+ ```typescript
671
+ analyze(projectPath: string): Promise<MigrationReport>
672
+ ```
673
+
674
+ ##### migrate()
675
+
676
+ Perform migration.
677
+
678
+ ```typescript
679
+ migrate(
680
+ projectPath: string,
681
+ options?: MigrationOptions
682
+ ): Promise<MigrationResult>
683
+ ```
684
+
685
+ **Returns:**
686
+ ```typescript
687
+ interface MigrationResult {
688
+ success: boolean;
689
+ filesModified: string[];
690
+ filesCreated: string[];
691
+ errors?: string[];
692
+ backupPath: string;
693
+ }
694
+ ```
695
+
696
+ ### AITestGenerator
697
+
698
+ Generates tests using AI.
699
+
700
+ **Location:** `electron/services/ai-test-generator.ts`
701
+
702
+ #### Methods
703
+
704
+ ##### generateTest()
705
+
706
+ Generate test for code file.
707
+
708
+ ```typescript
709
+ generateTest(
710
+ filePath: string,
711
+ options?: TestGenerationOptions
712
+ ): Promise<GeneratedTest>
713
+ ```
714
+
715
+ **Options:**
716
+ ```typescript
717
+ interface TestGenerationOptions {
718
+ framework: 'jest' | 'mocha' | 'vitest';
719
+ coverage: 'unit' | 'integration' | 'e2e';
720
+ style: 'minimal' | 'comprehensive';
721
+ }
722
+ ```
723
+
724
+ ### PartyCoordinator
725
+
726
+ Coordinates multi-agent Party Mode sessions.
727
+
728
+ **Location:** `electron/services/party-coordinator.ts`
729
+
730
+ #### Methods
731
+
732
+ ##### createSession()
733
+
734
+ Create new party session.
735
+
736
+ ```typescript
737
+ createSession(): string
738
+ ```
739
+
740
+ ##### addAgent()
741
+
742
+ Add agent to session.
743
+
744
+ ```typescript
745
+ addAgent(sessionId: string, agentId: string): void
746
+ ```
747
+
748
+ ##### broadcast()
749
+
750
+ Send message to all agents.
751
+
752
+ ```typescript
753
+ broadcast(
754
+ sessionId: string,
755
+ message: string
756
+ ): Promise<AgentResponse[]>
757
+ ```
758
+
759
+ ### WorkflowRouter
760
+
761
+ Routes workflow execution based on project complexity.
762
+
763
+ **Location:** `electron/services/workflow-router.ts`
764
+
765
+ #### Methods
766
+
767
+ ##### route()
768
+
769
+ Determine appropriate workflow.
770
+
771
+ ```typescript
772
+ route(
773
+ projectInfo: ProjectInfo,
774
+ intent: string
775
+ ): WorkflowRecommendation
776
+ ```
777
+
778
+ **Returns:**
779
+ ```typescript
780
+ interface WorkflowRecommendation {
781
+ workflowId: string;
782
+ reason: string;
783
+ alternatives?: string[];
784
+ estimatedTime?: number;
785
+ estimatedTokens?: number;
786
+ }
787
+ ```
788
+
789
+ ## Component Props
790
+
791
+ ### ChatPanel
792
+
793
+ ```typescript
794
+ interface ChatPanelProps {
795
+ agentId?: string;
796
+ onAgentChange?: (agentId: string) => void;
797
+ showTokenUsage?: boolean;
798
+ }
799
+ ```
800
+
801
+ ### WorkflowEditor
802
+
803
+ ```typescript
804
+ interface WorkflowEditorProps {
805
+ workflowId?: string;
806
+ onSave?: (workflow: WorkflowDefinition) => void;
807
+ readonly?: boolean;
808
+ }
809
+ ```
810
+
811
+ ### Terminal
812
+
813
+ ```typescript
814
+ interface TerminalProps {
815
+ initialCommand?: string;
816
+ cwd?: string;
817
+ onCommandExecute?: (command: string) => void;
818
+ }
819
+ ```
820
+
821
+ ### TokenMonitor
822
+
823
+ ```typescript
824
+ interface TokenMonitorProps {
825
+ mode?: TokenMode;
826
+ budget?: number;
827
+ onModeChange?: (mode: TokenMode) => void;
828
+ onBudgetChange?: (budget: number) => void;
829
+ }
830
+ ```
831
+
832
+ ### TestCenter
833
+
834
+ ```typescript
835
+ interface TestCenterProps {
836
+ projectPath?: string;
837
+ onTestGenerate?: (filePath: string) => void;
838
+ onTestRun?: (results: TestResults) => void;
839
+ }
840
+ ```
841
+
842
+ ## Custom Hooks
843
+
844
+ ### useConfig
845
+
846
+ Access application configuration.
847
+
848
+ ```typescript
849
+ function useConfig(): {
850
+ config: Config;
851
+ get: (key: string) => any;
852
+ set: (key: string, value: any) => Promise<void>;
853
+ loading: boolean;
854
+ }
855
+ ```
856
+
857
+ ### useTokenTracking
858
+
859
+ Access token tracking state.
860
+
861
+ ```typescript
862
+ function useTokenTracking(): {
863
+ currentUsage: number;
864
+ mode: TokenMode;
865
+ budget: number;
866
+ stats: TokenStats;
867
+ setMode: (mode: TokenMode) => void;
868
+ setBudget: (budget: number) => void;
869
+ }
870
+ ```
871
+
872
+ ### useWorkflow
873
+
874
+ Load and manage workflow state.
875
+
876
+ ```typescript
877
+ function useWorkflow(workflowId: string): {
878
+ workflow: WorkflowDefinition | null;
879
+ loading: boolean;
880
+ error: Error | null;
881
+ execute: (params?: any) => Promise<WorkflowResult>;
882
+ save: (workflow: WorkflowDefinition) => Promise<void>;
883
+ }
884
+ ```
885
+
886
+ ### usePartyMode
887
+
888
+ Manage Party Mode session.
889
+
890
+ ```typescript
891
+ function usePartyMode(): {
892
+ sessionId: string | null;
893
+ agents: string[];
894
+ start: () => Promise<void>;
895
+ addAgent: (agentId: string) => Promise<void>;
896
+ removeAgent: (agentId: string) => Promise<void>;
897
+ sendMessage: (message: string) => Promise<AgentResponse[]>;
898
+ }
899
+ ```
900
+
901
+ ## Error Handling
902
+
903
+ All IPC methods return results with `success` boolean and optional `error` string:
904
+
905
+ ```typescript
906
+ const result = await window.electronAPI.file.read('/path/to/file');
907
+ if (!result.success) {
908
+ console.error('Failed to read file:', result.error);
909
+ return;
910
+ }
911
+ // Use result.content
912
+ ```
913
+
914
+ For services, use try-catch:
915
+
916
+ ```typescript
917
+ try {
918
+ const projectInfo = await projectDetector.detect('/path/to/project');
919
+ console.log(projectInfo);
920
+ } catch (error) {
921
+ console.error('Detection failed:', error.message);
922
+ }
923
+ ```
924
+
925
+ ## TypeScript Support
926
+
927
+ All APIs are fully typed. Import types from:
928
+
929
+ ```typescript
930
+ // Renderer types
931
+ import type { WorkflowDefinition, TokenStats } from '@/types';
932
+
933
+ // Electron API types (auto-available via window.electronAPI)
934
+ declare global {
935
+ interface Window {
936
+ electronAPI: ElectronAPI;
937
+ }
938
+ }
939
+ ```
940
+
941
+ ## Next Steps
942
+
943
+ - [Architecture Guide](./architecture.md) — Understand system design
944
+ - [Contributing Guide](./contributing.md) — Development workflow
945
+ - [User Guide](../user-guide/) — End-user documentation