@codemcp/workflows 5.3.0 → 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,484 +0,0 @@
1
- /**
2
- * StartDevelopment Tool Handler
3
- *
4
- * Handles initialization of development workflow and transition to the initial
5
- * development phase. Allows users to choose from predefined workflows or use a custom workflow.
6
- */
7
- import { BaseToolHandler } from './base-tool-handler.js';
8
- import { validateRequiredArgs, stripVibePathSuffix, } from '../server-helpers.js';
9
- import { basename } from 'node:path';
10
- import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
11
- import { readFile, writeFile } from 'node:fs/promises';
12
- import { resolve } from 'node:path';
13
- import { ProjectDocsManager } from '@codemcp/workflows-core';
14
- import { TaskBackendManager } from '@codemcp/workflows-core';
15
- import { createLogger } from '@codemcp/workflows-core';
16
- const logger = createLogger('StartDevelopmentHandler');
17
- /**
18
- * StartDevelopment tool handler implementation
19
- */
20
- export class StartDevelopmentHandler extends BaseToolHandler {
21
- projectDocsManager;
22
- constructor() {
23
- super();
24
- this.projectDocsManager = new ProjectDocsManager();
25
- }
26
- async executeHandler(args, context) {
27
- // Validate required arguments
28
- validateRequiredArgs(args, ['workflow']);
29
- // Validate task backend configuration
30
- const taskBackendConfig = TaskBackendManager.validateTaskBackend();
31
- const selectedWorkflow = args.workflow;
32
- const requireReviews = args.require_reviews ?? false;
33
- // Normalize project path - strip /.vibe suffix if present
34
- const projectPath = stripVibePathSuffix(args.project_path, context.projectPath);
35
- this.logger.debug('Processing start_development request', {
36
- selectedWorkflow,
37
- projectPath: projectPath,
38
- });
39
- // Validate workflow selection (ensure project workflows are loaded first)
40
- context.workflowManager.loadProjectWorkflows(projectPath);
41
- if (!context.workflowManager.validateWorkflowName(selectedWorkflow, projectPath)) {
42
- const availableWorkflows = context.workflowManager.getWorkflowNames();
43
- throw new Error(`Invalid workflow: ${selectedWorkflow}. Available workflows: ${availableWorkflows.join(', ')}`);
44
- }
45
- // Check for project documentation artifacts and guide setup if needed
46
- const artifactGuidance = await this.checkProjectArtifacts(projectPath, selectedWorkflow, context);
47
- if (artifactGuidance) {
48
- return artifactGuidance;
49
- }
50
- // Check if user is on main/master branch and prompt for branch creation
51
- const currentBranch = this.getCurrentGitBranch(projectPath);
52
- if (currentBranch === 'main' || currentBranch === 'master') {
53
- const suggestedBranchName = this.generateBranchSuggestion();
54
- const branchPromptResponse = {
55
- phase: 'branch-prompt',
56
- instructions: `You're currently on the ${currentBranch} branch. It's recommended to create a feature branch for development. Propose a branch creation by suggesting a branch command to the user call start_development again.\n\nSuggested command: \`git checkout -b ${suggestedBranchName}\`\n\nPlease create a new branch and then call start_development again to begin development.`,
57
- plan_file_path: '',
58
- };
59
- this.logger.debug('User on main/master branch, prompting for branch creation', {
60
- currentBranch,
61
- suggestedBranchName,
62
- });
63
- return branchPromptResponse;
64
- }
65
- // Create or get conversation context with the selected workflow
66
- const conversationContext = await context.conversationManager.createConversationContext(selectedWorkflow, args.project_path ? projectPath : undefined);
67
- const currentPhase = conversationContext.currentPhase;
68
- // Load the selected workflow
69
- const stateMachine = context.workflowManager.loadWorkflowForProject(conversationContext.projectPath, selectedWorkflow);
70
- const initialState = stateMachine.initial_state;
71
- // Check if development is already started
72
- if (currentPhase !== initialState) {
73
- throw new Error(`Development already started. Current phase is '${currentPhase}', not initial state '${initialState}'. Use whats_next() to continue development.`);
74
- }
75
- // The initial state IS the first development phase - it's explicitly modeled
76
- const targetPhase = initialState;
77
- // Transition to the initial development phase
78
- const transitionResult = await context.transitionEngine.handleExplicitTransition(currentPhase, targetPhase, projectPath, 'Development initialization', selectedWorkflow);
79
- // Update conversation state with workflow and phase
80
- await context.conversationManager.updateConversationState(conversationContext.conversationId, {
81
- currentPhase: transitionResult.newPhase,
82
- workflowName: selectedWorkflow,
83
- requireReviewsBeforePhaseTransition: requireReviews,
84
- });
85
- // Set state machine on plan manager before creating plan file
86
- context.planManager.setStateMachine(stateMachine);
87
- // Set task backend configuration if supported (for backwards compatibility)
88
- if (typeof context.planManager.setTaskBackend === 'function') {
89
- context.planManager.setTaskBackend(taskBackendConfig);
90
- }
91
- // Ensure plan file exists
92
- await context.planManager.ensurePlanFile(conversationContext.planFilePath, projectPath, conversationContext.gitBranch);
93
- // Prepare plugin context for hooks
94
- const pluginContext = {
95
- conversationId: conversationContext.conversationId,
96
- planFilePath: conversationContext.planFilePath,
97
- currentPhase: conversationContext.currentPhase,
98
- workflow: selectedWorkflow,
99
- projectPath,
100
- gitBranch: conversationContext.gitBranch,
101
- stateMachine: {
102
- name: stateMachine.name,
103
- description: stateMachine.description,
104
- initial_state: stateMachine.initial_state,
105
- states: stateMachine.states,
106
- },
107
- };
108
- // Execute afterPlanFileCreated hook to allow plugins to modify the plan file
109
- if (context.pluginRegistry) {
110
- try {
111
- const originalContent = await readFile(conversationContext.planFilePath, 'utf-8');
112
- const modifiedContent = await context.pluginRegistry.executeHook('afterPlanFileCreated', pluginContext, conversationContext.planFilePath, originalContent);
113
- // Write the modified content back to the file if it changed
114
- if (modifiedContent && modifiedContent !== originalContent) {
115
- await writeFile(conversationContext.planFilePath, modifiedContent, 'utf-8');
116
- }
117
- }
118
- catch (error) {
119
- // Gracefully handle cases where plan file doesn't exist (e.g., in tests)
120
- // This is not a critical error - plugins can still function without modifying the plan file
121
- logger.debug('Could not execute afterPlanFileCreated hook', {
122
- error: error instanceof Error ? error.message : String(error),
123
- planFilePath: conversationContext.planFilePath,
124
- });
125
- }
126
- }
127
- // Execute afterStartDevelopment hook
128
- if (context.pluginRegistry) {
129
- await context.pluginRegistry.executeHook('afterStartDevelopment', pluginContext, {
130
- workflow: selectedWorkflow,
131
- require_reviews: args.require_reviews,
132
- project_path: projectPath,
133
- }, {
134
- conversationId: conversationContext.conversationId,
135
- planFilePath: conversationContext.planFilePath,
136
- phase: conversationContext.currentPhase,
137
- workflow: selectedWorkflow,
138
- });
139
- }
140
- // Ensure .vibe/.gitignore exists to exclude SQLite files for git repositories
141
- this.ensureGitignoreEntry(projectPath);
142
- // Generate workflow documentation URL
143
- const workflowDocumentationUrl = this.generateWorkflowDocumentationUrl(selectedWorkflow);
144
- // Generate instructions with simple i18n guidance
145
- const baseInstructions = `Look at the plan file (${conversationContext.planFilePath}). Define entrance criteria for each phase of the workflow except the initial phase. Those criteria shall be based on the contents of the previous phase. \n Example: \n \`\`\`\n ## Design\n\n ### Phase Entrance Criteria:\n - [ ] The requirements have been thoroughly defined.\n - [ ] Alternatives have been evaluated and are documented. \n - [ ] It's clear what's in scope and out of scope\n \`\`\`\n \n IMPORTANT: Once you added reasonable entrance call the whats_next() tool to get guided instructions for the next current phase.`;
146
- const i18nGuidance = `\n\nNOTE: If the user is communicating in a non-English language, please translate the plan file content to that language while keeping the structure intact, and continue all interactions in the user's language.`;
147
- // Add workflow documentation information if available
148
- const workflowDocumentationInfo = workflowDocumentationUrl
149
- ? `\n\nInform the user about the chose workflow: He can visit: ${workflowDocumentationUrl} to get detailed information.`
150
- : '';
151
- const finalInstructions = baseInstructions + workflowDocumentationInfo + i18nGuidance;
152
- const response = {
153
- phase: transitionResult.newPhase,
154
- instructions: finalInstructions,
155
- plan_file_path: conversationContext.planFilePath,
156
- workflowDocumentationUrl,
157
- };
158
- // Log interaction
159
- await this.logInteraction(context, conversationContext.conversationId, 'start_development', args, response, transitionResult.newPhase);
160
- return response;
161
- }
162
- /**
163
- * Check if project documentation artifacts exist and provide setup guidance if needed
164
- * Dynamically analyzes the selected workflow to determine which documents are referenced
165
- * Blocks workflow start if the workflow requires documentation
166
- */
167
- async checkProjectArtifacts(projectPath, workflowName, context) {
168
- try {
169
- // Load the workflow to analyze its content
170
- const stateMachine = context.workflowManager.loadWorkflowForProject(projectPath, workflowName);
171
- // Check if this workflow requires documentation (defaults to false)
172
- const requiresDocumentation = stateMachine.metadata?.requiresDocumentation ?? false;
173
- // If workflow doesn't require documentation, skip artifact check entirely
174
- if (!requiresDocumentation) {
175
- this.logger.debug('Workflow does not require documentation, skipping artifact check', { workflowName, requiresDocumentation });
176
- return null;
177
- }
178
- // Analyze workflow content to detect referenced document variables
179
- const referencedVariables = this.analyzeWorkflowDocumentReferences(stateMachine, projectPath);
180
- // If no document variables are referenced, skip artifact check
181
- if (referencedVariables.length === 0) {
182
- this.logger.debug('No document variables found in workflow, skipping artifact check', { workflowName });
183
- return null;
184
- }
185
- // Check which referenced documents are missing
186
- const docsInfo = await this.projectDocsManager.getProjectDocsInfo(projectPath);
187
- const missingDocs = this.getMissingReferencedDocuments(referencedVariables, docsInfo, projectPath);
188
- // If all referenced documents exist, continue with normal flow
189
- if (missingDocs.length === 0) {
190
- this.logger.debug('All referenced project artifacts exist, continuing with development', {
191
- workflowName,
192
- referencedVariables,
193
- });
194
- return null;
195
- }
196
- // Generate guidance for setting up missing artifacts
197
- const setupGuidance = await this.generateArtifactSetupGuidance(missingDocs, workflowName, docsInfo, referencedVariables);
198
- this.logger.info('Missing required project artifacts detected for workflow that requires documentation', {
199
- workflowName,
200
- requiresDocumentation,
201
- referencedVariables,
202
- missingDocs,
203
- projectPath,
204
- });
205
- return {
206
- phase: 'artifact-setup',
207
- instructions: setupGuidance,
208
- plan_file_path: '',
209
- };
210
- }
211
- catch (error) {
212
- this.logger.warn('Failed to analyze workflow for document references, proceeding without artifact check', {
213
- workflowName,
214
- error: error instanceof Error ? error.message : String(error),
215
- });
216
- return null;
217
- }
218
- }
219
- /**
220
- * Analyze workflow content to detect document variable references
221
- */
222
- analyzeWorkflowDocumentReferences(stateMachine, projectPath) {
223
- // Get available document variables from ProjectDocsManager
224
- const variableSubstitutions = this.projectDocsManager.getVariableSubstitutions(projectPath);
225
- const documentVariables = Object.keys(variableSubstitutions);
226
- const referencedVariables = new Set();
227
- // Convert the entire state machine to a string for analysis
228
- const workflowContent = JSON.stringify(stateMachine);
229
- // Check for each document variable
230
- for (const variable of documentVariables) {
231
- if (workflowContent.includes(variable)) {
232
- referencedVariables.add(variable);
233
- }
234
- }
235
- this.logger.debug('Analyzed workflow for document references', {
236
- workflowContent: workflowContent.length + ' characters',
237
- availableVariables: documentVariables,
238
- referencedVariables: Array.from(referencedVariables),
239
- });
240
- return Array.from(referencedVariables);
241
- }
242
- /**
243
- * Determine which referenced documents are missing
244
- */
245
- getMissingReferencedDocuments(referencedVariables, docsInfo, projectPath) {
246
- const missingDocs = [];
247
- // Get variable substitutions to derive the mapping
248
- const variableSubstitutions = this.projectDocsManager.getVariableSubstitutions(projectPath, undefined);
249
- // Create reverse mapping from variable to document type
250
- const variableToDocMap = {};
251
- for (const [variable, path] of Object.entries(variableSubstitutions)) {
252
- // Extract document type from path (e.g., 'architecture' from 'architecture.md')
253
- const filename = basename(path);
254
- const docType = filename.replace('.md', '');
255
- variableToDocMap[variable] = docType;
256
- }
257
- for (const variable of referencedVariables) {
258
- const docType = variableToDocMap[variable];
259
- if (docType && docType in docsInfo) {
260
- const docInfo = docsInfo[docType];
261
- if (docInfo && !docInfo.exists) {
262
- missingDocs.push(`${docType}.md`);
263
- }
264
- }
265
- }
266
- return missingDocs;
267
- }
268
- /**
269
- * Generate guidance for setting up missing project artifacts
270
- */
271
- async generateArtifactSetupGuidance(missingDocs, workflowName, docsInfo, referencedVariables) {
272
- const missingList = missingDocs.map(doc => `- ${doc}`).join('\n');
273
- const existingDocs = [];
274
- if (docsInfo.architecture.exists) {
275
- const fileName = basename(docsInfo.architecture.path);
276
- existingDocs.push(`✅ ${fileName}`);
277
- }
278
- if (docsInfo.requirements.exists) {
279
- const fileName = basename(docsInfo.requirements.path);
280
- existingDocs.push(`✅ ${fileName}`);
281
- }
282
- if (docsInfo.design.exists) {
283
- const fileName = basename(docsInfo.design.path);
284
- existingDocs.push(`✅ ${fileName}`);
285
- }
286
- const existingList = existingDocs.length > 0
287
- ? `\n\n**Existing Documents:**\n${existingDocs.join('\n')}`
288
- : '';
289
- const referencedVariablesList = referencedVariables
290
- .map(v => `\`${v}\``)
291
- .join(', ');
292
- // Get available templates dynamically
293
- const availableTemplates = await this.projectDocsManager.templateManager.getAvailableTemplates();
294
- const defaults = await this.projectDocsManager.templateManager.getDefaults();
295
- // Generate template options dynamically
296
- const templateOptionsText = this.generateTemplateOptionsText(availableTemplates);
297
- return `## Project Documentation Setup Required
298
-
299
- The **${workflowName}** workflow references project documentation that doesn't exist yet.
300
-
301
- **Referenced Variables:** ${referencedVariablesList}
302
-
303
- **Missing Documents:**
304
- ${missingList}${existingList}
305
-
306
- ## 🚀 **Quick Setup**
307
-
308
- Use the \`setup_project_docs\` tool to create these documents with templates:
309
-
310
- \`\`\`
311
- setup_project_docs({
312
- architecture: "${defaults.architecture}", // or other available options
313
- requirements: "${defaults.requirements}", // or other available options
314
- design: "${defaults.design}" // or other available options
315
- })
316
- \`\`\`
317
-
318
- ${templateOptionsText}
319
-
320
- ## ⚡ **Next Steps**
321
-
322
- 1. **Call \`setup_project_docs\`** with your preferred templates
323
- 2. **Call \`start_development\`** again to begin the ${workflowName} workflow
324
- 3. The workflow will reference these documents using the detected variables: ${referencedVariablesList}
325
-
326
- **Note:** You can also proceed without structured docs, but the workflow instructions will reference missing files.`;
327
- }
328
- /**
329
- * Generate template options text dynamically
330
- */
331
- generateTemplateOptionsText(availableTemplates) {
332
- const sections = [];
333
- if (availableTemplates.architecture.length > 0) {
334
- const archOptions = availableTemplates.architecture
335
- .map(template => {
336
- const description = this.getTemplateDescription(template, 'architecture');
337
- return `- **${template}**: ${description}`;
338
- })
339
- .join('\n');
340
- sections.push(`**Architecture Templates:**\n${archOptions}`);
341
- }
342
- if (availableTemplates.requirements.length > 0) {
343
- const reqOptions = availableTemplates.requirements
344
- .map(template => {
345
- const description = this.getTemplateDescription(template, 'requirements');
346
- return `- **${template}**: ${description}`;
347
- })
348
- .join('\n');
349
- sections.push(`**Requirements Templates:**\n${reqOptions}`);
350
- }
351
- if (availableTemplates.design.length > 0) {
352
- const designOptions = availableTemplates.design
353
- .map(template => {
354
- const description = this.getTemplateDescription(template, 'design');
355
- return `- **${template}**: ${description}`;
356
- })
357
- .join('\n');
358
- sections.push(`**Design Templates:**\n${designOptions}`);
359
- }
360
- return sections.length > 0
361
- ? `## 📋 **Template Options**\n\n${sections.join('\n\n')}`
362
- : '';
363
- }
364
- /**
365
- * Get description for a template based on its name and type
366
- */
367
- getTemplateDescription(template, type) {
368
- switch (template) {
369
- case 'arc42':
370
- return 'Comprehensive software architecture template with diagrams';
371
- case 'ears':
372
- return 'WHEN...THEN format for clear, testable requirements';
373
- case 'comprehensive':
374
- return 'Full implementation guide with testing strategy';
375
- case 'freestyle':
376
- return `Simple, flexible ${type} documentation`;
377
- default:
378
- return `${template} format for ${type} documentation`;
379
- }
380
- }
381
- /**
382
- * Generate workflow documentation URL for predefined workflows
383
- * Returns undefined for custom workflows
384
- */
385
- generateWorkflowDocumentationUrl(workflowName) {
386
- // Don't generate URL for custom workflows
387
- if (workflowName === 'custom') {
388
- return undefined;
389
- }
390
- // Generate URL for predefined workflows
391
- return `https://mrsimpson.github.io/responsible-vibe-mcp/workflows/${workflowName}`;
392
- }
393
- /**
394
- * Get the current git branch for a project
395
- * Uses the same logic as ConversationManager but locally accessible
396
- */
397
- getCurrentGitBranch(projectPath) {
398
- try {
399
- const { execSync } = require('node:child_process');
400
- const { existsSync } = require('node:fs');
401
- // Check if this is a git repository
402
- if (!existsSync(`${projectPath}/.git`)) {
403
- this.logger.debug('Not a git repository, using "default" as branch name', { projectPath });
404
- return 'default';
405
- }
406
- // Get current branch name
407
- // Use symbolic-ref which works even without commits (unlike rev-parse --abbrev-ref HEAD)
408
- const branch = execSync('git symbolic-ref --short HEAD', {
409
- cwd: projectPath,
410
- encoding: 'utf-8',
411
- stdio: ['ignore', 'pipe', 'ignore'], // Suppress stderr
412
- }).trim();
413
- this.logger.debug('Detected git branch', { projectPath, branch });
414
- return branch;
415
- }
416
- catch (_error) {
417
- this.logger.debug('Failed to get git branch, using "default" as branch name', { projectPath });
418
- return 'default';
419
- }
420
- }
421
- /**
422
- * Generate a suggested branch name for feature development
423
- */
424
- generateBranchSuggestion() {
425
- const timestamp = new Date().toISOString().slice(0, 10).replace(/-/g, '');
426
- return `feature/development-${timestamp}`;
427
- }
428
- /**
429
- * Ensure .gitignore exists in .vibe folder to exclude SQLite files
430
- * This function is idempotent and self-contained within the .vibe directory
431
- */
432
- ensureGitignoreEntry(projectPath) {
433
- try {
434
- // Check if this is a git repository
435
- if (!existsSync(`${projectPath}/.git`)) {
436
- this.logger.debug('Not a git repository, skipping .gitignore management', { projectPath });
437
- return;
438
- }
439
- const vibeDir = resolve(projectPath, '.vibe');
440
- const gitignorePath = resolve(vibeDir, '.gitignore');
441
- // Ensure .vibe directory exists
442
- if (!existsSync(vibeDir)) {
443
- mkdirSync(vibeDir, { recursive: true });
444
- }
445
- // Content for .vibe/.gitignore
446
- const gitignoreContent = `# Exclude conversation state files
447
- conversations/
448
- # Legacy SQLite files (for migration compatibility)
449
- *.sqlite
450
- *.sqlite-*
451
- `;
452
- // Check if .gitignore already exists and has the right content
453
- if (existsSync(gitignorePath)) {
454
- try {
455
- const existingContent = readFileSync(gitignorePath, 'utf-8');
456
- if (existingContent.includes('conversations/')) {
457
- this.logger.debug('.vibe/.gitignore already exists with conversation exclusions', { gitignorePath });
458
- return;
459
- }
460
- }
461
- catch (error) {
462
- this.logger.warn('Failed to read existing .vibe/.gitignore, will recreate', {
463
- gitignorePath,
464
- error: error instanceof Error ? error.message : String(error),
465
- });
466
- }
467
- }
468
- // Write the .gitignore file
469
- writeFileSync(gitignorePath, gitignoreContent, 'utf-8');
470
- this.logger.info('Created .vibe/.gitignore to exclude conversation files', {
471
- projectPath,
472
- gitignorePath,
473
- });
474
- }
475
- catch (error) {
476
- // Log warning but don't fail development start
477
- this.logger.warn('Failed to create .vibe/.gitignore, continuing with development start', {
478
- projectPath,
479
- error: error instanceof Error ? error.message : String(error),
480
- });
481
- }
482
- }
483
- }
484
- //# sourceMappingURL=start-development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-development.js","sourceRoot":"","sources":["../../src/tool-handlers/start-development.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * WhatsNext Tool Handler
3
- *
4
- * Handles the whats_next tool which analyzes conversation context and
5
- * determines the next development phase with specific instructions for the LLM.
6
- */
7
- import { ConversationRequiredToolHandler } from './base-tool-handler.js';
8
- import type { ConversationContext } from '@codemcp/workflows-core';
9
- import { ServerContext } from '../types.js';
10
- /**
11
- * Arguments for the whats_next tool
12
- */
13
- export interface WhatsNextArgs {
14
- context?: string;
15
- user_input?: string;
16
- conversation_summary?: string;
17
- recent_messages?: Array<{
18
- role: 'user' | 'assistant';
19
- content: string;
20
- }>;
21
- }
22
- /**
23
- * Response from the whats_next tool
24
- */
25
- export interface WhatsNextResult {
26
- phase: string;
27
- instructions: string;
28
- plan_file_path: string;
29
- }
30
- /**
31
- * WhatsNext tool handler implementation
32
- */
33
- export declare class WhatsNextHandler extends ConversationRequiredToolHandler<WhatsNextArgs, WhatsNextResult> {
34
- protected executeHandler(args: WhatsNextArgs, context: ServerContext): Promise<WhatsNextResult>;
35
- protected executeWithConversation(args: WhatsNextArgs, context: ServerContext, conversationContext: ConversationContext): Promise<WhatsNextResult>;
36
- /**
37
- * Determines whether conversation state should be updated for a phase transition
38
- */
39
- private shouldUpdateConversationState;
40
- }
41
- //# sourceMappingURL=whats-next.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whats-next.d.ts","sourceRoot":"","sources":["../../src/tool-handlers/whats-next.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,+BAA+B,CACnE,aAAa,EACb,eAAe,CAChB;cAC0B,cAAc,CACrC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC;cAaX,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,eAAe,CAAC;IAsI3B;;OAEG;YACW,6BAA6B;CA+C5C"}