@codemcp/workflows 5.2.4 → 6.0.1

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 (451) hide show
  1. package/README.md +91 -0
  2. package/package.json +77 -17
  3. package/packages/cli/dist/chunk-R5U7XKVJ.js +16 -0
  4. package/packages/cli/dist/chunk-RTDQR2KY.js +6718 -0
  5. package/packages/cli/dist/cli-CZ4FMSWR.js +1421 -0
  6. package/packages/cli/dist/dist-KZOA4GL5.js +65 -0
  7. package/packages/cli/dist/dist-UGVUJIDN.js +14475 -0
  8. package/packages/cli/dist/index.js +21 -0
  9. package/packages/cli/package.json +28 -0
  10. package/packages/core/dist/beads-integration.d.ts +50 -0
  11. package/packages/core/dist/beads-integration.js +387 -0
  12. package/packages/core/dist/beads-integration.js.map +1 -0
  13. package/packages/core/dist/beads-state-manager.d.ts +58 -0
  14. package/packages/core/dist/beads-state-manager.js +212 -0
  15. package/packages/core/dist/beads-state-manager.js.map +1 -0
  16. package/packages/core/dist/config-manager.d.ts +24 -0
  17. package/packages/core/dist/config-manager.js +68 -0
  18. package/packages/core/dist/config-manager.js.map +1 -0
  19. package/packages/core/dist/conversation-manager.d.ts +98 -0
  20. package/packages/core/dist/conversation-manager.js +382 -0
  21. package/packages/core/dist/conversation-manager.js.map +1 -0
  22. package/packages/core/dist/file-detection-manager.d.ts +53 -0
  23. package/packages/core/dist/file-detection-manager.js +221 -0
  24. package/packages/core/dist/file-detection-manager.js.map +1 -0
  25. package/packages/core/dist/file-storage.d.ts +93 -0
  26. package/packages/core/dist/file-storage.js +301 -0
  27. package/packages/core/dist/file-storage.js.map +1 -0
  28. package/packages/core/dist/git-manager.d.ts +22 -0
  29. package/packages/core/dist/git-manager.js +123 -0
  30. package/packages/core/dist/git-manager.js.map +1 -0
  31. package/packages/core/dist/index.d.ts +24 -0
  32. package/packages/core/dist/index.js +31 -0
  33. package/packages/core/dist/index.js.map +1 -0
  34. package/packages/core/dist/instruction-generator.d.ts +40 -0
  35. package/packages/core/dist/instruction-generator.js +89 -0
  36. package/packages/core/dist/instruction-generator.js.map +1 -0
  37. package/packages/core/dist/interaction-logger.d.ts +37 -0
  38. package/packages/core/dist/interaction-logger.js +87 -0
  39. package/packages/core/dist/interaction-logger.js.map +1 -0
  40. package/packages/core/dist/interfaces/index.d.ts +9 -0
  41. package/packages/core/dist/interfaces/index.js +10 -0
  42. package/packages/core/dist/interfaces/index.js.map +1 -0
  43. package/packages/core/dist/interfaces/instruction-generator.interface.d.ts +41 -0
  44. package/packages/core/dist/interfaces/instruction-generator.interface.js +8 -0
  45. package/packages/core/dist/interfaces/instruction-generator.interface.js.map +1 -0
  46. package/packages/core/dist/interfaces/plan-manager.interface.d.ts +55 -0
  47. package/packages/core/dist/interfaces/plan-manager.interface.js +8 -0
  48. package/packages/core/dist/interfaces/plan-manager.interface.js.map +1 -0
  49. package/packages/core/dist/interfaces/task-backend-client.interface.d.ts +52 -0
  50. package/packages/core/dist/interfaces/task-backend-client.interface.js +8 -0
  51. package/packages/core/dist/interfaces/task-backend-client.interface.js.map +1 -0
  52. package/packages/core/dist/logger.d.ts +64 -0
  53. package/packages/core/dist/logger.js +283 -0
  54. package/packages/core/dist/logger.js.map +1 -0
  55. package/packages/core/dist/path-validation-utils.d.ts +75 -0
  56. package/packages/core/dist/path-validation-utils.js +238 -0
  57. package/packages/core/dist/path-validation-utils.js.map +1 -0
  58. package/packages/core/dist/persistence-interface.d.ts +91 -0
  59. package/packages/core/dist/persistence-interface.js +9 -0
  60. package/packages/core/dist/persistence-interface.js.map +1 -0
  61. package/{dist/components/beads/beads-plan-manager.d.ts → packages/core/dist/plan-manager.d.ts} +15 -15
  62. package/{dist/components/beads/beads-plan-manager.js → packages/core/dist/plan-manager.js} +66 -50
  63. package/packages/core/dist/plan-manager.js.map +1 -0
  64. package/packages/core/dist/project-docs-manager.d.ts +119 -0
  65. package/packages/core/dist/project-docs-manager.js +366 -0
  66. package/packages/core/dist/project-docs-manager.js.map +1 -0
  67. package/packages/core/dist/state-machine-loader.d.ts +61 -0
  68. package/packages/core/dist/state-machine-loader.js +273 -0
  69. package/packages/core/dist/state-machine-loader.js.map +1 -0
  70. package/packages/core/dist/state-machine-types.d.ts +64 -0
  71. package/packages/core/dist/state-machine-types.js +7 -0
  72. package/packages/core/dist/state-machine-types.js.map +1 -0
  73. package/packages/core/dist/state-machine.d.ts +52 -0
  74. package/packages/core/dist/state-machine.js +256 -0
  75. package/packages/core/dist/state-machine.js.map +1 -0
  76. package/packages/core/dist/system-prompt-generator.d.ts +14 -0
  77. package/packages/core/dist/system-prompt-generator.js +42 -0
  78. package/packages/core/dist/system-prompt-generator.js.map +1 -0
  79. package/packages/core/dist/task-backend.d.ts +45 -0
  80. package/packages/core/dist/task-backend.js +176 -0
  81. package/packages/core/dist/task-backend.js.map +1 -0
  82. package/packages/core/dist/template-manager.d.ts +61 -0
  83. package/packages/core/dist/template-manager.js +231 -0
  84. package/packages/core/dist/template-manager.js.map +1 -0
  85. package/packages/core/dist/transition-engine.d.ts +77 -0
  86. package/packages/core/dist/transition-engine.js +244 -0
  87. package/packages/core/dist/transition-engine.js.map +1 -0
  88. package/packages/core/dist/types.d.ts +54 -0
  89. package/packages/core/dist/types.js +5 -0
  90. package/packages/core/dist/workflow-manager.d.ts +89 -0
  91. package/packages/core/dist/workflow-manager.js +468 -0
  92. package/packages/core/dist/workflow-manager.js.map +1 -0
  93. package/packages/core/package.json +33 -0
  94. package/packages/docs/.vitepress/dist/.gitignore +2 -0
  95. package/packages/docs/.vitepress/dist/404.html +23 -0
  96. package/packages/docs/.vitepress/dist/assets/app.Dz3lZH3M.js +1 -0
  97. package/packages/docs/.vitepress/dist/assets/chunks/framework.DZS7lpav.js +19 -0
  98. package/packages/docs/.vitepress/dist/assets/chunks/theme.q5Ewb3F1.js +206 -0
  99. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.js +130 -0
  100. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.lean.js +1 -0
  101. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.js +72 -0
  102. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.lean.js +1 -0
  103. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.js +34 -0
  104. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.lean.js +1 -0
  105. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.js +1 -0
  106. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.lean.js +1 -0
  107. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.js +2 -0
  108. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.lean.js +1 -0
  109. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  110. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  111. package/packages/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  112. package/packages/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  113. package/packages/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  114. package/packages/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  115. package/packages/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  116. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  117. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  118. package/packages/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  119. package/packages/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  120. package/packages/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  121. package/packages/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  122. package/packages/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  123. package/packages/docs/.vitepress/dist/assets/mcp-interaction-pattern.VdvOPuTt.png +0 -0
  124. package/packages/docs/.vitepress/dist/assets/placeholder-demo-greenfield.B8lG_tBI.png +0 -0
  125. package/packages/docs/.vitepress/dist/assets/style.CAgdBzOq.css +1 -0
  126. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.js +50 -0
  127. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.lean.js +1 -0
  128. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.js +24 -0
  129. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.lean.js +1 -0
  130. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.js +15 -0
  131. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.lean.js +1 -0
  132. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.js +157 -0
  133. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.lean.js +1 -0
  134. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.js +143 -0
  135. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.lean.js +1 -0
  136. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.js +1 -0
  137. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.lean.js +1 -0
  138. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.js +23 -0
  139. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.lean.js +1 -0
  140. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.js +43 -0
  141. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.lean.js +1 -0
  142. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.js +2 -0
  143. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.lean.js +1 -0
  144. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.js +3 -0
  145. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.lean.js +1 -0
  146. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.js +7 -0
  147. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.lean.js +1 -0
  148. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.js +1 -0
  149. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.lean.js +1 -0
  150. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.js +1 -0
  151. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.lean.js +1 -0
  152. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.js +1 -0
  153. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.lean.js +1 -0
  154. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.js +1 -0
  155. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.lean.js +1 -0
  156. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.js +1 -0
  157. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.lean.js +1 -0
  158. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.js +1 -0
  159. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.lean.js +1 -0
  160. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.js +1 -0
  161. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.lean.js +1 -0
  162. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.js +1 -0
  163. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.lean.js +1 -0
  164. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.js +1 -0
  165. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.lean.js +1 -0
  166. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.js +1 -0
  167. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.lean.js +1 -0
  168. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.js +1 -0
  169. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.lean.js +1 -0
  170. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.js +1 -0
  171. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.lean.js +1 -0
  172. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.js +1 -0
  173. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.lean.js +1 -0
  174. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.js +1 -0
  175. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.lean.js +1 -0
  176. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.js +1 -0
  177. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.lean.js +1 -0
  178. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.js +1 -0
  179. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.lean.js +1 -0
  180. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.js +1 -0
  181. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.lean.js +1 -0
  182. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.js +1 -0
  183. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.lean.js +1 -0
  184. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.js +1 -0
  185. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.lean.js +1 -0
  186. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.js +1 -0
  187. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.lean.js +1 -0
  188. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.js +1 -0
  189. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.lean.js +1 -0
  190. package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +155 -0
  191. package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +97 -0
  192. package/packages/docs/.vitepress/dist/dev/LOGGING.html +59 -0
  193. package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +30 -0
  194. package/packages/docs/.vitepress/dist/hashmap.json +1 -0
  195. package/packages/docs/.vitepress/dist/index.html +27 -0
  196. package/packages/docs/.vitepress/dist/user/advanced-engineering.html +75 -0
  197. package/packages/docs/.vitepress/dist/user/agent-setup.html +49 -0
  198. package/packages/docs/.vitepress/dist/user/beads-integration.html +40 -0
  199. package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +182 -0
  200. package/packages/docs/.vitepress/dist/user/custom-workflows.html +168 -0
  201. package/packages/docs/.vitepress/dist/user/git-commit-feature.html +30 -0
  202. package/packages/docs/.vitepress/dist/user/how-it-works.html +48 -0
  203. package/packages/docs/.vitepress/dist/user/long-term-memory.html +68 -0
  204. package/packages/docs/.vitepress/dist/user/packaged-workflows.html +27 -0
  205. package/packages/docs/.vitepress/dist/user/tutorial.html +28 -0
  206. package/packages/docs/.vitepress/dist/user/workflow-selection.html +32 -0
  207. package/packages/docs/.vitepress/dist/vp-icons.css +0 -0
  208. package/packages/docs/.vitepress/dist/workflows/adr.html +26 -0
  209. package/packages/docs/.vitepress/dist/workflows/adr.yaml +157 -0
  210. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +26 -0
  211. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.yaml +592 -0
  212. package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +26 -0
  213. package/packages/docs/.vitepress/dist/workflows/boundary-testing.yaml +376 -0
  214. package/packages/docs/.vitepress/dist/workflows/bugfix.html +26 -0
  215. package/packages/docs/.vitepress/dist/workflows/bugfix.yaml +177 -0
  216. package/packages/docs/.vitepress/dist/workflows/business-analysis.html +26 -0
  217. package/packages/docs/.vitepress/dist/workflows/business-analysis.yaml +597 -0
  218. package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +26 -0
  219. package/packages/docs/.vitepress/dist/workflows/c4-analysis.yaml +471 -0
  220. package/packages/docs/.vitepress/dist/workflows/epcc.html +26 -0
  221. package/packages/docs/.vitepress/dist/workflows/epcc.yaml +183 -0
  222. package/packages/docs/.vitepress/dist/workflows/game-beginner.html +26 -0
  223. package/packages/docs/.vitepress/dist/workflows/game-beginner.yaml +434 -0
  224. package/packages/docs/.vitepress/dist/workflows/greenfield.html +26 -0
  225. package/packages/docs/.vitepress/dist/workflows/greenfield.yaml +201 -0
  226. package/packages/docs/.vitepress/dist/workflows/minor.html +26 -0
  227. package/packages/docs/.vitepress/dist/workflows/minor.yaml +138 -0
  228. package/packages/docs/.vitepress/dist/workflows/posts.html +26 -0
  229. package/packages/docs/.vitepress/dist/workflows/posts.yaml +193 -0
  230. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +26 -0
  231. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.yaml +608 -0
  232. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +26 -0
  233. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.yaml +381 -0
  234. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +26 -0
  235. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.yaml +713 -0
  236. package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +26 -0
  237. package/packages/docs/.vitepress/dist/workflows/sdd-feature.yaml +471 -0
  238. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +26 -0
  239. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.yaml +336 -0
  240. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +26 -0
  241. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.yaml +463 -0
  242. package/packages/docs/.vitepress/dist/workflows/slides.html +26 -0
  243. package/packages/docs/.vitepress/dist/workflows/slides.yaml +237 -0
  244. package/packages/docs/.vitepress/dist/workflows/tdd.html +26 -0
  245. package/packages/docs/.vitepress/dist/workflows/tdd.yaml +160 -0
  246. package/packages/docs/.vitepress/dist/workflows/waterfall.html +26 -0
  247. package/packages/docs/.vitepress/dist/workflows/waterfall.yaml +209 -0
  248. package/packages/docs/.vitepress/dist/workflows.html +26 -0
  249. package/packages/docs/package.json +32 -0
  250. package/packages/mcp-server/dist/index.js +10546 -0
  251. package/packages/mcp-server/package.json +41 -0
  252. package/packages/visualizer/dist/WorkflowVisualizer.vue +1147 -0
  253. package/packages/visualizer/dist/index.ts +17 -0
  254. package/packages/visualizer/dist/main.ts +673 -0
  255. package/packages/visualizer/dist/services/BundledWorkflows.ts +35 -0
  256. package/packages/visualizer/dist/services/FileUploadHandler.ts +166 -0
  257. package/packages/visualizer/dist/services/WorkflowLoader.ts +198 -0
  258. package/packages/visualizer/dist/services/YamlParser.ts +248 -0
  259. package/packages/visualizer/dist/services/workflow-list.ts +23 -0
  260. package/packages/visualizer/dist/types/ui-types.ts +84 -0
  261. package/packages/visualizer/dist/types/visualization-types.ts +95 -0
  262. package/packages/visualizer/dist/types/vite-env.d.ts +12 -0
  263. package/packages/visualizer/dist/utils/DomHelpers.ts +206 -0
  264. package/packages/visualizer/dist/utils/ErrorHandler.ts +170 -0
  265. package/packages/visualizer/dist/utils/PlantUMLEncoder.ts +121 -0
  266. package/packages/visualizer/dist/visualization/DiagramRenderer.ts +430 -0
  267. package/packages/visualizer/dist/visualization/LayoutEngine.ts +339 -0
  268. package/packages/visualizer/dist/visualization/PlantUMLRenderer.ts +507 -0
  269. package/packages/visualizer/dist/visualization/StateRenderer.ts +339 -0
  270. package/packages/visualizer/dist/visualization/TransitionRenderer.ts +432 -0
  271. package/packages/visualizer/package.json +39 -0
  272. package/resources/.DS_Store +0 -0
  273. package/resources/agents/architect.yaml +61 -0
  274. package/resources/agents/business-analyst.yaml +60 -0
  275. package/resources/agents/developer.yaml +61 -0
  276. package/resources/state-machine-schema.json +114 -0
  277. package/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  278. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  279. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  280. package/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  281. package/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  282. package/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  283. package/resources/templates/architecture/c4.md +224 -0
  284. package/resources/templates/architecture/freestyle.md +53 -0
  285. package/resources/templates/architecture/game.md +250 -0
  286. package/resources/templates/architecture/none.md +17 -0
  287. package/resources/templates/design/comprehensive.md +207 -0
  288. package/resources/templates/design/freestyle.md +37 -0
  289. package/resources/templates/design/game.md +66 -0
  290. package/resources/templates/design/none.md +17 -0
  291. package/resources/templates/requirements/ears.md +90 -0
  292. package/resources/templates/requirements/freestyle.md +42 -0
  293. package/resources/templates/requirements/game.md +162 -0
  294. package/resources/templates/requirements/none.md +17 -0
  295. package/resources/templates/skills/POWER.md +23 -0
  296. package/resources/templates/skills/SKILL.md +19 -0
  297. package/resources/workflows/adr.yaml +157 -0
  298. package/resources/workflows/big-bang-conversion.yaml +592 -0
  299. package/resources/workflows/boundary-testing.yaml +376 -0
  300. package/resources/workflows/bugfix.yaml +177 -0
  301. package/resources/workflows/business-analysis.yaml +597 -0
  302. package/resources/workflows/c4-analysis.yaml +471 -0
  303. package/resources/workflows/epcc.yaml +183 -0
  304. package/resources/workflows/game-beginner.yaml +434 -0
  305. package/resources/workflows/greenfield.yaml +201 -0
  306. package/resources/workflows/minor.yaml +138 -0
  307. package/resources/workflows/posts.yaml +193 -0
  308. package/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  309. package/resources/workflows/sdd-bugfix.yaml +381 -0
  310. package/resources/workflows/sdd-feature-crowd.yaml +713 -0
  311. package/resources/workflows/sdd-feature.yaml +471 -0
  312. package/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  313. package/resources/workflows/sdd-greenfield.yaml +463 -0
  314. package/resources/workflows/slides.yaml +237 -0
  315. package/resources/workflows/tdd.yaml +160 -0
  316. package/resources/workflows/waterfall.yaml +209 -0
  317. package/dist/components/beads/beads-instruction-generator.d.ts +0 -44
  318. package/dist/components/beads/beads-instruction-generator.d.ts.map +0 -1
  319. package/dist/components/beads/beads-instruction-generator.js +0 -160
  320. package/dist/components/beads/beads-instruction-generator.js.map +0 -1
  321. package/dist/components/beads/beads-plan-manager.d.ts.map +0 -1
  322. package/dist/components/beads/beads-plan-manager.js.map +0 -1
  323. package/dist/components/beads/beads-task-backend-client.d.ts +0 -43
  324. package/dist/components/beads/beads-task-backend-client.d.ts.map +0 -1
  325. package/dist/components/beads/beads-task-backend-client.js +0 -175
  326. package/dist/components/beads/beads-task-backend-client.js.map +0 -1
  327. package/dist/index.d.ts +0 -9
  328. package/dist/index.d.ts.map +0 -1
  329. package/dist/index.js +0 -74
  330. package/dist/index.js.map +0 -1
  331. package/dist/notification-service.d.ts +0 -14
  332. package/dist/notification-service.d.ts.map +0 -1
  333. package/dist/notification-service.js +0 -18
  334. package/dist/notification-service.js.map +0 -1
  335. package/dist/plugin-system/beads-plugin.d.ts +0 -71
  336. package/dist/plugin-system/beads-plugin.d.ts.map +0 -1
  337. package/dist/plugin-system/beads-plugin.js +0 -465
  338. package/dist/plugin-system/beads-plugin.js.map +0 -1
  339. package/dist/plugin-system/commit-plugin.d.ts +0 -40
  340. package/dist/plugin-system/commit-plugin.d.ts.map +0 -1
  341. package/dist/plugin-system/commit-plugin.js +0 -204
  342. package/dist/plugin-system/commit-plugin.js.map +0 -1
  343. package/dist/plugin-system/index.d.ts +0 -9
  344. package/dist/plugin-system/index.d.ts.map +0 -1
  345. package/dist/plugin-system/index.js +0 -9
  346. package/dist/plugin-system/index.js.map +0 -1
  347. package/dist/plugin-system/plugin-interfaces.d.ts +0 -98
  348. package/dist/plugin-system/plugin-interfaces.d.ts.map +0 -1
  349. package/dist/plugin-system/plugin-interfaces.js +0 -9
  350. package/dist/plugin-system/plugin-interfaces.js.map +0 -1
  351. package/dist/plugin-system/plugin-registry.d.ts +0 -44
  352. package/dist/plugin-system/plugin-registry.d.ts.map +0 -1
  353. package/dist/plugin-system/plugin-registry.js +0 -132
  354. package/dist/plugin-system/plugin-registry.js.map +0 -1
  355. package/dist/resource-handlers/conversation-state.d.ts +0 -15
  356. package/dist/resource-handlers/conversation-state.d.ts.map +0 -1
  357. package/dist/resource-handlers/conversation-state.js +0 -40
  358. package/dist/resource-handlers/conversation-state.js.map +0 -1
  359. package/dist/resource-handlers/development-plan.d.ts +0 -14
  360. package/dist/resource-handlers/development-plan.d.ts.map +0 -1
  361. package/dist/resource-handlers/development-plan.js +0 -31
  362. package/dist/resource-handlers/development-plan.js.map +0 -1
  363. package/dist/resource-handlers/index.d.ts +0 -24
  364. package/dist/resource-handlers/index.d.ts.map +0 -1
  365. package/dist/resource-handlers/index.js +0 -62
  366. package/dist/resource-handlers/index.js.map +0 -1
  367. package/dist/resource-handlers/system-prompt.d.ts +0 -15
  368. package/dist/resource-handlers/system-prompt.d.ts.map +0 -1
  369. package/dist/resource-handlers/system-prompt.js +0 -40
  370. package/dist/resource-handlers/system-prompt.js.map +0 -1
  371. package/dist/resource-handlers/workflow-resource.d.ts +0 -15
  372. package/dist/resource-handlers/workflow-resource.d.ts.map +0 -1
  373. package/dist/resource-handlers/workflow-resource.js +0 -85
  374. package/dist/resource-handlers/workflow-resource.js.map +0 -1
  375. package/dist/response-renderer.d.ts +0 -30
  376. package/dist/response-renderer.d.ts.map +0 -1
  377. package/dist/response-renderer.js +0 -94
  378. package/dist/response-renderer.js.map +0 -1
  379. package/dist/server-config.d.ts +0 -34
  380. package/dist/server-config.d.ts.map +0 -1
  381. package/dist/server-config.js +0 -503
  382. package/dist/server-config.js.map +0 -1
  383. package/dist/server-helpers.d.ts +0 -70
  384. package/dist/server-helpers.d.ts.map +0 -1
  385. package/dist/server-helpers.js +0 -171
  386. package/dist/server-helpers.js.map +0 -1
  387. package/dist/server-implementation.d.ts +0 -74
  388. package/dist/server-implementation.d.ts.map +0 -1
  389. package/dist/server-implementation.js +0 -201
  390. package/dist/server-implementation.js.map +0 -1
  391. package/dist/server.d.ts +0 -6
  392. package/dist/server.d.ts.map +0 -1
  393. package/dist/server.js +0 -5
  394. package/dist/server.js.map +0 -1
  395. package/dist/tool-handlers/base-tool-handler.d.ts +0 -50
  396. package/dist/tool-handlers/base-tool-handler.d.ts.map +0 -1
  397. package/dist/tool-handlers/base-tool-handler.js +0 -81
  398. package/dist/tool-handlers/base-tool-handler.js.map +0 -1
  399. package/dist/tool-handlers/conduct-review.d.ts +0 -49
  400. package/dist/tool-handlers/conduct-review.d.ts.map +0 -1
  401. package/dist/tool-handlers/conduct-review.js +0 -104
  402. package/dist/tool-handlers/conduct-review.js.map +0 -1
  403. package/dist/tool-handlers/get-tool-info.d.ts +0 -75
  404. package/dist/tool-handlers/get-tool-info.d.ts.map +0 -1
  405. package/dist/tool-handlers/get-tool-info.js +0 -168
  406. package/dist/tool-handlers/get-tool-info.js.map +0 -1
  407. package/dist/tool-handlers/index.d.ts +0 -41
  408. package/dist/tool-handlers/index.d.ts.map +0 -1
  409. package/dist/tool-handlers/index.js +0 -71
  410. package/dist/tool-handlers/index.js.map +0 -1
  411. package/dist/tool-handlers/list-workflows.d.ts +0 -35
  412. package/dist/tool-handlers/list-workflows.d.ts.map +0 -1
  413. package/dist/tool-handlers/list-workflows.js +0 -43
  414. package/dist/tool-handlers/list-workflows.js.map +0 -1
  415. package/dist/tool-handlers/no-idea.d.ts +0 -41
  416. package/dist/tool-handlers/no-idea.d.ts.map +0 -1
  417. package/dist/tool-handlers/no-idea.js +0 -29
  418. package/dist/tool-handlers/no-idea.js.map +0 -1
  419. package/dist/tool-handlers/proceed-to-phase.d.ts +0 -41
  420. package/dist/tool-handlers/proceed-to-phase.d.ts.map +0 -1
  421. package/dist/tool-handlers/proceed-to-phase.js +0 -165
  422. package/dist/tool-handlers/proceed-to-phase.js.map +0 -1
  423. package/dist/tool-handlers/reset-development.d.ts +0 -31
  424. package/dist/tool-handlers/reset-development.d.ts.map +0 -1
  425. package/dist/tool-handlers/reset-development.js +0 -48
  426. package/dist/tool-handlers/reset-development.js.map +0 -1
  427. package/dist/tool-handlers/resume-workflow.d.ts +0 -87
  428. package/dist/tool-handlers/resume-workflow.d.ts.map +0 -1
  429. package/dist/tool-handlers/resume-workflow.js +0 -212
  430. package/dist/tool-handlers/resume-workflow.js.map +0 -1
  431. package/dist/tool-handlers/setup-project-docs.d.ts +0 -37
  432. package/dist/tool-handlers/setup-project-docs.d.ts.map +0 -1
  433. package/dist/tool-handlers/setup-project-docs.js +0 -138
  434. package/dist/tool-handlers/setup-project-docs.js.map +0 -1
  435. package/dist/tool-handlers/start-development.d.ts +0 -79
  436. package/dist/tool-handlers/start-development.d.ts.map +0 -1
  437. package/dist/tool-handlers/start-development.js +0 -484
  438. package/dist/tool-handlers/start-development.js.map +0 -1
  439. package/dist/tool-handlers/whats-next.d.ts +0 -41
  440. package/dist/tool-handlers/whats-next.d.ts.map +0 -1
  441. package/dist/tool-handlers/whats-next.js +0 -123
  442. package/dist/tool-handlers/whats-next.js.map +0 -1
  443. package/dist/types.d.ts +0 -119
  444. package/dist/types.d.ts.map +0 -1
  445. package/dist/types.js +0 -5
  446. package/dist/version-info.d.ts +0 -30
  447. package/dist/version-info.d.ts.map +0 -1
  448. package/dist/version-info.js +0 -178
  449. package/dist/version-info.js.map +0 -1
  450. package/skill/SKILL.md +0 -28
  451. /package/{dist → packages/core/dist}/types.js.map +0 -0
@@ -1,204 +0,0 @@
1
- /**
2
- * CommitPlugin Implementation
3
- *
4
- * Plugin that handles automatic git commits based on COMMIT_BEHAVIOR environment variable.
5
- * Supports step, phase, and end commit modes with configurable message templates.
6
- */
7
- import { GitManager, createLogger } from '@codemcp/workflows-core';
8
- const logger = createLogger('CommitPlugin');
9
- /**
10
- * CommitPlugin class implementing the IPlugin interface
11
- *
12
- * Activation: Only when process.env.COMMIT_BEHAVIOR is set to valid value
13
- * Priority: Sequence 50 (before BeadsPlugin at 100)
14
- */
15
- export class CommitPlugin {
16
- projectPath;
17
- initialCommitHash;
18
- constructor(options) {
19
- this.projectPath = options.projectPath;
20
- logger.debug('CommitPlugin initialized', { projectPath: this.projectPath });
21
- }
22
- getName() {
23
- return 'CommitPlugin';
24
- }
25
- getSequence() {
26
- return 50; // Before BeadsPlugin (100)
27
- }
28
- isEnabled() {
29
- const behavior = process.env.COMMIT_BEHAVIOR;
30
- const enabled = behavior && ['step', 'phase', 'end', 'none'].includes(behavior);
31
- logger.debug('CommitPlugin enablement check', {
32
- COMMIT_BEHAVIOR: behavior,
33
- enabled: !!enabled,
34
- });
35
- return !!enabled;
36
- }
37
- getHooks() {
38
- return {
39
- afterStartDevelopment: this.handleAfterStartDevelopment.bind(this),
40
- beforePhaseTransition: this.handleBeforePhaseTransition.bind(this),
41
- afterPlanFileCreated: this.handleAfterPlanFileCreated.bind(this),
42
- };
43
- }
44
- /**
45
- * Handle afterStartDevelopment hook
46
- * Store initial commit hash for potential squashing later
47
- */
48
- async handleAfterStartDevelopment(context, _args, _result) {
49
- logger.info('CommitPlugin: Setting up commit behavior', {
50
- conversationId: context.conversationId,
51
- behavior: process.env.COMMIT_BEHAVIOR,
52
- projectPath: context.projectPath,
53
- });
54
- try {
55
- if (GitManager.isGitRepository(context.projectPath)) {
56
- this.initialCommitHash =
57
- GitManager.getCurrentCommitHash(context.projectPath) || undefined;
58
- logger.debug('CommitPlugin: Stored initial commit hash', {
59
- conversationId: context.conversationId,
60
- initialCommitHash: this.initialCommitHash,
61
- });
62
- }
63
- }
64
- catch (error) {
65
- logger.warn('CommitPlugin: Failed to get initial commit hash', {
66
- error: error instanceof Error ? error.message : String(error),
67
- conversationId: context.conversationId,
68
- });
69
- }
70
- }
71
- /**
72
- * Handle beforePhaseTransition hook
73
- * Create WIP commits for phase and step modes
74
- */
75
- async handleBeforePhaseTransition(context, currentPhase, targetPhase) {
76
- const behavior = process.env.COMMIT_BEHAVIOR;
77
- if (behavior !== 'phase' && behavior !== 'step') {
78
- return; // Only commit on phase transitions for these modes
79
- }
80
- logger.info('CommitPlugin: Creating WIP commit before phase transition', {
81
- conversationId: context.conversationId,
82
- currentPhase,
83
- targetPhase,
84
- behavior,
85
- });
86
- try {
87
- if (!GitManager.isGitRepository(context.projectPath)) {
88
- logger.debug('CommitPlugin: Not a git repository, skipping commit');
89
- return;
90
- }
91
- if (!GitManager.hasUncommittedChanges(context.projectPath)) {
92
- logger.debug('CommitPlugin: No uncommitted changes, skipping commit');
93
- return;
94
- }
95
- const message = `WIP: transition to ${targetPhase}`;
96
- const success = GitManager.createCommit(message, context.projectPath);
97
- if (success) {
98
- logger.info('CommitPlugin: Created WIP commit successfully', {
99
- conversationId: context.conversationId,
100
- message,
101
- });
102
- }
103
- else {
104
- logger.warn('CommitPlugin: Failed to create WIP commit', {
105
- conversationId: context.conversationId,
106
- message,
107
- });
108
- }
109
- }
110
- catch (error) {
111
- logger.warn('CommitPlugin: Error during phase transition commit', {
112
- error: error instanceof Error ? error.message : String(error),
113
- conversationId: context.conversationId,
114
- });
115
- }
116
- }
117
- /**
118
- * Handle afterPlanFileCreated hook
119
- * Add final commit task for end mode or step/phase modes with squashing
120
- */
121
- async handleAfterPlanFileCreated(context, planFilePath, content) {
122
- const behavior = process.env.COMMIT_BEHAVIOR;
123
- if (!behavior || behavior === 'none') {
124
- return content; // No commit behavior
125
- }
126
- logger.debug('CommitPlugin: Adding final commit task to plan file', {
127
- conversationId: context.conversationId,
128
- behavior,
129
- planFilePath,
130
- });
131
- try {
132
- // Find the final phase (usually "Commit" or last phase)
133
- const lines = content.split('\n');
134
- let finalPhaseIndex = -1;
135
- // Look for "## Commit" section first
136
- for (let i = 0; i < lines.length; i++) {
137
- if (lines[i]?.trim() === '## Commit') {
138
- finalPhaseIndex = i;
139
- break;
140
- }
141
- }
142
- // If no Commit section, find the last ## section
143
- if (finalPhaseIndex === -1) {
144
- for (let i = lines.length - 1; i >= 0; i--) {
145
- const line = lines[i];
146
- if (line?.startsWith('## ') &&
147
- !line.includes('Notes') &&
148
- !line.includes('Key Decisions')) {
149
- finalPhaseIndex = i;
150
- break;
151
- }
152
- }
153
- }
154
- if (finalPhaseIndex === -1) {
155
- logger.warn('CommitPlugin: Could not find final phase to add commit task');
156
- return content;
157
- }
158
- // Generate commit task based on behavior
159
- let commitTask;
160
- const defaultMessage = process.env.COMMIT_MESSAGE_TEMPLATE ||
161
- 'Create a conventional commit. In the message, first summarize the intentions and key decisions from the development plan. Then, add a brief summary of the key changes and their side effects and dependencies';
162
- if (behavior === 'end') {
163
- // End mode: simple final commit
164
- commitTask = `- [ ] ${defaultMessage}`;
165
- }
166
- else {
167
- // Step/phase mode: squash WIP commits with instructions
168
- const squashInstructions = `Squash WIP commits: \`git reset --soft <first commit of this branch>. Then, ${defaultMessage}`;
169
- commitTask = `- [ ] ${squashInstructions}`;
170
- }
171
- // Find the Tasks section in the final phase and add the commit task
172
- let tasksIndex = -1;
173
- for (let i = finalPhaseIndex; i < lines.length; i++) {
174
- if (lines[i]?.trim() === '### Tasks') {
175
- tasksIndex = i;
176
- break;
177
- }
178
- }
179
- if (tasksIndex !== -1) {
180
- // Insert after ### Tasks line
181
- lines.splice(tasksIndex + 1, 0, commitTask);
182
- }
183
- else {
184
- // Add Tasks section if it doesn't exist
185
- lines.splice(finalPhaseIndex + 1, 0, '', '### Tasks', commitTask);
186
- }
187
- const updatedContent = lines.join('\n');
188
- logger.info('CommitPlugin: Added final commit task to plan file', {
189
- conversationId: context.conversationId,
190
- behavior,
191
- commitTask,
192
- });
193
- return updatedContent;
194
- }
195
- catch (error) {
196
- logger.warn('CommitPlugin: Failed to add commit task to plan file', {
197
- error: error instanceof Error ? error.message : String(error),
198
- conversationId: context.conversationId,
199
- });
200
- return content; // Return original content on error
201
- }
202
- }
203
- }
204
- //# sourceMappingURL=commit-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit-plugin.js","sourceRoot":"","sources":["../../src/plugin-system/commit-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Plugin system exports
3
- *
4
- * This module provides the core plugin system for extending responsible-vibe-mcp
5
- * functionality without if-statements in the core application.
6
- */
7
- export type { IPlugin, IPluginRegistry, PluginHooks, PluginHookContext, StartDevelopmentArgs, StartDevelopmentResult, GeneratedInstructions, } from './plugin-interfaces.js';
8
- export { PluginRegistry } from './plugin-registry.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin-system/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,OAAO,EACP,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Plugin system exports
3
- *
4
- * This module provides the core plugin system for extending responsible-vibe-mcp
5
- * functionality without if-statements in the core application.
6
- */
7
- // Plugin registry implementation
8
- export { PluginRegistry } from './plugin-registry.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin-system/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,iCAAiC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Plugin system interfaces for extending the responsible-vibe-mcp server
3
- *
4
- * Core Principle: Plugins receive only read-only context data and cannot
5
- * directly manipulate core server components. They extend behavior through
6
- * semantic lifecycle hooks only.
7
- */
8
- import type { YamlState } from '@codemcp/workflows-core';
9
- /**
10
- * Plugin interface - all plugins must implement this
11
- */
12
- export interface IPlugin {
13
- /** Unique plugin name */
14
- getName(): string;
15
- /** Execution sequence (lower numbers execute first) */
16
- getSequence(): number;
17
- /** Whether plugin is enabled (typically based on environment) */
18
- isEnabled(): boolean;
19
- /** Lifecycle hooks this plugin provides */
20
- getHooks(): PluginHooks;
21
- }
22
- /**
23
- * Lifecycle hooks that plugins can implement
24
- * All hooks receive standardized PluginHookContext as first parameter
25
- */
26
- export interface PluginHooks {
27
- /** Called before development workflow starts */
28
- beforeStartDevelopment?: (context: PluginHookContext, args: StartDevelopmentArgs) => Promise<void>;
29
- /** Called after development workflow has started */
30
- afterStartDevelopment?: (context: PluginHookContext, args: StartDevelopmentArgs, result: StartDevelopmentResult) => Promise<void>;
31
- /** Called after plan file is created - can modify content */
32
- afterPlanFileCreated?: (context: PluginHookContext, planFilePath: string, content: string) => Promise<string>;
33
- /** Called before phase transition (can block by throwing) */
34
- beforePhaseTransition?: (context: PluginHookContext, currentPhase: string, targetPhase: string) => Promise<void>;
35
- /** Called after instructions are generated - can modify them */
36
- afterInstructionsGenerated?: (context: PluginHookContext, instructions: GeneratedInstructions) => Promise<GeneratedInstructions>;
37
- }
38
- /**
39
- * Standardized context provided to all plugin hooks
40
- * Contains ONLY read-only data - no server components
41
- */
42
- export interface PluginHookContext {
43
- /** Current conversation ID */
44
- conversationId: string;
45
- /** Path to the plan file */
46
- planFilePath: string;
47
- /** Current development phase */
48
- currentPhase: string;
49
- /** Active workflow name */
50
- workflow: string;
51
- /** Project directory path */
52
- projectPath: string;
53
- /** Git branch name */
54
- gitBranch: string;
55
- /** Target phase (only available in phase transitions) */
56
- targetPhase?: string;
57
- /** Workflow state machine definition (read-only) - available in afterStartDevelopment */
58
- stateMachine?: {
59
- readonly name: string;
60
- readonly description: string;
61
- readonly initial_state: string;
62
- readonly states: Record<string, YamlState>;
63
- };
64
- }
65
- /**
66
- * Plugin registry interface for managing and executing plugins
67
- */
68
- export interface IPluginRegistry {
69
- /** Register a plugin */
70
- registerPlugin(plugin: IPlugin): void;
71
- /** Get all enabled plugins sorted by sequence */
72
- getEnabledPlugins(): IPlugin[];
73
- /** Execute a specific hook on all plugins that implement it */
74
- executeHook<T extends keyof PluginHooks>(hookName: T, ...args: Parameters<NonNullable<PluginHooks[T]>>): Promise<unknown>;
75
- /** Check if any plugin has a specific hook */
76
- hasHook(hookName: keyof PluginHooks): boolean;
77
- /** Get names of all registered plugins */
78
- getPluginNames(): string[];
79
- /** Clear all plugins (mainly for testing) */
80
- clear(): void;
81
- }
82
- export interface StartDevelopmentArgs {
83
- workflow: string;
84
- require_reviews?: boolean;
85
- project_path?: string;
86
- }
87
- export interface StartDevelopmentResult {
88
- conversationId: string;
89
- planFilePath: string;
90
- phase: string;
91
- workflow: string;
92
- }
93
- export interface GeneratedInstructions {
94
- instructions: string;
95
- planFilePath: string;
96
- phase: string;
97
- }
98
- //# sourceMappingURL=plugin-interfaces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-interfaces.d.ts","sourceRoot":"","sources":["../../src/plugin-system/plugin-interfaces.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Plugin system interfaces for extending the responsible-vibe-mcp server
3
- *
4
- * Core Principle: Plugins receive only read-only context data and cannot
5
- * directly manipulate core server components. They extend behavior through
6
- * semantic lifecycle hooks only.
7
- */
8
- export {};
9
- //# sourceMappingURL=plugin-interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-interfaces.js","sourceRoot":"","sources":["../../src/plugin-system/plugin-interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Core PluginRegistry implementation for managing plugins and executing lifecycle hooks
3
- */
4
- import type { IPlugin, IPluginRegistry, PluginHooks } from './plugin-interfaces.js';
5
- export declare class PluginRegistry implements IPluginRegistry {
6
- private plugins;
7
- /**
8
- * Register a plugin if it's enabled
9
- */
10
- registerPlugin(plugin: IPlugin): void;
11
- /**
12
- * Get all enabled plugins sorted by execution sequence
13
- */
14
- getEnabledPlugins(): IPlugin[];
15
- /**
16
- * Execute a specific hook on all plugins that implement it
17
- * Plugins are executed in sequence order
18
- *
19
- * Error Handling Strategy:
20
- * - Validation hooks (beforePhaseTransition): Always re-throw to block invalid transitions
21
- * - Critical startup hooks: Re-throw to fail fast and show critical errors
22
- * - Non-critical hooks: Log error and continue execution to enable graceful degradation
23
- * - Multiple plugins: If one plugin fails on non-critical hook, continue with next plugin
24
- */
25
- executeHook<T extends keyof PluginHooks>(hookName: T, ...args: Parameters<NonNullable<PluginHooks[T]>>): Promise<unknown>;
26
- /**
27
- * Type-safe hook execution dispatcher
28
- * Handles the differences in hook signatures without type coercion
29
- */
30
- private executeTypedHook;
31
- /**
32
- * Check if any enabled plugin implements a specific hook
33
- */
34
- hasHook(hookName: keyof PluginHooks): boolean;
35
- /**
36
- * Get names of all registered plugins (for debugging)
37
- */
38
- getPluginNames(): string[];
39
- /**
40
- * Clear all plugins (mainly for testing)
41
- */
42
- clear(): void;
43
- }
44
- //# sourceMappingURL=plugin-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/plugin-system/plugin-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,OAAO,CAAmC;IAElD;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAarC;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAM9B;;;;;;;;;OASG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,WAAW,EAC3C,QAAQ,EAAE,CAAC,EACX,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,OAAO,CAAC;IA8CnB;;;OAGG;YACW,gBAAgB;IAgE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,WAAW,GAAG,OAAO;IAQ7C;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -1,132 +0,0 @@
1
- /**
2
- * Core PluginRegistry implementation for managing plugins and executing lifecycle hooks
3
- */
4
- export class PluginRegistry {
5
- plugins = new Map();
6
- /**
7
- * Register a plugin if it's enabled
8
- */
9
- registerPlugin(plugin) {
10
- if (!plugin.isEnabled()) {
11
- return;
12
- }
13
- const name = plugin.getName();
14
- if (this.plugins.has(name)) {
15
- throw new Error(`Plugin with name '${name}' is already registered`);
16
- }
17
- this.plugins.set(name, plugin);
18
- }
19
- /**
20
- * Get all enabled plugins sorted by execution sequence
21
- */
22
- getEnabledPlugins() {
23
- return Array.from(this.plugins.values())
24
- .filter(plugin => plugin.isEnabled())
25
- .sort((a, b) => a.getSequence() - b.getSequence());
26
- }
27
- /**
28
- * Execute a specific hook on all plugins that implement it
29
- * Plugins are executed in sequence order
30
- *
31
- * Error Handling Strategy:
32
- * - Validation hooks (beforePhaseTransition): Always re-throw to block invalid transitions
33
- * - Critical startup hooks: Re-throw to fail fast and show critical errors
34
- * - Non-critical hooks: Log error and continue execution to enable graceful degradation
35
- * - Multiple plugins: If one plugin fails on non-critical hook, continue with next plugin
36
- */
37
- async executeHook(hookName, ...args) {
38
- const enabledPlugins = this.getEnabledPlugins();
39
- let result = undefined;
40
- for (const plugin of enabledPlugins) {
41
- const hooks = plugin.getHooks();
42
- const hook = hooks[hookName];
43
- if (hook) {
44
- try {
45
- // Type-safe hook execution using dispatch pattern
46
- result = await this.executeTypedHook(hookName, hook, args, result);
47
- }
48
- catch (error) {
49
- const pluginName = plugin.getName();
50
- const errorMessage = error instanceof Error ? error.message : String(error);
51
- // Validation hooks (beforePhaseTransition) should ALWAYS re-throw
52
- // These are intentional blocking errors, not graceful degradation
53
- if (hookName === 'beforePhaseTransition') {
54
- console.error(`Plugin '${pluginName}' validation failed for hook '${hookName}':`, errorMessage);
55
- throw error;
56
- }
57
- // For non-critical hooks, log the error but continue execution
58
- // This enables graceful degradation: the app continues even if a plugin hook fails
59
- console.warn(`Plugin '${pluginName}' hook '${hookName}' failed with non-critical error:`, errorMessage);
60
- console.warn(`Continuing with remaining plugins for hook '${hookName}' (graceful degradation enabled)`);
61
- // Continue to next plugin for non-critical errors
62
- // This allows multiple plugins to execute even if one fails
63
- }
64
- }
65
- }
66
- return result;
67
- }
68
- /**
69
- * Type-safe hook execution dispatcher
70
- * Handles the differences in hook signatures without type coercion
71
- */
72
- async executeTypedHook(hookName, hook, args, previousResult) {
73
- if (hookName === 'afterPlanFileCreated') {
74
- // Content-chaining hook: replaces the content parameter with previous result
75
- const typedHook = hook;
76
- const [context, planFilePath, content] = args;
77
- const contentToUse = (previousResult ??
78
- content);
79
- return typedHook(context, planFilePath, contentToUse);
80
- }
81
- if (hookName === 'afterInstructionsGenerated') {
82
- // Content-chaining hook: replaces the instructions parameter with previous result
83
- const typedHook = hook;
84
- const [context, instructions] = args;
85
- const instructionsToUse = (previousResult !== undefined
86
- ? previousResult
87
- : instructions);
88
- return typedHook(context, instructionsToUse);
89
- }
90
- if (hookName === 'beforeStartDevelopment') {
91
- const typedHook = hook;
92
- const [context, startArgs] = args;
93
- return typedHook(context, startArgs);
94
- }
95
- if (hookName === 'afterStartDevelopment') {
96
- const typedHook = hook;
97
- const [context, startArgs, result] = args;
98
- return typedHook(context, startArgs, result);
99
- }
100
- if (hookName === 'beforePhaseTransition') {
101
- const typedHook = hook;
102
- const [context, currentPhase, targetPhase] = args;
103
- return typedHook(context, currentPhase, targetPhase);
104
- }
105
- // This should never be reached due to type system, but ensures exhaustiveness
106
- const exhaustiveCheck = hookName;
107
- throw new Error(`Unknown hook: ${exhaustiveCheck}`);
108
- }
109
- /**
110
- * Check if any enabled plugin implements a specific hook
111
- */
112
- hasHook(hookName) {
113
- const enabledPlugins = this.getEnabledPlugins();
114
- return enabledPlugins.some(plugin => {
115
- const hooks = plugin.getHooks();
116
- return hooks[hookName] !== undefined;
117
- });
118
- }
119
- /**
120
- * Get names of all registered plugins (for debugging)
121
- */
122
- getPluginNames() {
123
- return Array.from(this.plugins.keys());
124
- }
125
- /**
126
- * Clear all plugins (mainly for testing)
127
- */
128
- clear() {
129
- this.plugins.clear();
130
- }
131
- }
132
- //# sourceMappingURL=plugin-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/plugin-system/plugin-registry.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Conversation State Resource Handler
3
- *
4
- * Handles the conversation-state resource which provides access to current
5
- * conversation state and phase information including conversation ID, project context,
6
- * current development phase, and plan file location.
7
- */
8
- import { ResourceHandler, ServerContext, HandlerResult, ResourceContent } from '../types.js';
9
- /**
10
- * Conversation State resource handler implementation
11
- */
12
- export declare class ConversationStateResourceHandler implements ResourceHandler {
13
- handle(uri: URL, context: ServerContext): Promise<HandlerResult<ResourceContent>>;
14
- }
15
- //# sourceMappingURL=conversation-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversation-state.d.ts","sourceRoot":"","sources":["../../src/resource-handlers/conversation-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,qBAAa,gCAAiC,YAAW,eAAe;IAChE,MAAM,CACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;CA4B3C"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Conversation State Resource Handler
3
- *
4
- * Handles the conversation-state resource which provides access to current
5
- * conversation state and phase information including conversation ID, project context,
6
- * current development phase, and plan file location.
7
- */
8
- import { createLogger } from '@codemcp/workflows-core';
9
- import { safeExecute } from '../server-helpers.js';
10
- const logger = createLogger('ConversationStateResourceHandler');
11
- /**
12
- * Conversation State resource handler implementation
13
- */
14
- export class ConversationStateResourceHandler {
15
- async handle(uri, context) {
16
- logger.debug('Processing conversation state resource request', {
17
- uri: uri.href,
18
- });
19
- return safeExecute(async () => {
20
- // Get conversation context
21
- const conversationContext = await context.conversationManager.getConversationContext();
22
- // Build state information
23
- const stateInfo = {
24
- conversationId: conversationContext.conversationId,
25
- projectPath: conversationContext.projectPath,
26
- gitBranch: conversationContext.gitBranch,
27
- currentPhase: conversationContext.currentPhase,
28
- planFilePath: conversationContext.planFilePath,
29
- timestamp: new Date().toISOString(),
30
- description: 'Current state of the development workflow conversation',
31
- };
32
- return {
33
- uri: uri.href,
34
- text: JSON.stringify(stateInfo, null, 2),
35
- mimeType: 'application/json',
36
- };
37
- }, 'Failed to retrieve conversation state resource');
38
- }
39
- }
40
- //# sourceMappingURL=conversation-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversation-state.js","sourceRoot":"","sources":["../../src/resource-handlers/conversation-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,OAAO,gCAAgC;IAC3C,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,OAAsB;QAEtB,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;YAC7D,GAAG,EAAE,GAAG,CAAC,IAAI;SACd,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5B,2BAA2B;YAC3B,MAAM,mBAAmB,GACvB,MAAM,OAAO,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;YAE7D,0BAA0B;YAC1B,MAAM,SAAS,GAAG;gBAChB,cAAc,EAAE,mBAAmB,CAAC,cAAc;gBAClD,WAAW,EAAE,mBAAmB,CAAC,WAAW;gBAC5C,SAAS,EAAE,mBAAmB,CAAC,SAAS;gBACxC,YAAY,EAAE,mBAAmB,CAAC,YAAY;gBAC9C,YAAY,EAAE,mBAAmB,CAAC,YAAY;gBAC9C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,wDAAwD;aACtE,CAAC;YAEF,OAAO;gBACL,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;QACJ,CAAC,EAAE,gDAAgD,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Development Plan Resource Handler
3
- *
4
- * Handles the development-plan resource which provides access to the current
5
- * development plan document (markdown) that tracks project progress, tasks, and decisions.
6
- */
7
- import { ResourceHandler, ServerContext, HandlerResult, ResourceContent } from '../types.js';
8
- /**
9
- * Development Plan resource handler implementation
10
- */
11
- export declare class DevelopmentPlanResourceHandler implements ResourceHandler {
12
- handle(uri: URL, context: ServerContext): Promise<HandlerResult<ResourceContent>>;
13
- }
14
- //# sourceMappingURL=development-plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"development-plan.d.ts","sourceRoot":"","sources":["../../src/resource-handlers/development-plan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,qBAAa,8BAA+B,YAAW,eAAe;IAC9D,MAAM,CACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;CAsB3C"}