@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
@@ -0,0 +1,256 @@
1
+ /**
2
+ * State Machine Definition for Vibe Feature MCP Server
3
+ *
4
+ * This module defines the development workflow state machine, including:
5
+ * - Development phases (states)
6
+ * - Transition triggers and conditions
7
+ * - Phase-specific instructions for LLM guidance
8
+ * - Transition-specific prompts for contextual guidance
9
+ */
10
+ /**
11
+ * Complete state transition table
12
+ *
13
+ * This table defines all possible transitions between development phases.
14
+ * - Modeled transitions: Shown in the state diagram, get contextual guidance
15
+ * - Direct transitions: Not shown in diagram, get general phase instructions
16
+ */
17
+ export const STATE_TRANSITIONS = [
18
+ // FROM IDLE
19
+ {
20
+ from: 'idle',
21
+ to: 'requirements',
22
+ trigger: 'new_feature_request',
23
+ isModeled: true,
24
+ instructions: 'New feature request detected! Start requirements analysis by asking the user clarifying questions about WHAT they need. Focus on understanding their goals, scope, and constraints. Break down their needs into specific, actionable tasks and document them in the plan file. Mark completed requirements tasks as you progress.',
25
+ transitionReason: 'New feature request detected, starting requirements analysis',
26
+ },
27
+ // FROM REQUIREMENTS
28
+ {
29
+ from: 'requirements',
30
+ to: 'requirements',
31
+ trigger: 'refine_requirements',
32
+ isModeled: true,
33
+ instructions: 'Continue refining requirements. Ask more detailed questions to clarify scope, constraints, and user needs. Add any new requirements to the plan file and mark completed tasks. Ensure you have a complete understanding of WHAT needs to be built before moving to design.',
34
+ transitionReason: 'Requirements need further refinement and clarification',
35
+ },
36
+ {
37
+ from: 'requirements',
38
+ to: 'design',
39
+ trigger: 'requirements_complete',
40
+ isModeled: true,
41
+ instructions: 'Requirements are complete! ✅ Now transition to design phase. Help the user design the technical solution by asking about architecture, technologies, quality goals, and implementation approach. Focus on HOW to build what was defined in requirements. Document design decisions in the plan file and mark completed requirements tasks.',
42
+ transitionReason: 'All requirements tasks completed, moving to technical design',
43
+ },
44
+ {
45
+ from: 'requirements',
46
+ to: 'idle',
47
+ trigger: 'abandon_feature',
48
+ isModeled: true,
49
+ instructions: 'Feature development abandoned. Clean up any temporary work and return to idle state. The plan file will remain for future reference if the user wants to resume this feature later.',
50
+ transitionReason: 'User decided to abandon this feature development',
51
+ },
52
+ // FROM DESIGN
53
+ {
54
+ from: 'design',
55
+ to: 'design',
56
+ trigger: 'refine_design',
57
+ isModeled: true,
58
+ instructions: 'Continue refining the technical design. Ask about architecture details, technology choices, data models, API design, and quality considerations. Update the plan file with design decisions and mark completed design tasks. Ensure the design is solid before implementation.',
59
+ transitionReason: 'Design needs further refinement and detail',
60
+ },
61
+ {
62
+ from: 'design',
63
+ to: 'requirements',
64
+ trigger: 'requirements_unclear',
65
+ isModeled: true,
66
+ instructions: 'Design phase revealed unclear requirements. Return to requirements analysis to clarify the WHAT before continuing with HOW. Ask specific questions about the unclear aspects and update the plan file with refined requirements.',
67
+ transitionReason: 'Design work revealed gaps or ambiguities in requirements',
68
+ },
69
+ {
70
+ from: 'design',
71
+ to: 'implementation',
72
+ trigger: 'design_complete',
73
+ isModeled: true,
74
+ instructions: 'Design is complete! ✅ Now transition to implementation. Guide the user through building the solution following the design. Focus on coding best practices, proper structure, error handling, and basic testing. Update the plan file with implementation progress and mark completed design tasks.',
75
+ transitionReason: 'Technical design is complete, ready to start building',
76
+ },
77
+ {
78
+ from: 'design',
79
+ to: 'idle',
80
+ trigger: 'abandon_feature',
81
+ isModeled: true,
82
+ instructions: 'Feature development abandoned during design phase. Clean up any design artifacts and return to idle state. The plan file will remain for future reference.',
83
+ transitionReason: 'User decided to abandon feature during design phase',
84
+ },
85
+ // FROM IMPLEMENTATION
86
+ {
87
+ from: 'implementation',
88
+ to: 'implementation',
89
+ trigger: 'refine_implementation',
90
+ isModeled: true,
91
+ instructions: 'Continue implementation work. Help with coding, debugging, structure improvements, and adding functionality. Follow best practices and ensure code quality. Update the plan file with progress and mark completed implementation tasks.',
92
+ transitionReason: 'Implementation work continues, adding features or improving code',
93
+ },
94
+ {
95
+ from: 'implementation',
96
+ to: 'design',
97
+ trigger: 'design_issues',
98
+ isModeled: true,
99
+ instructions: "Implementation revealed issues with the design. Return to design phase to address architectural problems or design gaps. Analyze what's not working and revise the technical approach. Update the plan file with design changes.",
100
+ transitionReason: 'Implementation work revealed problems with the current design',
101
+ },
102
+ {
103
+ from: 'implementation',
104
+ to: 'qa',
105
+ trigger: 'implementation_complete',
106
+ isModeled: true,
107
+ instructions: "Implementation is complete! ✅ Now transition to quality assurance. Take these specific actions:\n\n1. **Syntax Check**: Run syntax checking tools or validate syntax manually\n2. **Build Project**: Build the project to verify it compiles without errors\n3. **Run Linter**: Execute linting tools to ensure code style consistency\n4. **Execute Tests**: Run existing tests to verify functionality\n\nThen conduct a multi-perspective code review:\n- **Security Perspective**: Check for vulnerabilities, input validation, authentication issues\n- **Performance Perspective**: Identify bottlenecks, inefficient algorithms, resource usage\n- **UX Perspective**: Evaluate from the end-user's viewpoint\n- **Maintainability Perspective**: Assess code readability, documentation, future maintenance\n- **Requirement Compliance**: Verify all requirements are properly implemented\n\nUpdate the plan file and mark completed implementation tasks.",
108
+ transitionReason: 'Core implementation is complete, ready for quality review',
109
+ },
110
+ {
111
+ from: 'implementation',
112
+ to: 'idle',
113
+ trigger: 'abandon_feature',
114
+ isModeled: true,
115
+ instructions: 'Feature development abandoned during implementation. Clean up any incomplete code and return to idle state. The plan file and any completed work will remain for future reference.',
116
+ transitionReason: 'User decided to abandon feature during implementation',
117
+ },
118
+ // FROM QA (Quality Assurance)
119
+ {
120
+ from: 'qa',
121
+ to: 'qa',
122
+ trigger: 'refine_qa',
123
+ isModeled: true,
124
+ instructions: "Continue quality assurance work. Take these specific actions if not already completed:\n\n1. **Syntax Check**: Run syntax checking tools or validate syntax manually\n2. **Build Project**: Build the project to verify it compiles without errors\n3. **Run Linter**: Execute linting tools to ensure code style consistency\n4. **Execute Tests**: Run existing tests to verify functionality\n\nContinue multi-perspective code review:\n- **Security Perspective**: Check for vulnerabilities, input validation, authentication issues\n- **Performance Perspective**: Identify bottlenecks, inefficient algorithms, resource usage\n- **UX Perspective**: Evaluate from the end-user's viewpoint\n- **Maintainability Perspective**: Assess code readability, documentation, future maintenance\n- **Requirement Compliance**: Verify all requirements are properly implemented\n\nUpdate the plan file with QA progress and mark completed tasks.",
125
+ transitionReason: 'Quality assurance work continues, improving code quality',
126
+ },
127
+ {
128
+ from: 'qa',
129
+ to: 'implementation',
130
+ trigger: 'implementation_issues',
131
+ isModeled: true,
132
+ instructions: 'Quality assurance revealed implementation issues. Return to implementation phase to fix bugs, improve code quality, or add missing functionality. Focus on addressing the specific issues identified during QA review.',
133
+ transitionReason: 'QA review found issues that require implementation changes',
134
+ },
135
+ {
136
+ from: 'qa',
137
+ to: 'testing',
138
+ trigger: 'qa_complete',
139
+ isModeled: true,
140
+ instructions: 'Quality assurance is complete! ✅ Now transition to testing phase. Create comprehensive test plans, write and execute tests, validate feature completeness, and ensure everything works as expected. Update the plan file and mark completed QA tasks.',
141
+ transitionReason: 'Quality assurance is complete, ready for comprehensive testing',
142
+ },
143
+ {
144
+ from: 'qa',
145
+ to: 'idle',
146
+ trigger: 'abandon_feature',
147
+ isModeled: true,
148
+ instructions: 'Feature development abandoned during QA phase. Clean up any QA artifacts and return to idle state. The plan file and completed work will remain for future reference.',
149
+ transitionReason: 'User decided to abandon feature during quality assurance',
150
+ },
151
+ // FROM TESTING
152
+ {
153
+ from: 'testing',
154
+ to: 'testing',
155
+ trigger: 'refine_testing',
156
+ isModeled: true,
157
+ instructions: 'Continue testing work. Create more test cases, improve test coverage, run integration tests, and validate edge cases. Update the plan file with testing progress and mark completed testing tasks.',
158
+ transitionReason: 'Testing work continues, improving coverage and validation',
159
+ },
160
+ {
161
+ from: 'testing',
162
+ to: 'qa',
163
+ trigger: 'qa_issues',
164
+ isModeled: true,
165
+ instructions: 'Testing revealed quality issues. Return to QA phase to address code quality problems, documentation gaps, or requirement compliance issues identified during testing. Focus on the specific QA issues found.',
166
+ transitionReason: 'Testing found issues that require quality assurance attention',
167
+ },
168
+ {
169
+ from: 'testing',
170
+ to: 'complete',
171
+ trigger: 'testing_complete',
172
+ isModeled: true,
173
+ instructions: 'Testing is complete! ✅ The feature is fully implemented, tested, and ready for delivery. Transition to complete state. Summarize what was accomplished and prepare final documentation. Mark all testing tasks as complete.',
174
+ transitionReason: 'All testing is complete, feature is ready for delivery',
175
+ },
176
+ {
177
+ from: 'testing',
178
+ to: 'idle',
179
+ trigger: 'abandon_feature',
180
+ isModeled: true,
181
+ instructions: 'Feature development abandoned during testing phase. Clean up any testing artifacts and return to idle state. The plan file and completed work will remain for future reference.',
182
+ transitionReason: 'User decided to abandon feature during testing phase',
183
+ },
184
+ // FROM COMPLETE
185
+ {
186
+ from: 'complete',
187
+ to: 'idle',
188
+ trigger: 'feature_delivered',
189
+ isModeled: true,
190
+ instructions: 'Feature has been delivered successfully! Return to idle state, ready for the next development task. The completed plan file serves as documentation of what was accomplished.',
191
+ transitionReason: 'Feature delivery complete, returning to idle state',
192
+ },
193
+ {
194
+ from: 'complete',
195
+ to: 'requirements',
196
+ trigger: 'new_feature_request',
197
+ isModeled: true,
198
+ instructions: 'New feature request while previous feature is complete. Start fresh requirements analysis for the new feature. Ask clarifying questions about what they need and create a new development plan.',
199
+ transitionReason: 'New feature request received, starting new development cycle',
200
+ },
201
+ ];
202
+ /**
203
+ * Direct transition instructions for non-modeled transitions
204
+ * These are used when users jump directly to any phase using proceed_to_phase
205
+ */
206
+ export const DIRECT_PHASE_INSTRUCTIONS = {
207
+ idle: 'Returned to idle state. Ready to help with new feature development or other tasks.',
208
+ requirements: 'Starting requirements analysis. Ask the user clarifying questions about WHAT they need. Focus on understanding their goals, scope, constraints, and success criteria. Break down their needs into specific, actionable tasks and document them in the plan file. Mark completed requirements tasks as you progress.',
209
+ design: "Starting design phase. Help the user design the technical solution by asking about architecture, technologies, data models, API design, and quality goals. Focus on HOW to implement what's needed. Document design decisions in the plan file and ensure the approach is solid before implementation.",
210
+ implementation: 'Starting implementation phase. Guide the user through building the solution following best practices. Focus on code structure, error handling, security, and maintainability. Write clean, well-documented code and include basic testing. Update the plan file with implementation progress.',
211
+ qa: "Starting quality assurance phase. Take the following specific actions:\n\n1. **Syntax Check**: Run syntax checking tools or validate syntax manually\n2. **Build Project**: Build the project to verify it compiles without errors\n3. **Run Linter**: Execute linting tools to ensure code style consistency\n4. **Execute Tests**: Run existing tests to verify functionality\n\nThen conduct a multi-perspective code review:\n- **Security Perspective**: Check for vulnerabilities, input validation, authentication issues\n- **Performance Perspective**: Identify bottlenecks, inefficient algorithms, resource usage\n- **UX Perspective**: Evaluate from the end-user's viewpoint\n- **Maintainability Perspective**: Assess code readability, documentation, future maintenance\n- **Requirement Compliance**: Verify all requirements are properly implemented\n\nUpdate the plan file with QA progress and mark completed tasks.",
212
+ testing: 'Starting testing phase. Create comprehensive test plans, write and execute tests, validate feature completeness, and ensure everything works as expected. Focus on test coverage, edge cases, integration testing, and user acceptance validation.',
213
+ complete: 'Feature development is complete! All phases have been finished successfully. The feature is implemented, tested, and ready for delivery. Summarize what was accomplished and ensure all documentation is finalized.',
214
+ };
215
+ /**
216
+ * Get transition instructions for a specific state change
217
+ */
218
+ export function getTransitionInstructions(fromState, toState, trigger) {
219
+ // Look for a modeled transition first
220
+ const modeledTransition = STATE_TRANSITIONS.find(t => t.from === fromState &&
221
+ t.to === toState &&
222
+ (trigger ? t.trigger === trigger : true));
223
+ if (modeledTransition) {
224
+ return {
225
+ instructions: modeledTransition.instructions,
226
+ transitionReason: modeledTransition.transitionReason,
227
+ isModeled: true,
228
+ };
229
+ }
230
+ // Fall back to direct phase instructions
231
+ return {
232
+ instructions: DIRECT_PHASE_INSTRUCTIONS[toState],
233
+ transitionReason: `Direct transition to ${toState} phase`,
234
+ isModeled: false,
235
+ };
236
+ }
237
+ /**
238
+ * Get all possible transitions from a given state
239
+ */
240
+ export function getPossibleTransitions(fromState) {
241
+ return STATE_TRANSITIONS.filter(t => t.from === fromState);
242
+ }
243
+ /**
244
+ * Check if a transition is modeled (shown in state diagram)
245
+ */
246
+ export function isModeledTransition(fromState, toState) {
247
+ return STATE_TRANSITIONS.some(t => t.from === fromState && t.to === toState && t.isModeled);
248
+ }
249
+ /**
250
+ * Get phase-specific instructions for continuing work in current phase
251
+ */
252
+ export function getContinuePhaseInstructions(phase) {
253
+ const continueTransition = STATE_TRANSITIONS.find(t => t.from === phase && t.to === phase);
254
+ return continueTransition?.instructions || DIRECT_PHASE_INSTRUCTIONS[phase];
255
+ }
256
+ //# sourceMappingURL=state-machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * System Prompt Generator for Vibe Feature MCP
3
+ *
4
+ * Dynamically generates a comprehensive system prompt for LLMs to properly
5
+ * integrate with the workflows server. The prompt is generated from
6
+ * the actual state machine definition to ensure accuracy and consistency.
7
+ */
8
+ import type { YamlStateMachine } from './state-machine-types.js';
9
+ /**
10
+ * Generate a system prompt for LLM integration
11
+ * @param stateMachine The state machine definition to use for generating the prompt
12
+ * @returns The generated system prompt
13
+ */
14
+ export declare function generateSystemPrompt(stateMachine: YamlStateMachine): string;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * System Prompt Generator for Vibe Feature MCP
3
+ *
4
+ * Dynamically generates a comprehensive system prompt for LLMs to properly
5
+ * integrate with the workflows server. The prompt is generated from
6
+ * the actual state machine definition to ensure accuracy and consistency.
7
+ */
8
+ import { createLogger } from './logger.js';
9
+ const logger = createLogger('SystemPromptGenerator');
10
+ /**
11
+ * Generate a system prompt for LLM integration
12
+ * @param stateMachine The state machine definition to use for generating the prompt
13
+ * @returns The generated system prompt
14
+ */
15
+ export function generateSystemPrompt(stateMachine) {
16
+ logger.debug('Generating system prompt from state machine definition', {
17
+ stateMachineName: stateMachine.name,
18
+ phaseCount: Object.keys(stateMachine.states).length,
19
+ });
20
+ return generateSimpleSystemPrompt(stateMachine);
21
+ }
22
+ /**
23
+ * Generate a simple system prompt for LLM integration
24
+ */
25
+ function generateSimpleSystemPrompt(_stateMachine) {
26
+ logger.debug('Generating system prompt');
27
+ const systemPrompt = `
28
+ You are an AI assistant that helps users develop software features using the workflows server.
29
+
30
+ IMPORTANT: Call whats_next() after each user message to get phase-specific instructions and maintain the development workflow.
31
+
32
+ Each tool call returns a JSON response with an "instructions" field. Follow these instructions immediately after you receive them.
33
+
34
+ Use the development plan which you will retrieve via whats_next() to record important insights and decisions as per the structure of the plan.
35
+
36
+ Do not use your own task management tools.`;
37
+ logger.info('System prompt generated successfully', {
38
+ promptLength: systemPrompt.length,
39
+ });
40
+ return systemPrompt;
41
+ }
42
+ //# sourceMappingURL=system-prompt-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt-generator.js","sourceRoot":"","sources":["../src/system-prompt-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA8B;IACjE,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;QACrE,gBAAgB,EAAE,YAAY,CAAC,IAAI;QACnC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;KACpD,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,aAA+B;IACjE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG;;;;;;;;;2CASoB,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;QAClD,YAAY,EAAE,YAAY,CAAC,MAAM;KAClC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Task Backend Management
3
+ *
4
+ * Provides abstraction layer for different task management backends:
5
+ * - markdown: Traditional plan file with checkbox tasks
6
+ * - beads: Beads distributed issue tracker integration
7
+ */
8
+ export type TaskBackend = 'markdown' | 'beads';
9
+ export interface TaskBackendConfig {
10
+ backend: TaskBackend;
11
+ isAvailable: boolean;
12
+ errorMessage?: string;
13
+ }
14
+ /**
15
+ * Task backend detection and management utility
16
+ */
17
+ export declare class TaskBackendManager {
18
+ /**
19
+ * Detect and validate the requested task backend
20
+ *
21
+ * When TASK_BACKEND is not set:
22
+ * - Auto-detects if beads (bd) command is available
23
+ * - Uses beads if bd command exists, markdown otherwise
24
+ *
25
+ * When TASK_BACKEND is explicitly set:
26
+ * - Uses the specified backend (markdown or beads)
27
+ * - For beads, validates availability and provides setup instructions if not available
28
+ */
29
+ static detectTaskBackend(): TaskBackendConfig;
30
+ /**
31
+ * Check if beads command is available and functional
32
+ */
33
+ static checkBeadsAvailability(): {
34
+ isAvailable: boolean;
35
+ errorMessage?: string;
36
+ };
37
+ /**
38
+ * Get setup instructions for beads backend
39
+ */
40
+ static getBeadsSetupInstructions(): string;
41
+ /**
42
+ * Validate task backend configuration and throw error if invalid
43
+ */
44
+ static validateTaskBackend(): TaskBackendConfig;
45
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Task Backend Management
3
+ *
4
+ * Provides abstraction layer for different task management backends:
5
+ * - markdown: Traditional plan file with checkbox tasks
6
+ * - beads: Beads distributed issue tracker integration
7
+ */
8
+ import { execSync } from 'node:child_process';
9
+ import { createLogger } from './logger.js';
10
+ const logger = createLogger('TaskBackend');
11
+ /**
12
+ * Task backend detection and management utility
13
+ */
14
+ export class TaskBackendManager {
15
+ /**
16
+ * Detect and validate the requested task backend
17
+ *
18
+ * When TASK_BACKEND is not set:
19
+ * - Auto-detects if beads (bd) command is available
20
+ * - Uses beads if bd command exists, markdown otherwise
21
+ *
22
+ * When TASK_BACKEND is explicitly set:
23
+ * - Uses the specified backend (markdown or beads)
24
+ * - For beads, validates availability and provides setup instructions if not available
25
+ */
26
+ static detectTaskBackend() {
27
+ const envBackend = process.env['TASK_BACKEND']?.toLowerCase().trim();
28
+ // Handle invalid values by treating as not set
29
+ if (envBackend && !['markdown', 'beads'].includes(envBackend)) {
30
+ logger.debug('Invalid TASK_BACKEND value, treating as not set', {
31
+ envBackend,
32
+ });
33
+ }
34
+ // Auto-detect backend when not explicitly configured
35
+ if (!envBackend || !['markdown', 'beads'].includes(envBackend)) {
36
+ const beadsAvailable = TaskBackendManager.checkBeadsAvailability();
37
+ if (beadsAvailable.isAvailable) {
38
+ logger.info('Auto-detected beads backend (bd command available)', {
39
+ reason: 'TASK_BACKEND not set, bd command found',
40
+ });
41
+ return {
42
+ backend: 'beads',
43
+ isAvailable: true,
44
+ };
45
+ }
46
+ logger.debug('Using markdown backend (bd command not available)', {
47
+ reason: 'TASK_BACKEND not set, bd command not found',
48
+ });
49
+ return {
50
+ backend: 'markdown',
51
+ isAvailable: true,
52
+ };
53
+ }
54
+ const backend = envBackend;
55
+ if (backend === 'markdown') {
56
+ logger.debug('Using explicitly configured markdown backend');
57
+ return {
58
+ backend: 'markdown',
59
+ isAvailable: true,
60
+ };
61
+ }
62
+ // backend === 'beads' is the only remaining case (explicitly configured)
63
+ const beadsAvailable = TaskBackendManager.checkBeadsAvailability();
64
+ if (beadsAvailable.isAvailable) {
65
+ logger.debug('Using explicitly configured beads backend');
66
+ return {
67
+ backend: 'beads',
68
+ isAvailable: true,
69
+ };
70
+ }
71
+ return {
72
+ backend: 'beads',
73
+ isAvailable: false,
74
+ errorMessage: beadsAvailable.errorMessage || 'Beads backend not available',
75
+ };
76
+ }
77
+ /**
78
+ * Check if beads command is available and functional
79
+ */
80
+ static checkBeadsAvailability() {
81
+ try {
82
+ // Check if bd command exists and is functional
83
+ const output = execSync('bd --version', {
84
+ encoding: 'utf-8',
85
+ stdio: ['ignore', 'pipe', 'pipe'],
86
+ timeout: 5000,
87
+ });
88
+ logger.debug('Beads command available', { version: output.trim() });
89
+ return { isAvailable: true };
90
+ }
91
+ catch (error) {
92
+ const errorMessage = error instanceof Error ? error.message : String(error);
93
+ // Provide helpful error message based on error type
94
+ if (errorMessage.includes('command not found') ||
95
+ errorMessage.includes('not recognized')) {
96
+ return {
97
+ isAvailable: false,
98
+ errorMessage: 'Beads command (bd) not found. Please install beads from: https://github.com/beads-data/beads',
99
+ };
100
+ }
101
+ if (errorMessage.includes('timeout')) {
102
+ return {
103
+ isAvailable: false,
104
+ errorMessage: 'Beads command (bd) timed out. Check if beads is properly installed and configured.',
105
+ };
106
+ }
107
+ logger.warn('Beads availability check failed', { errorMessage });
108
+ return {
109
+ isAvailable: false,
110
+ errorMessage: `Beads command (bd) check failed: ${errorMessage}`,
111
+ };
112
+ }
113
+ }
114
+ /**
115
+ * Get setup instructions for beads backend
116
+ */
117
+ static getBeadsSetupInstructions() {
118
+ return `## Beads Setup Required
119
+
120
+ To use beads as your task backend, you need to install beads:
121
+
122
+ ### Installation
123
+ 1. Clone the beads repository:
124
+ \`\`\`bash
125
+ git clone https://github.com/beads-data/beads.git ~/beads
126
+ cd ~/beads
127
+ \`\`\`
128
+
129
+ 2. Build and install beads:
130
+ \`\`\`bash
131
+ make install
132
+ \`\`\`
133
+
134
+ 3. Verify installation:
135
+ \`\`\`bash
136
+ bd --version
137
+ \`\`\`
138
+
139
+ ### Auto-Detection
140
+ The system automatically detects the task backend:
141
+ - If the \`bd\` command is available, beads backend is used automatically
142
+ - If the \`bd\` command is not found, markdown backend is used
143
+
144
+ ### Explicit Configuration (Optional)
145
+ You can explicitly set the backend via environment variable:
146
+ \`\`\`bash
147
+ export TASK_BACKEND=beads # Force beads backend
148
+ export TASK_BACKEND=markdown # Force markdown backend
149
+ \`\`\`
150
+
151
+ ### Alternative: Use Markdown Backend
152
+ If you prefer to continue with traditional plan file task management,
153
+ simply ensure the \`bd\` command is not installed, or set:
154
+ \`\`\`bash
155
+ export TASK_BACKEND=markdown
156
+ \`\`\``;
157
+ }
158
+ /**
159
+ * Validate task backend configuration and throw error if invalid
160
+ */
161
+ static validateTaskBackend() {
162
+ const config = this.detectTaskBackend();
163
+ if (!config.isAvailable) {
164
+ const setupInstructions = config.backend === 'beads'
165
+ ? this.getBeadsSetupInstructions()
166
+ : 'Task backend validation failed';
167
+ throw new Error(`Task backend '${config.backend}' is not available.\n\n${config.errorMessage || ''}\n\n${setupInstructions}`);
168
+ }
169
+ logger.info('Task backend validated successfully', {
170
+ backend: config.backend,
171
+ available: config.isAvailable,
172
+ });
173
+ return config;
174
+ }
175
+ }
176
+ //# sourceMappingURL=task-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-backend.js","sourceRoot":"","sources":["../src/task-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Template Manager
3
+ *
4
+ * Handles loading and rendering of project document templates.
5
+ * Supports different template formats for architecture, requirements, and design documents.
6
+ */
7
+ export type ArchitectureTemplate = string;
8
+ export type RequirementsTemplate = string;
9
+ export type DesignTemplate = string;
10
+ export interface TemplateOptions {
11
+ architecture?: ArchitectureTemplate;
12
+ requirements?: RequirementsTemplate;
13
+ design?: DesignTemplate;
14
+ }
15
+ export interface TemplateResult {
16
+ content: string;
17
+ additionalFiles?: Array<{
18
+ relativePath: string;
19
+ content: Buffer;
20
+ }>;
21
+ }
22
+ export declare class TemplateManager {
23
+ private templatesPath;
24
+ constructor();
25
+ /**
26
+ * Resolve templates path using similar strategy as WorkflowManager
27
+ */
28
+ private resolveTemplatesPath;
29
+ /**
30
+ * Get the default template options based on available templates
31
+ */
32
+ getDefaults(): Promise<Required<TemplateOptions>>;
33
+ /**
34
+ * Get preferred template from available options, with fallback preferences
35
+ */
36
+ private getPreferredTemplate;
37
+ /**
38
+ * Load and render a template
39
+ */
40
+ loadTemplate(type: 'architecture' | 'requirements' | 'design', template: string): Promise<TemplateResult>;
41
+ /**
42
+ * Load a directory-based template (like arc42 with images)
43
+ */
44
+ private loadDirectoryTemplate;
45
+ /**
46
+ * Recursively load additional files from template directory
47
+ */
48
+ private loadAdditionalFiles;
49
+ /**
50
+ * Validate template options against available templates
51
+ */
52
+ validateOptions(options: TemplateOptions): Promise<void>;
53
+ /**
54
+ * Get available templates for each type by scanning the file system
55
+ */
56
+ getAvailableTemplates(): Promise<{
57
+ architecture: string[];
58
+ requirements: string[];
59
+ design: string[];
60
+ }>;
61
+ }