maestro-flow 0.4.2 → 0.4.4

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 (302) hide show
  1. package/.claude/commands/maestro-analyze.md +1 -1
  2. package/.claude/commands/maestro-brainstorm.md +1 -1
  3. package/.claude/commands/maestro-collab.md +1 -1
  4. package/.claude/commands/maestro-execute.md +10 -1
  5. package/.claude/commands/maestro-guard.md +101 -0
  6. package/.claude/commands/maestro-impeccable.md +1 -1
  7. package/.claude/commands/maestro-plan.md +15 -2
  8. package/.claude/commands/maestro-ralph-execute.md +9 -2
  9. package/.claude/commands/maestro-ralph.md +8 -1
  10. package/.claude/commands/maestro-verify.md +15 -1
  11. package/.claude/commands/quality-auto-test.md +1 -1
  12. package/.claude/commands/quality-debug.md +1 -1
  13. package/.claude/commands/quality-refactor.md +1 -1
  14. package/.claude/commands/quality-retrospective.md +1 -1
  15. package/.claude/commands/quality-review.md +15 -1
  16. package/.claude/commands/quality-test.md +1 -1
  17. package/.claude/commands/security-audit.md +154 -0
  18. package/.claude/skills/maestro-help/index/catalog.json +2 -0
  19. package/.codex/skills/maestro-analyze/SKILL.md +18 -1
  20. package/.codex/skills/maestro-brainstorm/SKILL.md +17 -4
  21. package/.codex/skills/maestro-collab/SKILL.md +7 -1
  22. package/.codex/skills/maestro-execute/SKILL.md +365 -348
  23. package/.codex/skills/maestro-guard/SKILL.md +97 -0
  24. package/.codex/skills/maestro-impeccable/SKILL.md +1 -1
  25. package/.codex/skills/maestro-plan/SKILL.md +66 -7
  26. package/.codex/skills/maestro-ralph/SKILL.md +1 -1
  27. package/.codex/skills/maestro-verify/SKILL.md +18 -1
  28. package/.codex/skills/quality-auto-test/SKILL.md +13 -3
  29. package/.codex/skills/quality-debug/SKILL.md +362 -346
  30. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  31. package/.codex/skills/quality-retrospective/SKILL.md +292 -292
  32. package/.codex/skills/quality-review/SKILL.md +374 -365
  33. package/.codex/skills/quality-test/SKILL.md +1 -1
  34. package/.codex/skills/security-audit/SKILL.md +154 -0
  35. package/bin/maestro-hook-runner.js +21 -1
  36. package/dashboard/dist/assets/{ArtifactsPage-iJZtYsmR.js → ArtifactsPage-CVh0Z2I2.js} +3 -3
  37. package/dashboard/dist/assets/{ChatInput-DNnDLdQF.js → ChatInput-CBI3qHQQ.js} +2 -2
  38. package/dashboard/dist/assets/ChatPage-BjJ9CYox.js +22 -0
  39. package/dashboard/dist/assets/CollabPage-CprGGO9y.js +1 -0
  40. package/dashboard/dist/assets/{ExecutionPanel-BKV3GZ7Q.js → ExecutionPanel-CClxD7cH.js} +1 -1
  41. package/dashboard/dist/assets/KanbanPage-copqjdPg.js +16 -0
  42. package/dashboard/dist/assets/MaestroCoordinatePage-CioZjQ9N.js +4 -0
  43. package/dashboard/dist/assets/{MarkdownRenderer-cYFfe1uX.js → MarkdownRenderer-CtUhoxCT.js} +1 -1
  44. package/dashboard/dist/assets/McpPage-BcPPcJpr.js +21 -0
  45. package/dashboard/dist/assets/{MeetingRoomPage-wnvT7wlB.js → MeetingRoomPage-BgmAKxU-.js} +1 -1
  46. package/dashboard/dist/assets/{OutputPanel-DDL90Idy.js → OutputPanel-DgT3gMyp.js} +1 -1
  47. package/dashboard/dist/assets/{ProblemsPanel-zFN9IIs0.js → ProblemsPanel-BmG7rxoG.js} +1 -1
  48. package/dashboard/dist/assets/{RequirementBoardPage-DOPJoT0I.js → RequirementBoardPage-k8YoeQ0r.js} +1 -1
  49. package/dashboard/dist/assets/{RequirementPage-CEVquRgM.js → RequirementPage-Da2354px.js} +1 -1
  50. package/dashboard/dist/assets/{RoomsPage-D5USEWDh.js → RoomsPage-BtqDiYaU.js} +1 -1
  51. package/dashboard/dist/assets/SpecsPage-ByPVH_M3.js +36 -0
  52. package/dashboard/dist/assets/{TeamsPage-DlcEmr_Q.js → TeamsPage-sFDLN30L.js} +1 -1
  53. package/dashboard/dist/assets/{TreeBrowser-Y48Wz-QY.js → TreeBrowser-oEx8YJXV.js} +1 -1
  54. package/dashboard/dist/assets/WorkflowPage-JrX7CVHh.js +6 -0
  55. package/dashboard/dist/assets/{arrow-left-NCUOENvg.js → arrow-left-DYvgSdIH.js} +1 -1
  56. package/dashboard/dist/assets/{check-o7nfGNHf.js → check-jcgYBWVR.js} +1 -1
  57. package/dashboard/dist/assets/{chevron-right-BXySK2fn.js → chevron-right-DvZ5sMOg.js} +1 -1
  58. package/dashboard/dist/assets/{circle-cooAwnAR.js → circle-DYT-zoRZ.js} +1 -1
  59. package/dashboard/dist/assets/{circle-alert-DcSBokh4.js → circle-alert-Bfbv3gt4.js} +1 -1
  60. package/dashboard/dist/assets/{circle-check-Cd-jce4j.js → circle-check-D82WnpbI.js} +1 -1
  61. package/dashboard/dist/assets/{circle-check-big-BN7Mdp4i.js → circle-check-big-CPVD1GKF.js} +1 -1
  62. package/dashboard/dist/assets/{code-BQa9oL1n.js → code-B3bKFGI4.js} +1 -1
  63. package/dashboard/dist/assets/{columns-3-BzgxelGx.js → columns-3-BeMAQCix.js} +1 -1
  64. package/dashboard/dist/assets/{download-swRJnate.js → download-BCtpoWYB.js} +1 -1
  65. package/dashboard/dist/assets/en-2h6fD0j8.js +1 -0
  66. package/dashboard/dist/assets/{folder-DbGbLNFN.js → folder-CTj6SNNu.js} +1 -1
  67. package/dashboard/dist/assets/index-6-yE5Yl9.css +1 -0
  68. package/dashboard/dist/assets/{index-DIoMBMbv.js → index-BxR_3IbJ.js} +1 -1
  69. package/dashboard/dist/assets/{index-DLBN_7fb.js → index-CWBJLu42.js} +1 -1
  70. package/dashboard/dist/assets/index-DpcPd-UG.js +236 -0
  71. package/dashboard/dist/assets/{list-BTRAIvDq.js → list-BMv8pIQn.js} +1 -1
  72. package/dashboard/dist/assets/{loader-NHtB6Mdn.js → loader-DdM4VOgF.js} +1 -1
  73. package/dashboard/dist/assets/{minus-BjMxRTET.js → minus-D15s2E__.js} +1 -1
  74. package/dashboard/dist/assets/{pen-line-C4_O16H0.js → pen-line-DO6o4xWz.js} +1 -1
  75. package/dashboard/dist/assets/{pencil-DTmKhyDY.js → pencil-qGxg9jOe.js} +1 -1
  76. package/dashboard/dist/assets/{proxy-Dtx5p6IO.js → proxy-DOffTzwA.js} +1 -1
  77. package/dashboard/dist/assets/refresh-cw-C9UNdLCy.js +6 -0
  78. package/dashboard/dist/assets/{rows-2-GR1dZtRu.js → rows-2-CifAA5SL.js} +1 -1
  79. package/dashboard/dist/assets/{search-DVtgy2W7.js → search-pe7pU1YN.js} +1 -1
  80. package/dashboard/dist/assets/{shallow-BOmvDNsv.js → shallow-r7YynQYA.js} +1 -1
  81. package/dashboard/dist/assets/table-Bh772iIw.js +6 -0
  82. package/dashboard/dist/assets/{team-types-BPeOvVdA.js → team-types-C_HqX2p2.js} +1 -1
  83. package/dashboard/dist/assets/{terminal-CzogW4cl.js → terminal-EpmtGBlw.js} +1 -1
  84. package/dashboard/dist/assets/{trash-2-52LATVfW.js → trash-2-Xen46iNQ.js} +1 -1
  85. package/dashboard/dist/assets/{users-DLFE2voE.js → users-BLueDPxF.js} +1 -1
  86. package/dashboard/dist/assets/{zap-DhiYlgyZ.js → zap-DsQCPF61.js} +1 -1
  87. package/dashboard/dist/assets/zh-CN-r3AvxxOL.js +1 -0
  88. package/dashboard/dist/index.html +2 -2
  89. package/dashboard/dist-server/dashboard/src/server/routes/settings.js +70 -1
  90. package/dashboard/dist-server/dashboard/src/server/routes/settings.js.map +1 -1
  91. package/dashboard/dist-server/src/coordinator/output-parser.js +27 -0
  92. package/dashboard/dist-server/src/coordinator/output-parser.js.map +1 -1
  93. package/dashboard/dist-server/src/types/index.d.ts +48 -6
  94. package/dist/src/commands/coordinate.d.ts.map +1 -1
  95. package/dist/src/commands/coordinate.js +4 -0
  96. package/dist/src/commands/coordinate.js.map +1 -1
  97. package/dist/src/commands/hooks.d.ts.map +1 -1
  98. package/dist/src/commands/hooks.js +239 -8
  99. package/dist/src/commands/hooks.js.map +1 -1
  100. package/dist/src/commands/spec.d.ts.map +1 -1
  101. package/dist/src/commands/spec.js +466 -0
  102. package/dist/src/commands/spec.js.map +1 -1
  103. package/dist/src/config/index.d.ts +5 -1
  104. package/dist/src/config/index.d.ts.map +1 -1
  105. package/dist/src/config/index.js +42 -0
  106. package/dist/src/config/index.js.map +1 -1
  107. package/dist/src/coordinator/output-parser.d.ts.map +1 -1
  108. package/dist/src/coordinator/output-parser.js +27 -0
  109. package/dist/src/coordinator/output-parser.js.map +1 -1
  110. package/dist/src/hooks/delegate-monitor.d.ts +1 -0
  111. package/dist/src/hooks/delegate-monitor.d.ts.map +1 -1
  112. package/dist/src/hooks/delegate-monitor.js +1 -1
  113. package/dist/src/hooks/delegate-monitor.js.map +1 -1
  114. package/dist/src/hooks/guards/workflow-guard.d.ts +15 -0
  115. package/dist/src/hooks/guards/workflow-guard.d.ts.map +1 -1
  116. package/dist/src/hooks/guards/workflow-guard.js +61 -1
  117. package/dist/src/hooks/guards/workflow-guard.js.map +1 -1
  118. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  119. package/dist/src/hooks/keyword-spec-injector.js +63 -4
  120. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  121. package/dist/src/hooks/plugins/decision-log-plugin.d.ts +19 -0
  122. package/dist/src/hooks/plugins/decision-log-plugin.d.ts.map +1 -0
  123. package/dist/src/hooks/plugins/decision-log-plugin.js +28 -0
  124. package/dist/src/hooks/plugins/decision-log-plugin.js.map +1 -0
  125. package/dist/src/hooks/plugins/index.d.ts +2 -0
  126. package/dist/src/hooks/plugins/index.d.ts.map +1 -1
  127. package/dist/src/hooks/plugins/index.js +1 -0
  128. package/dist/src/hooks/plugins/index.js.map +1 -1
  129. package/dist/src/hooks/plugins/spec-analytics-plugin.d.ts +13 -0
  130. package/dist/src/hooks/plugins/spec-analytics-plugin.d.ts.map +1 -0
  131. package/dist/src/hooks/plugins/spec-analytics-plugin.js +92 -0
  132. package/dist/src/hooks/plugins/spec-analytics-plugin.js.map +1 -0
  133. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  134. package/dist/src/hooks/plugins/spec-injection-plugin.js +57 -4
  135. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  136. package/dist/src/hooks/session-context.d.ts +1 -0
  137. package/dist/src/hooks/session-context.d.ts.map +1 -1
  138. package/dist/src/hooks/session-context.js +1 -1
  139. package/dist/src/hooks/session-context.js.map +1 -1
  140. package/dist/src/hooks/skill-context.d.ts +1 -0
  141. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  142. package/dist/src/hooks/skill-context.js +1 -1
  143. package/dist/src/hooks/skill-context.js.map +1 -1
  144. package/dist/src/hooks/spec-analytics.d.ts +128 -0
  145. package/dist/src/hooks/spec-analytics.d.ts.map +1 -0
  146. package/dist/src/hooks/spec-analytics.js +311 -0
  147. package/dist/src/hooks/spec-analytics.js.map +1 -0
  148. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  149. package/dist/src/hooks/spec-injector.js +129 -5
  150. package/dist/src/hooks/spec-injector.js.map +1 -1
  151. package/dist/src/tools/spec-loader.d.ts +20 -0
  152. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  153. package/dist/src/tools/spec-loader.js +58 -7
  154. package/dist/src/tools/spec-loader.js.map +1 -1
  155. package/dist/src/tui/config-ui/ConfigHub.d.ts +1 -1
  156. package/dist/src/tui/config-ui/ConfigHub.d.ts.map +1 -1
  157. package/dist/src/tui/config-ui/ConfigHub.js +16 -10
  158. package/dist/src/tui/config-ui/ConfigHub.js.map +1 -1
  159. package/dist/src/tui/config-ui/ConfigSourcesView.d.ts.map +1 -1
  160. package/dist/src/tui/config-ui/ConfigSourcesView.js +3 -2
  161. package/dist/src/tui/config-ui/ConfigSourcesView.js.map +1 -1
  162. package/dist/src/tui/config-ui/HooksPanel.d.ts.map +1 -1
  163. package/dist/src/tui/config-ui/HooksPanel.js +15 -19
  164. package/dist/src/tui/config-ui/HooksPanel.js.map +1 -1
  165. package/dist/src/tui/config-ui/SkillConfigDashboard.d.ts.map +1 -1
  166. package/dist/src/tui/config-ui/SkillConfigDashboard.js +5 -9
  167. package/dist/src/tui/config-ui/SkillConfigDashboard.js.map +1 -1
  168. package/dist/src/tui/config-ui/SkillParamEditor.d.ts.map +1 -1
  169. package/dist/src/tui/config-ui/SkillParamEditor.js +1 -3
  170. package/dist/src/tui/config-ui/SkillParamEditor.js.map +1 -1
  171. package/dist/src/tui/config-ui/SkillsList.d.ts.map +1 -1
  172. package/dist/src/tui/config-ui/SkillsList.js +7 -9
  173. package/dist/src/tui/config-ui/SkillsList.js.map +1 -1
  174. package/dist/src/tui/config-ui/SpecAnalyticsPanel.d.ts +6 -0
  175. package/dist/src/tui/config-ui/SpecAnalyticsPanel.d.ts.map +1 -0
  176. package/dist/src/tui/config-ui/SpecAnalyticsPanel.js +164 -0
  177. package/dist/src/tui/config-ui/SpecAnalyticsPanel.js.map +1 -0
  178. package/dist/src/tui/config-ui/SpecPanel.d.ts.map +1 -1
  179. package/dist/src/tui/config-ui/SpecPanel.js +918 -20
  180. package/dist/src/tui/config-ui/SpecPanel.js.map +1 -1
  181. package/dist/src/tui/config-ui/index.d.ts +3 -1
  182. package/dist/src/tui/config-ui/index.d.ts.map +1 -1
  183. package/dist/src/tui/config-ui/index.js +4 -0
  184. package/dist/src/tui/config-ui/index.js.map +1 -1
  185. package/dist/src/tui/install-ui/BackupConfig.d.ts.map +1 -1
  186. package/dist/src/tui/install-ui/BackupConfig.js +3 -2
  187. package/dist/src/tui/install-ui/BackupConfig.js.map +1 -1
  188. package/dist/src/tui/install-ui/BlueprintPreview.d.ts.map +1 -1
  189. package/dist/src/tui/install-ui/BlueprintPreview.js +7 -6
  190. package/dist/src/tui/install-ui/BlueprintPreview.js.map +1 -1
  191. package/dist/src/tui/install-ui/ComponentGrid.d.ts.map +1 -1
  192. package/dist/src/tui/install-ui/ComponentGrid.js +3 -2
  193. package/dist/src/tui/install-ui/ComponentGrid.js.map +1 -1
  194. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -1
  195. package/dist/src/tui/install-ui/ConfigPanel.js +4 -3
  196. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -1
  197. package/dist/src/tui/install-ui/CyberItem.d.ts.map +1 -1
  198. package/dist/src/tui/install-ui/CyberItem.js +7 -6
  199. package/dist/src/tui/install-ui/CyberItem.js.map +1 -1
  200. package/dist/src/tui/install-ui/CyberdeckBlueprint.d.ts.map +1 -1
  201. package/dist/src/tui/install-ui/CyberdeckBlueprint.js +2 -1
  202. package/dist/src/tui/install-ui/CyberdeckBlueprint.js.map +1 -1
  203. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  204. package/dist/src/tui/install-ui/ExecutionView.js +3 -2
  205. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  206. package/dist/src/tui/install-ui/GradientHeader.d.ts.map +1 -1
  207. package/dist/src/tui/install-ui/GradientHeader.js +2 -1
  208. package/dist/src/tui/install-ui/GradientHeader.js.map +1 -1
  209. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  210. package/dist/src/tui/install-ui/HooksConfig.js +8 -8
  211. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  212. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  213. package/dist/src/tui/install-ui/InstallConfirm.js +4 -3
  214. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  215. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  216. package/dist/src/tui/install-ui/InstallExecution.js +3 -2
  217. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  218. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  219. package/dist/src/tui/install-ui/InstallFlow.js +3 -2
  220. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  221. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  222. package/dist/src/tui/install-ui/InstallHub.js +9 -8
  223. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  224. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  225. package/dist/src/tui/install-ui/InstallResult.js +3 -2
  226. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  227. package/dist/src/tui/install-ui/McpConfig.d.ts.map +1 -1
  228. package/dist/src/tui/install-ui/McpConfig.js +4 -3
  229. package/dist/src/tui/install-ui/McpConfig.js.map +1 -1
  230. package/dist/src/tui/install-ui/ResultDashboard.d.ts.map +1 -1
  231. package/dist/src/tui/install-ui/ResultDashboard.js +3 -2
  232. package/dist/src/tui/install-ui/ResultDashboard.js.map +1 -1
  233. package/dist/src/tui/install-ui/ReviewPanel.d.ts.map +1 -1
  234. package/dist/src/tui/install-ui/ReviewPanel.js +2 -1
  235. package/dist/src/tui/install-ui/ReviewPanel.js.map +1 -1
  236. package/dist/src/tui/install-ui/StatuslineConfig.d.ts.map +1 -1
  237. package/dist/src/tui/install-ui/StatuslineConfig.js +3 -2
  238. package/dist/src/tui/install-ui/StatuslineConfig.js.map +1 -1
  239. package/dist/src/tui/install-ui/StepSelector.d.ts.map +1 -1
  240. package/dist/src/tui/install-ui/StepSelector.js +11 -10
  241. package/dist/src/tui/install-ui/StepSelector.js.map +1 -1
  242. package/dist/src/tui/overlay-ui/OverlayList.d.ts.map +1 -1
  243. package/dist/src/tui/overlay-ui/OverlayList.js +8 -12
  244. package/dist/src/tui/overlay-ui/OverlayList.js.map +1 -1
  245. package/dist/src/tui/shared/components.d.ts +56 -0
  246. package/dist/src/tui/shared/components.d.ts.map +1 -0
  247. package/dist/src/tui/shared/components.js +55 -0
  248. package/dist/src/tui/shared/components.js.map +1 -0
  249. package/dist/src/tui/shared/helpers.d.ts +24 -0
  250. package/dist/src/tui/shared/helpers.d.ts.map +1 -0
  251. package/dist/src/tui/shared/helpers.js +49 -0
  252. package/dist/src/tui/shared/helpers.js.map +1 -0
  253. package/dist/src/tui/shared/index.d.ts +4 -0
  254. package/dist/src/tui/shared/index.d.ts.map +1 -0
  255. package/dist/src/tui/shared/index.js +7 -0
  256. package/dist/src/tui/shared/index.js.map +1 -0
  257. package/dist/src/tui/shared/tokens.d.ts +79 -0
  258. package/dist/src/tui/shared/tokens.d.ts.map +1 -0
  259. package/dist/src/tui/shared/tokens.js +81 -0
  260. package/dist/src/tui/shared/tokens.js.map +1 -0
  261. package/dist/src/tui/tools-ui/CommandReference.d.ts.map +1 -1
  262. package/dist/src/tui/tools-ui/CommandReference.js +2 -4
  263. package/dist/src/tui/tools-ui/CommandReference.js.map +1 -1
  264. package/dist/src/tui/tools-ui/ConfigSources.d.ts.map +1 -1
  265. package/dist/src/tui/tools-ui/ConfigSources.js +3 -2
  266. package/dist/src/tui/tools-ui/ConfigSources.js.map +1 -1
  267. package/dist/src/tui/tools-ui/RegisterSettings.d.ts.map +1 -1
  268. package/dist/src/tui/tools-ui/RegisterSettings.js +2 -1
  269. package/dist/src/tui/tools-ui/RegisterSettings.js.map +1 -1
  270. package/dist/src/tui/tools-ui/RoleMappings.d.ts.map +1 -1
  271. package/dist/src/tui/tools-ui/RoleMappings.js +3 -5
  272. package/dist/src/tui/tools-ui/RoleMappings.js.map +1 -1
  273. package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
  274. package/dist/src/tui/tools-ui/ToolsDashboard.js +3 -5
  275. package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
  276. package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
  277. package/dist/src/tui/tools-ui/ToolsOverview.js +3 -5
  278. package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
  279. package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts.map +1 -1
  280. package/dist/src/tui/uninstall-ui/UninstallFlow.js +8 -7
  281. package/dist/src/tui/uninstall-ui/UninstallFlow.js.map +1 -1
  282. package/dist/src/types/index.d.ts +48 -6
  283. package/dist/src/types/index.d.ts.map +1 -1
  284. package/package.json +1 -1
  285. package/workflows/debug.md +73 -0
  286. package/workflows/execute.md +27 -0
  287. package/workflows/plan.md +11 -0
  288. package/workflows/review.md +33 -1
  289. package/workflows/tdd.md +257 -0
  290. package/workflows/verify.md +57 -0
  291. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +0 -22
  292. package/dashboard/dist/assets/CollabPage-8lUMUol_.js +0 -1
  293. package/dashboard/dist/assets/KanbanPage-diY3QmGd.js +0 -21
  294. package/dashboard/dist/assets/McpPage-COjuIf7U.js +0 -21
  295. package/dashboard/dist/assets/SpecsPage-BOwBin_o.js +0 -36
  296. package/dashboard/dist/assets/SupervisorPage-5iRyMU5T.js +0 -6
  297. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +0 -6
  298. package/dashboard/dist/assets/en-C_BD3UCD.js +0 -1
  299. package/dashboard/dist/assets/index-BEUaOz_b.css +0 -1
  300. package/dashboard/dist/assets/index-uIqUCT8y.js +0 -236
  301. package/dashboard/dist/assets/table-DCzuJAFh.js +0 -6
  302. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +0 -1
@@ -0,0 +1,257 @@
1
+ # TDD Workflow
2
+
3
+ Test-Driven Development discipline for plan generation and execution. Invoked when `maestro-plan --tdd` is used. Transforms feature requirements into RED-GREEN-REFACTOR task chains that `maestro-execute` can consume.
4
+
5
+ ---
6
+
7
+ ## Iron Law
8
+
9
+ **NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST.**
10
+
11
+ Write code before the test? Delete it. Start over.
12
+ - Don't keep it as "reference"
13
+ - Don't "adapt" it while writing tests
14
+ - Delete means delete
15
+
16
+ ---
17
+
18
+ ## Red-Green-Refactor Cycle
19
+
20
+ Every feature/behavior follows this mandatory sequence:
21
+
22
+ ```
23
+ RED: Write failing test → verify it fails correctly
24
+ GREEN: Write minimal code to pass → verify ALL tests pass
25
+ REFACTOR: Clean up → verify tests still pass
26
+ ```
27
+
28
+ Each cycle produces exactly 3 tasks in the plan. No steps may be skipped or merged.
29
+
30
+ ---
31
+
32
+ ## Red Flags — These Thoughts Mean STOP
33
+
34
+ - "This is too simple to need TDD"
35
+ - "I'll write tests after to verify"
36
+ - "Let me explore the implementation first, then add tests"
37
+ - "I'll keep the code as reference and write tests first"
38
+ - "TDD will slow me down"
39
+ - "I already manually tested this"
40
+ - "Tests after achieve the same goals"
41
+
42
+ All of these mean: **follow the cycle anyway**.
43
+
44
+ ---
45
+
46
+ ## Rationalization Table
47
+
48
+ | Excuse | Reality |
49
+ |--------|---------|
50
+ | "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
51
+ | "I'll test after" | Tests passing immediately prove nothing — you never saw them catch the bug. |
52
+ | "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
53
+ | "Already manually tested" | Ad-hoc != systematic. No record, can't re-run. |
54
+ | "Deleting X hours is wasteful" | Sunk cost fallacy. Keeping unverified code is technical debt. |
55
+ | "Need to explore first" | Fine. Throw away exploration, start fresh with TDD. |
56
+ | "Test hard = design unclear" | Listen to the test. Hard to test = hard to use. Simplify the interface. |
57
+ | "TDD will slow me down" | TDD is faster than debugging in production. |
58
+
59
+ ---
60
+
61
+ ## Task Chain Generation
62
+
63
+ When `maestro-plan --tdd` is active, each behavior/feature decomposes into a TDD triplet:
64
+
65
+ ### Structure
66
+
67
+ For each behavior B (derived from requirements or convergence criteria):
68
+
69
+ ```
70
+ TASK-{N}a: RED — Write failing test for B
71
+ TASK-{N}b: GREEN — Implement minimal code to pass B
72
+ TASK-{N}c: REFACTOR — Clean up B implementation (optional, skip if nothing to clean)
73
+ ```
74
+
75
+ ### TASK-{N}a: RED — Write Failing Test
76
+
77
+ ```json
78
+ {
79
+ "id": "TASK-{N}a",
80
+ "title": "RED: Write failing test for {behavior}",
81
+ "type": "test",
82
+ "action": "Write test that describes expected behavior. Test MUST fail before implementation exists.",
83
+ "implementation": [
84
+ "Identify the behavior to test from requirement",
85
+ "Write one minimal test — one behavior per test, clear name",
86
+ "Use real code, not mocks (unless external dependency)",
87
+ "Run test: verify it FAILS (not errors) with expected failure message",
88
+ "If test passes: wrong test — testing existing behavior, fix test",
89
+ "If test errors: fix error, re-run until it fails correctly"
90
+ ],
91
+ "convergence": {
92
+ "criteria": [
93
+ "Test file exists at {test_path}",
94
+ "Test run exits non-zero (test fails, not errors)",
95
+ "Failure message matches expected behavior gap"
96
+ ],
97
+ "verification": "Run test command, confirm RED status (failure, not error)"
98
+ },
99
+ "meta": {
100
+ "tdd_phase": "red",
101
+ "tdd_group": "{N}"
102
+ }
103
+ }
104
+ ```
105
+
106
+ ### TASK-{N}b: GREEN — Write Minimal Code
107
+
108
+ ```json
109
+ {
110
+ "id": "TASK-{N}b",
111
+ "title": "GREEN: Implement minimal code for {behavior}",
112
+ "type": "feature",
113
+ "depends_on": ["TASK-{N}a"],
114
+ "action": "Write the simplest code that makes the failing test pass. No features beyond what the test requires.",
115
+ "implementation": [
116
+ "Read the failing test to understand exactly what is needed",
117
+ "Write minimal production code — just enough to pass",
118
+ "Do NOT add features, refactor other code, or improve beyond the test",
119
+ "Do NOT add options, configurability, or flexibility not required by test",
120
+ "Run test: verify it PASSES",
121
+ "Run full test suite: verify no regressions (all other tests still pass)",
122
+ "If test fails: fix code, NOT test",
123
+ "If other tests fail: fix now"
124
+ ],
125
+ "convergence": {
126
+ "criteria": [
127
+ "Test from TASK-{N}a passes (exit 0)",
128
+ "Full test suite passes (no regressions)",
129
+ "No warnings or errors in test output"
130
+ ],
131
+ "verification": "Run test command, confirm GREEN status (all pass, clean output)"
132
+ },
133
+ "meta": {
134
+ "tdd_phase": "green",
135
+ "tdd_group": "{N}"
136
+ }
137
+ }
138
+ ```
139
+
140
+ ### TASK-{N}c: REFACTOR — Clean Up
141
+
142
+ ```json
143
+ {
144
+ "id": "TASK-{N}c",
145
+ "title": "REFACTOR: Clean up {behavior} implementation",
146
+ "type": "refactor",
147
+ "depends_on": ["TASK-{N}b"],
148
+ "action": "Remove duplication, improve names, extract helpers. Keep tests green. Do NOT add behavior.",
149
+ "implementation": [
150
+ "Review code from TASK-{N}b for duplication, naming, structure",
151
+ "Apply refactoring while keeping ALL tests green",
152
+ "Remove duplication across the new and existing code",
153
+ "Improve variable and function names for clarity",
154
+ "Extract helpers only if reuse is immediate (not speculative)",
155
+ "Run full test suite after each refactoring step",
156
+ "If any test fails during refactoring: undo last change, re-run"
157
+ ],
158
+ "convergence": {
159
+ "criteria": [
160
+ "Full test suite passes (same as GREEN, no regressions)",
161
+ "No new behavior added beyond what tests cover"
162
+ ],
163
+ "verification": "Run full test suite, confirm still GREEN"
164
+ },
165
+ "meta": {
166
+ "tdd_phase": "refactor",
167
+ "tdd_group": "{N}"
168
+ }
169
+ }
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Wave Assignment
175
+
176
+ TDD triplets are sequential within each group but groups can parallelize if independent:
177
+
178
+ ```
179
+ Wave 1: TASK-1a (RED for feature A), TASK-2a (RED for feature B) — parallel if independent
180
+ Wave 2: TASK-1b (GREEN for feature A), TASK-2b (GREEN for feature B) — parallel
181
+ Wave 3: TASK-1c (REFACTOR for A), TASK-2c (REFACTOR for B) — parallel
182
+ ```
183
+
184
+ Within a group, the dependency chain is always: `{N}a → {N}b → {N}c`.
185
+
186
+ ---
187
+
188
+ ## Integration with plan.json
189
+
190
+ When `--tdd` is active, the plan.json output includes:
191
+
192
+ ```json
193
+ {
194
+ "tdd_mode": true,
195
+ "tdd_groups": [
196
+ {
197
+ "group": 1,
198
+ "behavior": "User can login with email and password",
199
+ "tasks": ["TASK-1a", "TASK-1b", "TASK-1c"]
200
+ }
201
+ ]
202
+ }
203
+ ```
204
+
205
+ The standard `plan.json.waves[]` and `.task/TASK-*.json` structure is preserved — `maestro-execute` consumes it without modification.
206
+
207
+ ---
208
+
209
+ ## Execution Enforcement
210
+
211
+ When `maestro-execute` processes a TDD plan (detected by `plan.json.tdd_mode == true`):
212
+
213
+ ### RED task verification
214
+ - After TASK-{N}a completes, verify test exists AND fails
215
+ - If test passes: mark task BLOCKED with reason "Test passes before implementation — wrong test"
216
+
217
+ ### GREEN task verification
218
+ - After TASK-{N}b completes, verify ALL tests pass
219
+ - If the RED test still fails: mark task BLOCKED, provide failure output
220
+ - If other tests regress: mark task BLOCKED, list regressed tests
221
+
222
+ ### REFACTOR task verification
223
+ - After TASK-{N}c completes, verify ALL tests still pass
224
+ - If any test fails: undo changes, mark as needing re-attempt
225
+
226
+ ---
227
+
228
+ ## Good Tests
229
+
230
+ | Quality | Good | Bad |
231
+ |---------|------|-----|
232
+ | **Minimal** | One thing per test. "and" in name? Split it. | `test('validates email and domain and whitespace')` |
233
+ | **Clear** | Name describes behavior | `test('test1')`, `test('it works')` |
234
+ | **Shows intent** | Demonstrates desired API | Obscures what code should do |
235
+ | **Real code** | Uses actual implementations | Mocks everything, tests mock behavior |
236
+
237
+ ---
238
+
239
+ ## When to Skip REFACTOR
240
+
241
+ TASK-{N}c (REFACTOR) may be omitted from the plan when:
242
+ - GREEN code is already clean (no duplication, good names)
243
+ - The change is truly trivial (single-line fix)
244
+
245
+ When skipped, mark in plan.json: `"refactor_skipped": true, "reason": "GREEN code already clean"`
246
+
247
+ ---
248
+
249
+ ## Error Handling
250
+
251
+ | Situation | Action |
252
+ |-----------|--------|
253
+ | No test framework detected | Abort: "No test infrastructure found. Set up testing first." |
254
+ | RED test passes immediately | BLOCKED: "Test passes before implementation — rewrite test" |
255
+ | GREEN test still fails after implementation | Retry once with more context, then BLOCKED |
256
+ | REFACTOR breaks tests | Undo refactoring, mark as BLOCKED |
257
+ | Cannot write meaningful test | AskUserQuestion: "Behavior '{B}' is hard to test. Should we: (1) simplify the interface, (2) skip TDD for this behavior, (3) use integration test instead?" |
@@ -4,6 +4,63 @@ Dual verification: Goal-Backward structural verification + Nyquist test coverage
4
4
 
5
5
  ---
6
6
 
7
+ ## Iron Law
8
+
9
+ **NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE IN THIS MESSAGE.**
10
+
11
+ Before any success/completion claim:
12
+ 1. IDENTIFY — What command proves this claim?
13
+ 2. RUN — Execute the FULL command (fresh, in this message — never cite prior runs)
14
+ 3. READ — Read FULL output, check exit code, count failures
15
+ 4. VERIFY — Does the output actually confirm the claim?
16
+ 5. ONLY THEN — Make the claim, with evidence inline
17
+
18
+ ---
19
+
20
+ ## Forbidden Wording
21
+
22
+ These phrases are BANNED in verification reports and completion claims:
23
+ - "Should work now"
24
+ - "Probably passes"
25
+ - "Seems correct"
26
+ - "Looks good"
27
+ - "I'm confident that..."
28
+ - "Based on my review, this is complete"
29
+ - Any expression of satisfaction BEFORE running verification commands
30
+
31
+ Replace with evidence: `"Tests pass: 42/42 green (exit 0)"`, `"All 5 truths VERIFIED with file:line evidence"`.
32
+
33
+ ---
34
+
35
+ ## Red Flags — These Thoughts Mean STOP
36
+
37
+ If you catch yourself thinking any of these, STOP and run verification first:
38
+
39
+ - "I just wrote this code, it definitely works"
40
+ - "The changes are too small to break anything"
41
+ - "I already verified this earlier in the conversation"
42
+ - "The tests passed before, they'll pass now"
43
+ - "I can see from the code that it's correct"
44
+ - "Let me just mark this complete and move on"
45
+
46
+ All of these mean: **run the verification command NOW, read the output, then report**.
47
+
48
+ ---
49
+
50
+ ## Rationalization Table
51
+
52
+ | Excuse | Why It's Wrong |
53
+ |--------|----------------|
54
+ | "I just made a one-line change" | One-line changes cause the most insidious bugs |
55
+ | "Tests passed earlier" | Code changed since then — earlier results are stale |
56
+ | "I can read the code is correct" | Reading is not running — subtle runtime errors are invisible in code review |
57
+ | "The build succeeded" | Build success ≠ functional correctness |
58
+ | "It works for the happy path" | Edge cases, error paths, and boundary conditions need verification too |
59
+ | "Verification would take too long" | Skipping verification costs more time when bugs surface later |
60
+ | "The agent said it's done" | Agent reports are claims, not evidence — verify independently |
61
+
62
+ ---
63
+
7
64
  ## Prerequisites
8
65
 
9
66
  - Phase execution completed (or partially completed)