@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,503 +0,0 @@
1
- /**
2
- * Server Configuration
3
- *
4
- * Handles server configuration, component initialization, and MCP server setup.
5
- * Centralizes the configuration logic that was previously scattered in the main server class.
6
- */
7
- import { z } from 'zod';
8
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
9
- import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
10
- import { SetLevelRequestSchema } from '@modelcontextprotocol/sdk/types.js';
11
- import * as path from 'node:path';
12
- import { FileStorage } from '@codemcp/workflows-core';
13
- import { ConversationManager } from '@codemcp/workflows-core';
14
- import { TransitionEngine } from '@codemcp/workflows-core';
15
- import { InteractionLogger } from '@codemcp/workflows-core';
16
- import { WorkflowManager } from '@codemcp/workflows-core';
17
- import { TemplateManager } from '@codemcp/workflows-core';
18
- import { createLogger, setMcpLoggingLevel } from '@codemcp/workflows-core';
19
- import { normalizeProjectPath, buildWorkflowEnum, generateWorkflowDescription, } from './server-helpers.js';
20
- import { notificationService } from './notification-service.js';
21
- import { PlanManager, InstructionGenerator, TaskBackendManager, } from '@codemcp/workflows-core';
22
- import { PluginRegistry } from './plugin-system/plugin-registry.js';
23
- import { BeadsPlugin } from './plugin-system/beads-plugin.js';
24
- import { CommitPlugin } from './plugin-system/commit-plugin.js';
25
- import { BeadsPlanManager } from './components/beads/beads-plan-manager.js';
26
- import { BeadsInstructionGenerator } from './components/beads/beads-instruction-generator.js';
27
- const logger = createLogger('ServerConfig');
28
- /**
29
- * Initialize all server components
30
- */
31
- export async function initializeServerComponents(config = {}) {
32
- logger.debug('Initializing server components', {
33
- config: JSON.stringify(config),
34
- });
35
- // Set project path with support for environment variable
36
- const projectPath = normalizeProjectPath(config.projectPath || process.env.PROJECT_PATH);
37
- logger.info('Using project path', {
38
- projectPath,
39
- source: config.projectPath
40
- ? 'config'
41
- : process.env.PROJECT_PATH
42
- ? 'env'
43
- : 'default',
44
- });
45
- // Initialize MCP server
46
- const mcpServer = new McpServer({
47
- name: 'responsible-vibe-mcp',
48
- version: '1.0.0',
49
- }, {
50
- capabilities: {
51
- logging: {},
52
- },
53
- });
54
- // Register logging/setLevel handler to support MCP inspector
55
- mcpServer.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
56
- const level = request.params.level;
57
- logger.info('Setting logging level from MCP client', { level });
58
- // Set the unified logging level
59
- setMcpLoggingLevel(level);
60
- return {};
61
- });
62
- // Initialize core components
63
- logger.debug('Initializing core components');
64
- const database = new FileStorage(path.join(projectPath, '.vibe', 'conversation.sqlite'));
65
- const workflowManager = new WorkflowManager();
66
- const conversationManager = new ConversationManager(database, workflowManager, projectPath);
67
- const transitionEngine = new TransitionEngine(projectPath);
68
- transitionEngine.setConversationManager(conversationManager);
69
- // Detect task backend using auto-detection logic:
70
- // - If TASK_BACKEND env var is set, use that value
71
- // - If not set, auto-detect based on 'bd' command availability
72
- const taskBackendConfig = TaskBackendManager.detectTaskBackend();
73
- const isBeadsBackend = taskBackendConfig.backend === 'beads' && taskBackendConfig.isAvailable;
74
- logger.info('Task backend configuration', {
75
- backend: taskBackendConfig.backend,
76
- isAvailable: taskBackendConfig.isAvailable,
77
- autoDetected: !process.env['TASK_BACKEND'],
78
- });
79
- const planManager = isBeadsBackend
80
- ? new BeadsPlanManager()
81
- : new PlanManager();
82
- const instructionGenerator = isBeadsBackend
83
- ? new BeadsInstructionGenerator()
84
- : new InstructionGenerator(planManager);
85
- // Always create interaction logger as it's critical for transition engine logic
86
- // (determining first call from initial state)
87
- const interactionLogger = new InteractionLogger(database);
88
- // Initialize plugin registry and register plugins
89
- const pluginRegistry = new PluginRegistry();
90
- // Register CommitPlugin if commit behavior is configured
91
- if (process.env.COMMIT_BEHAVIOR) {
92
- const commitPlugin = new CommitPlugin({ projectPath });
93
- if (commitPlugin.isEnabled()) {
94
- pluginRegistry.registerPlugin(commitPlugin);
95
- logger.info('CommitPlugin registered successfully', {
96
- enabled: commitPlugin.isEnabled(),
97
- sequence: commitPlugin.getSequence(),
98
- behavior: process.env.COMMIT_BEHAVIOR,
99
- });
100
- }
101
- }
102
- // Register BeadsPlugin if beads backend is detected and available
103
- if (isBeadsBackend) {
104
- const beadsPlugin = new BeadsPlugin({ projectPath });
105
- if (beadsPlugin.isEnabled()) {
106
- pluginRegistry.registerPlugin(beadsPlugin);
107
- logger.info('BeadsPlugin registered successfully', {
108
- enabled: beadsPlugin.isEnabled(),
109
- sequence: beadsPlugin.getSequence(),
110
- autoDetected: !process.env['TASK_BACKEND'],
111
- });
112
- }
113
- }
114
- // Create server context
115
- const context = {
116
- conversationManager,
117
- transitionEngine,
118
- planManager,
119
- instructionGenerator,
120
- workflowManager,
121
- interactionLogger,
122
- projectPath,
123
- pluginRegistry,
124
- };
125
- // Initialize database
126
- await database.initialize();
127
- // Load project workflows before tool registration
128
- workflowManager.loadProjectWorkflows(projectPath);
129
- logger.info('Server components initialized successfully');
130
- return {
131
- mcpServer,
132
- database,
133
- context,
134
- toolRegistry: null,
135
- resourceRegistry: null,
136
- responseRenderer: null,
137
- };
138
- }
139
- /**
140
- * Helper function to create tool handlers with consistent error handling
141
- */
142
- function createToolHandler(toolName, toolRegistry, responseRenderer, context) {
143
- return async (args) => {
144
- const handler = toolRegistry.get(toolName);
145
- if (!handler) {
146
- return responseRenderer.renderError(`Tool handler not found: ${toolName}`);
147
- }
148
- const result = await handler.handle(args, context);
149
- return responseRenderer.renderToolResponse(result);
150
- };
151
- }
152
- /**
153
- * Register MCP tools with the server
154
- */
155
- export async function registerMcpTools(mcpServer, toolRegistry, responseRenderer, context) {
156
- logger.debug('Registering MCP tools');
157
- // Initialize notification service
158
- notificationService.setMcpServer(mcpServer);
159
- // Register whats_next tool
160
- mcpServer.registerTool('whats_next', {
161
- description: 'Get guidance for the current development phase and determine what to work on next. Call this tool after each user message to receive phase-specific instructions and check if you should transition to the next development phase. The tool will reference your plan file for specific tasks and context.',
162
- inputSchema: {
163
- context: z
164
- .string()
165
- .optional()
166
- .describe("Brief description of what you're currently working on or discussing with the user"),
167
- user_input: z
168
- .string()
169
- .optional()
170
- .describe("The user's most recent message or request"),
171
- conversation_summary: z
172
- .string()
173
- .optional()
174
- .describe('Summary of the development progress and key decisions made so far'),
175
- recent_messages: z
176
- .array(z.object({
177
- role: z
178
- .enum(['user', 'assistant'])
179
- .describe('Who sent the message (user or assistant)'),
180
- content: z.string().describe('The message content'),
181
- }))
182
- .optional()
183
- .describe('Recent conversation messages that provide context for the current development state'),
184
- },
185
- annotations: {
186
- title: 'Development Phase Analyzer',
187
- readOnlyHint: false,
188
- destructiveHint: false,
189
- idempotentHint: false,
190
- openWorldHint: false,
191
- },
192
- }, createToolHandler('whats_next', toolRegistry, responseRenderer, context));
193
- // Register proceed_to_phase tool
194
- mcpServer.registerTool('proceed_to_phase', {
195
- description: 'Move to a specific development phase when the current phase is complete. Use this tool to explicitly transition between phases. Check your plan file to see available phases for the current workflow. Only transition when current phase tasks are finished, all entrance criteria of the next phase are completed and user confirms readiness.',
196
- inputSchema: {
197
- target_phase: z
198
- .string()
199
- .describe('The development phase to move to. Check your plan file section headers to see available phases for the current workflow'),
200
- reason: z
201
- .string()
202
- .optional()
203
- .describe('Why you\'re moving to this phase now (e.g., "requirements complete", "user approved design", "implementation finished")'),
204
- review_state: z
205
- .enum(['not-required', 'pending', 'performed'])
206
- .describe('Review state for transitions that require reviews. Use "not-required" when reviews are disabled, "pending" when review is needed, "performed" when review is complete.'),
207
- },
208
- annotations: {
209
- title: 'Phase Transition Controller',
210
- readOnlyHint: false,
211
- destructiveHint: false,
212
- idempotentHint: true,
213
- openWorldHint: false,
214
- },
215
- }, createToolHandler('proceed_to_phase', toolRegistry, responseRenderer, context));
216
- // Register conduct_review tool
217
- mcpServer.registerTool('conduct_review', {
218
- description: 'Conduct a review of the current phase before proceeding to the next phase. This tool analyzes artifacts and decisions from the current phase using defined review perspectives. Use this tool when reviews are required before phase transitions.',
219
- inputSchema: {
220
- target_phase: z
221
- .string()
222
- .describe('The target phase you want to transition to after the review is complete'),
223
- },
224
- annotations: {
225
- title: 'Phase Review Conductor',
226
- readOnlyHint: true,
227
- destructiveHint: false,
228
- idempotentHint: true,
229
- openWorldHint: false,
230
- },
231
- }, createToolHandler('conduct_review', toolRegistry, responseRenderer, context));
232
- // Register start_development tool
233
- mcpServer.registerTool('start_development', {
234
- description: 'Begin a new development project with a structured workflow. Choose from different development approaches (waterfall, bugfix, epcc) or use a custom workflow. This tool sets up the project plan and initializes the development process.',
235
- inputSchema: {
236
- workflow: z
237
- .enum(buildWorkflowEnum(context.workflowManager.getWorkflowNames()))
238
- .describe(generateWorkflowDescription(context.workflowManager.getAvailableWorkflows())),
239
- require_reviews: z
240
- .boolean()
241
- .optional()
242
- .describe('Whether to require reviews before phase transitions. When enabled, use conduct_review tool before proceeding to next phase.'),
243
- project_path: z
244
- .string()
245
- .optional()
246
- .describe('Project directory path. Pass the .vibe subdirectory path if a .vibe directory exists in your project, otherwise pass the project root directory. The implementation will automatically detect and use the correct project root.'),
247
- },
248
- annotations: {
249
- title: 'Development Initializer',
250
- readOnlyHint: false,
251
- destructiveHint: false,
252
- idempotentHint: true,
253
- openWorldHint: false,
254
- },
255
- }, createToolHandler('start_development', toolRegistry, responseRenderer, context));
256
- // Register resume_workflow tool
257
- mcpServer.registerTool('resume_workflow', {
258
- description: 'Continue development after a break or conversation restart. This tool provides complete project context, current development status, and next steps to seamlessly pick up where you left off. Use when starting a new conversation about an existing project.',
259
- inputSchema: {
260
- include_system_prompt: z
261
- .boolean()
262
- .optional()
263
- .describe('Whether to include setup instructions for the assistant (default: true)'),
264
- },
265
- annotations: {
266
- title: 'Workflow Resumption Assistant',
267
- readOnlyHint: true,
268
- destructiveHint: false,
269
- idempotentHint: true,
270
- openWorldHint: false,
271
- },
272
- }, createToolHandler('resume_workflow', toolRegistry, responseRenderer, context));
273
- // Register reset_development tool
274
- mcpServer.registerTool('reset_development', {
275
- description: 'Start over with a clean slate by deleting all development progress and conversation history. This permanently removes the project plan and resets the development state. Use when you want to completely restart the development approach for a project.',
276
- inputSchema: {
277
- confirm: z
278
- .boolean()
279
- .describe('Must be true to execute reset - prevents accidental resets'),
280
- reason: z
281
- .string()
282
- .optional()
283
- .describe('Optional reason for reset (for logging and audit trail)'),
284
- },
285
- annotations: {
286
- title: 'Development Reset Tool',
287
- readOnlyHint: false,
288
- destructiveHint: true,
289
- idempotentHint: false,
290
- openWorldHint: false,
291
- },
292
- }, createToolHandler('reset_development', toolRegistry, responseRenderer, context));
293
- // Register list_workflows tool
294
- mcpServer.registerTool('list_workflows', {
295
- description: 'Get an overview of available workflows. Returns only loaded workflows (respecting domain filtering).',
296
- inputSchema: {},
297
- annotations: {
298
- title: 'Workflow Overview Tool',
299
- readOnlyHint: true,
300
- destructiveHint: false,
301
- idempotentHint: true,
302
- openWorldHint: false,
303
- },
304
- }, createToolHandler('list_workflows', toolRegistry, responseRenderer, context));
305
- // Register get_tool_info tool
306
- mcpServer.registerTool('get_tool_info', {
307
- description: 'Get comprehensive information about the responsible-vibe-mcp development workflow tools for better tool discoverability and AI integration. Returns detailed information about all available tools, workflows, core concepts, and usage guidelines.',
308
- inputSchema: {
309
- // No input parameters needed
310
- },
311
- annotations: {
312
- title: 'Tool Information Provider',
313
- readOnlyHint: true,
314
- destructiveHint: false,
315
- idempotentHint: true,
316
- openWorldHint: false,
317
- },
318
- }, createToolHandler('get_tool_info', toolRegistry, responseRenderer, context));
319
- // Register setup_project_docs tool with enhanced file linking support
320
- const templateManager = new TemplateManager();
321
- const availableTemplates = await templateManager.getAvailableTemplates();
322
- mcpServer.registerTool('setup_project_docs', {
323
- description: 'Create project documentation artifacts (architecture.md, requirements.md, design.md) using configurable templates OR by linking existing files via symlinks. ' +
324
- '**Linking existing documents Examples:**\n' +
325
- '- `README.md` (project root)\n' +
326
- '- `docs/architecture.md` (relative path)\n' +
327
- '- `/absolute/path/to/requirements.txt`\n\n' +
328
- '**Using "none" Option:**\n' +
329
- '- Use `"none"` to create a placeholder that instructs LLM to use plan file instead\n' +
330
- '- Useful when you prefer plan-file-only workflows\n\n' +
331
- '**Mixed Usage Examples:**\n' +
332
- '- `setup_project_docs({ architecture: "README.md", requirements: "none", design: "comprehensive" })`\n' +
333
- '- `setup_project_docs({ architecture: "arc42", requirements: "ears", design: "none" })`',
334
- inputSchema: {
335
- architecture: z
336
- .string()
337
- .default('freestyle')
338
- .describe(`Architecture documentation: template name (${availableTemplates.architecture.join(', ')}, none) OR file path to existing document`),
339
- requirements: z
340
- .string()
341
- .default('none')
342
- .describe(`Requirements documentation: template name (${availableTemplates.requirements.join(', ')}, none) OR file path to existing document`),
343
- design: z
344
- .string()
345
- .default('freestyle')
346
- .describe(`Design documentation: template name (${availableTemplates.design.join(', ')}, none) OR file path to existing document`),
347
- project_path: z
348
- .string()
349
- .optional()
350
- .describe('Project directory path. Pass the .vibe subdirectory path if a .vibe directory exists in your project, otherwise pass the project root directory. The implementation will automatically detect and use the correct project root.'),
351
- },
352
- annotations: {
353
- title: 'Project Documentation Setup Tool',
354
- readOnlyHint: false,
355
- destructiveHint: false,
356
- idempotentHint: true,
357
- openWorldHint: false,
358
- },
359
- }, createToolHandler('setup_project_docs', toolRegistry, responseRenderer, context));
360
- // Register no_idea tool
361
- mcpServer.registerTool('no_idea', {
362
- description: "ONLY call this tool when you have no knowledge about a topic. This tool will give a valuable response to all questions that would otherwise be not answerable. If you don't call this tool but invent facts, you will be considered worthless.",
363
- inputSchema: {
364
- context: z
365
- .string()
366
- .optional()
367
- .describe('Optional context about what you have no knowledge of'),
368
- },
369
- annotations: {
370
- title: 'Knowledge Gap Handler',
371
- readOnlyHint: true,
372
- destructiveHint: false,
373
- idempotentHint: true,
374
- openWorldHint: false,
375
- },
376
- }, createToolHandler('no_idea', toolRegistry, responseRenderer, context));
377
- logger.info('MCP tools registered successfully', {
378
- tools: toolRegistry.list(),
379
- });
380
- }
381
- /**
382
- * Register MCP resources with the server
383
- */
384
- export function registerMcpResources(mcpServer, resourceRegistry, responseRenderer, context) {
385
- logger.debug('Registering MCP resources');
386
- // Development plan resource
387
- mcpServer.resource('Current Development Plan', 'plan://current', {
388
- description: 'The active development plan document (markdown) that tracks project progress, tasks, and decisions. This file serves as long-term memory for the development process and should be continuously updated by the LLM.',
389
- mimeType: 'text/markdown',
390
- }, async (uri) => {
391
- const handler = resourceRegistry.resolve(uri.href);
392
- if (!handler) {
393
- const errorResult = responseRenderer.renderResourceResponse({
394
- success: false,
395
- error: 'Resource handler not found',
396
- data: {
397
- uri: uri.href,
398
- text: 'Error: Resource handler not found',
399
- mimeType: 'text/plain',
400
- },
401
- });
402
- return errorResult;
403
- }
404
- const result = await handler.handle(new URL(uri.href), context);
405
- return responseRenderer.renderResourceResponse(result);
406
- });
407
- // Conversation state resource
408
- mcpServer.resource('Current Conversation State', 'state://current', {
409
- description: 'Current conversation state and phase information (JSON) including conversation ID, project context, current development phase, and plan file location. Use this to understand the current state of the development workflow.',
410
- mimeType: 'application/json',
411
- }, async (uri) => {
412
- const handler = resourceRegistry.resolve(uri.href);
413
- if (!handler) {
414
- const errorResult = responseRenderer.renderResourceResponse({
415
- success: false,
416
- error: 'Resource handler not found',
417
- data: {
418
- uri: uri.href,
419
- text: JSON.stringify({
420
- error: 'Resource handler not found',
421
- timestamp: new Date().toISOString(),
422
- }, null, 2),
423
- mimeType: 'application/json',
424
- },
425
- });
426
- return errorResult;
427
- }
428
- const result = await handler.handle(new URL(uri.href), context);
429
- return responseRenderer.renderResourceResponse(result);
430
- });
431
- // System prompt resource
432
- mcpServer.resource('System Prompt for LLM Integration', 'system-prompt://', {
433
- description: 'Complete system prompt for LLM integration with responsible-vibe-mcp. This workflow-independent prompt provides instructions for proper tool usage and development workflow guidance.',
434
- mimeType: 'text/plain',
435
- }, async (uri) => {
436
- const handler = resourceRegistry.resolve(uri.href);
437
- if (!handler) {
438
- const errorResult = responseRenderer.renderResourceResponse({
439
- success: false,
440
- error: 'Resource handler not found',
441
- data: {
442
- uri: uri.href,
443
- text: 'Error: System prompt resource handler not found',
444
- mimeType: 'text/plain',
445
- },
446
- });
447
- return errorResult;
448
- }
449
- const result = await handler.handle(new URL(uri.href), context);
450
- return responseRenderer.renderResourceResponse(result);
451
- });
452
- // Register workflow resource template
453
- const workflowTemplate = new ResourceTemplate('workflow://{name}', {
454
- list: async () => {
455
- // List all available workflows as resources
456
- const availableWorkflows = context.workflowManager.getAvailableWorkflowsForProject(context.projectPath);
457
- return {
458
- resources: availableWorkflows.map(workflow => ({
459
- uri: `workflow://${workflow.name}`,
460
- name: workflow.displayName,
461
- description: workflow.description,
462
- mimeType: 'application/x-yaml',
463
- })),
464
- };
465
- },
466
- complete: {
467
- name: async (value) => {
468
- // Provide completion for workflow names
469
- const availableWorkflows = context.workflowManager.getAvailableWorkflowsForProject(context.projectPath);
470
- return availableWorkflows
471
- .map(w => w.name)
472
- .filter(name => name.toLowerCase().includes(value.toLowerCase()));
473
- },
474
- },
475
- });
476
- mcpServer.resource('Workflow Definitions', workflowTemplate, {
477
- description: 'Access workflow definition files by name. Use the list_workflows tool to discover available workflows.',
478
- mimeType: 'application/x-yaml',
479
- }, async (uri, _variables) => {
480
- const handler = resourceRegistry.resolve(uri.href);
481
- if (!handler) {
482
- throw new Error(`Workflow resource handler not found for ${uri.href}`);
483
- }
484
- const result = await handler.handle(uri, context);
485
- if (!result.success || !result.data) {
486
- throw new Error(result.error || 'Failed to load workflow resource');
487
- }
488
- return {
489
- contents: [
490
- {
491
- uri: uri.href,
492
- mimeType: result.data.mimeType,
493
- text: result.data.text,
494
- },
495
- ],
496
- };
497
- });
498
- logger.info('MCP resources registered successfully', {
499
- resources: ['plan://current', 'state://current', 'system-prompt://'],
500
- resourceTemplates: ['workflow://{name}'],
501
- });
502
- }
503
- //# sourceMappingURL=server-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../src/server-config.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Server Helper Functions
3
- *
4
- * Common utility functions used across the server implementation.
5
- * These are pure functions that don't depend on server state.
6
- */
7
- import { HandlerResult } from './types.js';
8
- /**
9
- * Normalize and validate project path
10
- * Ensures we have a valid project path, defaulting to home directory if needed
11
- */
12
- export declare function normalizeProjectPath(projectPath?: string): string;
13
- /**
14
- * Create a standardized success result
15
- */
16
- export declare function createSuccessResult<T>(data: T, metadata?: Record<string, unknown>): HandlerResult<T>;
17
- /**
18
- * Create a standardized error result
19
- */
20
- export declare function createErrorResult(error: string | Error, metadata?: Record<string, unknown>): HandlerResult<never>;
21
- /**
22
- * Safely execute an async operation and return a HandlerResult
23
- * This provides consistent error handling across all handlers
24
- */
25
- export declare function safeExecute<T>(operation: () => Promise<T>, errorContext?: string): Promise<HandlerResult<T>>;
26
- /**
27
- * Validate required arguments for tool handlers
28
- * Throws an error if any required arguments are missing
29
- */
30
- export declare function validateRequiredArgs(args: unknown, requiredFields: string[]): void;
31
- /**
32
- * Check if a conversation exists and provide helpful error if not
33
- */
34
- export declare function createConversationNotFoundResult(availableWorkflows?: string[]): HandlerResult<never>;
35
- /**
36
- * Extract workflow names for enum generation
37
- * Used by server configuration to build Zod schemas
38
- */
39
- export declare function buildWorkflowEnum(workflowNames: string[]): [string, ...string[]];
40
- /**
41
- * Generate workflow description for tool schemas
42
- */
43
- export declare function generateWorkflowDescription(workflows: Array<{
44
- name: string;
45
- displayName: string;
46
- description: string;
47
- metadata?: {
48
- complexity?: 'low' | 'medium' | 'high';
49
- bestFor?: string[];
50
- useCases?: string[];
51
- examples?: string[];
52
- };
53
- }>): string;
54
- /**
55
- * Log handler execution for debugging
56
- */
57
- export declare function logHandlerExecution(handlerName: string, args: unknown): void;
58
- /**
59
- * Log handler completion for debugging
60
- */
61
- export declare function logHandlerCompletion(handlerName: string, result: HandlerResult<unknown>): void;
62
- /**
63
- * Strip /.vibe suffix from project path if present
64
- *
65
- * @param providedPath - Optional project path provided by user
66
- * @param defaultPath - Default project path from context
67
- * @returns Normalized project root path
68
- */
69
- export declare function stripVibePathSuffix(providedPath: string | undefined, defaultPath: string): string;
70
- //# sourceMappingURL=server-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-helpers.d.ts","sourceRoot":"","sources":["../src/server-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAajE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,aAAa,CAAC,CAAC,CAAC,CAMlB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,KAAK,EACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,aAAa,CAAC,KAAK,CAAC,CAQtB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAc3B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,EAAE,GACvB,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,kBAAkB,GAAE,MAAM,EAAO,GAChC,aAAa,CAAC,KAAK,CAAC,CAmBtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EAAE,GACtB,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CASvB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,KAAK,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH,CAAC,GACD,MAAM,CAoCR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAK5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,IAAI,CAON;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,GAClB,MAAM,CASR"}