@codemcp/workflows 5.2.4 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/README.md +91 -0
  2. package/package.json +77 -17
  3. package/packages/cli/dist/chunk-R5U7XKVJ.js +16 -0
  4. package/packages/cli/dist/chunk-RTDQR2KY.js +6718 -0
  5. package/packages/cli/dist/cli-CZ4FMSWR.js +1421 -0
  6. package/packages/cli/dist/dist-KZOA4GL5.js +65 -0
  7. package/packages/cli/dist/dist-UGVUJIDN.js +14475 -0
  8. package/packages/cli/dist/index.js +21 -0
  9. package/packages/cli/package.json +28 -0
  10. package/packages/core/dist/beads-integration.d.ts +50 -0
  11. package/packages/core/dist/beads-integration.js +387 -0
  12. package/packages/core/dist/beads-integration.js.map +1 -0
  13. package/packages/core/dist/beads-state-manager.d.ts +58 -0
  14. package/packages/core/dist/beads-state-manager.js +212 -0
  15. package/packages/core/dist/beads-state-manager.js.map +1 -0
  16. package/packages/core/dist/config-manager.d.ts +24 -0
  17. package/packages/core/dist/config-manager.js +68 -0
  18. package/packages/core/dist/config-manager.js.map +1 -0
  19. package/packages/core/dist/conversation-manager.d.ts +98 -0
  20. package/packages/core/dist/conversation-manager.js +382 -0
  21. package/packages/core/dist/conversation-manager.js.map +1 -0
  22. package/packages/core/dist/file-detection-manager.d.ts +53 -0
  23. package/packages/core/dist/file-detection-manager.js +221 -0
  24. package/packages/core/dist/file-detection-manager.js.map +1 -0
  25. package/packages/core/dist/file-storage.d.ts +93 -0
  26. package/packages/core/dist/file-storage.js +301 -0
  27. package/packages/core/dist/file-storage.js.map +1 -0
  28. package/packages/core/dist/git-manager.d.ts +22 -0
  29. package/packages/core/dist/git-manager.js +123 -0
  30. package/packages/core/dist/git-manager.js.map +1 -0
  31. package/packages/core/dist/index.d.ts +24 -0
  32. package/packages/core/dist/index.js +31 -0
  33. package/packages/core/dist/index.js.map +1 -0
  34. package/packages/core/dist/instruction-generator.d.ts +40 -0
  35. package/packages/core/dist/instruction-generator.js +89 -0
  36. package/packages/core/dist/instruction-generator.js.map +1 -0
  37. package/packages/core/dist/interaction-logger.d.ts +37 -0
  38. package/packages/core/dist/interaction-logger.js +87 -0
  39. package/packages/core/dist/interaction-logger.js.map +1 -0
  40. package/packages/core/dist/interfaces/index.d.ts +9 -0
  41. package/packages/core/dist/interfaces/index.js +10 -0
  42. package/packages/core/dist/interfaces/index.js.map +1 -0
  43. package/packages/core/dist/interfaces/instruction-generator.interface.d.ts +41 -0
  44. package/packages/core/dist/interfaces/instruction-generator.interface.js +8 -0
  45. package/packages/core/dist/interfaces/instruction-generator.interface.js.map +1 -0
  46. package/packages/core/dist/interfaces/plan-manager.interface.d.ts +55 -0
  47. package/packages/core/dist/interfaces/plan-manager.interface.js +8 -0
  48. package/packages/core/dist/interfaces/plan-manager.interface.js.map +1 -0
  49. package/packages/core/dist/interfaces/task-backend-client.interface.d.ts +52 -0
  50. package/packages/core/dist/interfaces/task-backend-client.interface.js +8 -0
  51. package/packages/core/dist/interfaces/task-backend-client.interface.js.map +1 -0
  52. package/packages/core/dist/logger.d.ts +64 -0
  53. package/packages/core/dist/logger.js +283 -0
  54. package/packages/core/dist/logger.js.map +1 -0
  55. package/packages/core/dist/path-validation-utils.d.ts +75 -0
  56. package/packages/core/dist/path-validation-utils.js +238 -0
  57. package/packages/core/dist/path-validation-utils.js.map +1 -0
  58. package/packages/core/dist/persistence-interface.d.ts +91 -0
  59. package/packages/core/dist/persistence-interface.js +9 -0
  60. package/packages/core/dist/persistence-interface.js.map +1 -0
  61. package/{dist/components/beads/beads-plan-manager.d.ts → packages/core/dist/plan-manager.d.ts} +15 -15
  62. package/{dist/components/beads/beads-plan-manager.js → packages/core/dist/plan-manager.js} +66 -50
  63. package/packages/core/dist/plan-manager.js.map +1 -0
  64. package/packages/core/dist/project-docs-manager.d.ts +119 -0
  65. package/packages/core/dist/project-docs-manager.js +366 -0
  66. package/packages/core/dist/project-docs-manager.js.map +1 -0
  67. package/packages/core/dist/state-machine-loader.d.ts +61 -0
  68. package/packages/core/dist/state-machine-loader.js +273 -0
  69. package/packages/core/dist/state-machine-loader.js.map +1 -0
  70. package/packages/core/dist/state-machine-types.d.ts +64 -0
  71. package/packages/core/dist/state-machine-types.js +7 -0
  72. package/packages/core/dist/state-machine-types.js.map +1 -0
  73. package/packages/core/dist/state-machine.d.ts +52 -0
  74. package/packages/core/dist/state-machine.js +256 -0
  75. package/packages/core/dist/state-machine.js.map +1 -0
  76. package/packages/core/dist/system-prompt-generator.d.ts +14 -0
  77. package/packages/core/dist/system-prompt-generator.js +42 -0
  78. package/packages/core/dist/system-prompt-generator.js.map +1 -0
  79. package/packages/core/dist/task-backend.d.ts +45 -0
  80. package/packages/core/dist/task-backend.js +176 -0
  81. package/packages/core/dist/task-backend.js.map +1 -0
  82. package/packages/core/dist/template-manager.d.ts +61 -0
  83. package/packages/core/dist/template-manager.js +231 -0
  84. package/packages/core/dist/template-manager.js.map +1 -0
  85. package/packages/core/dist/transition-engine.d.ts +77 -0
  86. package/packages/core/dist/transition-engine.js +244 -0
  87. package/packages/core/dist/transition-engine.js.map +1 -0
  88. package/packages/core/dist/types.d.ts +54 -0
  89. package/packages/core/dist/types.js +5 -0
  90. package/packages/core/dist/workflow-manager.d.ts +89 -0
  91. package/packages/core/dist/workflow-manager.js +468 -0
  92. package/packages/core/dist/workflow-manager.js.map +1 -0
  93. package/packages/core/package.json +33 -0
  94. package/packages/docs/.vitepress/dist/.gitignore +2 -0
  95. package/packages/docs/.vitepress/dist/404.html +23 -0
  96. package/packages/docs/.vitepress/dist/assets/app.Dz3lZH3M.js +1 -0
  97. package/packages/docs/.vitepress/dist/assets/chunks/framework.DZS7lpav.js +19 -0
  98. package/packages/docs/.vitepress/dist/assets/chunks/theme.q5Ewb3F1.js +206 -0
  99. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.js +130 -0
  100. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.lean.js +1 -0
  101. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.js +72 -0
  102. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.lean.js +1 -0
  103. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.js +34 -0
  104. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.lean.js +1 -0
  105. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.js +1 -0
  106. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.lean.js +1 -0
  107. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.js +2 -0
  108. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.lean.js +1 -0
  109. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  110. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  111. package/packages/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  112. package/packages/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  113. package/packages/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  114. package/packages/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  115. package/packages/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  116. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  117. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  118. package/packages/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  119. package/packages/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  120. package/packages/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  121. package/packages/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  122. package/packages/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  123. package/packages/docs/.vitepress/dist/assets/mcp-interaction-pattern.VdvOPuTt.png +0 -0
  124. package/packages/docs/.vitepress/dist/assets/placeholder-demo-greenfield.B8lG_tBI.png +0 -0
  125. package/packages/docs/.vitepress/dist/assets/style.CAgdBzOq.css +1 -0
  126. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.js +50 -0
  127. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.lean.js +1 -0
  128. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.js +24 -0
  129. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.lean.js +1 -0
  130. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.js +15 -0
  131. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.lean.js +1 -0
  132. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.js +157 -0
  133. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.lean.js +1 -0
  134. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.js +143 -0
  135. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.lean.js +1 -0
  136. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.js +1 -0
  137. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.lean.js +1 -0
  138. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.js +23 -0
  139. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.lean.js +1 -0
  140. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.js +43 -0
  141. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.lean.js +1 -0
  142. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.js +2 -0
  143. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.lean.js +1 -0
  144. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.js +3 -0
  145. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.lean.js +1 -0
  146. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.js +7 -0
  147. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.lean.js +1 -0
  148. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.js +1 -0
  149. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.lean.js +1 -0
  150. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.js +1 -0
  151. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.lean.js +1 -0
  152. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.js +1 -0
  153. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.lean.js +1 -0
  154. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.js +1 -0
  155. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.lean.js +1 -0
  156. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.js +1 -0
  157. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.lean.js +1 -0
  158. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.js +1 -0
  159. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.lean.js +1 -0
  160. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.js +1 -0
  161. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.lean.js +1 -0
  162. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.js +1 -0
  163. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.lean.js +1 -0
  164. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.js +1 -0
  165. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.lean.js +1 -0
  166. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.js +1 -0
  167. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.lean.js +1 -0
  168. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.js +1 -0
  169. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.lean.js +1 -0
  170. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.js +1 -0
  171. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.lean.js +1 -0
  172. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.js +1 -0
  173. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.lean.js +1 -0
  174. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.js +1 -0
  175. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.lean.js +1 -0
  176. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.js +1 -0
  177. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.lean.js +1 -0
  178. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.js +1 -0
  179. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.lean.js +1 -0
  180. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.js +1 -0
  181. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.lean.js +1 -0
  182. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.js +1 -0
  183. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.lean.js +1 -0
  184. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.js +1 -0
  185. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.lean.js +1 -0
  186. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.js +1 -0
  187. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.lean.js +1 -0
  188. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.js +1 -0
  189. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.lean.js +1 -0
  190. package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +155 -0
  191. package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +97 -0
  192. package/packages/docs/.vitepress/dist/dev/LOGGING.html +59 -0
  193. package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +30 -0
  194. package/packages/docs/.vitepress/dist/hashmap.json +1 -0
  195. package/packages/docs/.vitepress/dist/index.html +27 -0
  196. package/packages/docs/.vitepress/dist/user/advanced-engineering.html +75 -0
  197. package/packages/docs/.vitepress/dist/user/agent-setup.html +49 -0
  198. package/packages/docs/.vitepress/dist/user/beads-integration.html +40 -0
  199. package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +182 -0
  200. package/packages/docs/.vitepress/dist/user/custom-workflows.html +168 -0
  201. package/packages/docs/.vitepress/dist/user/git-commit-feature.html +30 -0
  202. package/packages/docs/.vitepress/dist/user/how-it-works.html +48 -0
  203. package/packages/docs/.vitepress/dist/user/long-term-memory.html +68 -0
  204. package/packages/docs/.vitepress/dist/user/packaged-workflows.html +27 -0
  205. package/packages/docs/.vitepress/dist/user/tutorial.html +28 -0
  206. package/packages/docs/.vitepress/dist/user/workflow-selection.html +32 -0
  207. package/packages/docs/.vitepress/dist/vp-icons.css +0 -0
  208. package/packages/docs/.vitepress/dist/workflows/adr.html +26 -0
  209. package/packages/docs/.vitepress/dist/workflows/adr.yaml +157 -0
  210. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +26 -0
  211. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.yaml +592 -0
  212. package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +26 -0
  213. package/packages/docs/.vitepress/dist/workflows/boundary-testing.yaml +376 -0
  214. package/packages/docs/.vitepress/dist/workflows/bugfix.html +26 -0
  215. package/packages/docs/.vitepress/dist/workflows/bugfix.yaml +177 -0
  216. package/packages/docs/.vitepress/dist/workflows/business-analysis.html +26 -0
  217. package/packages/docs/.vitepress/dist/workflows/business-analysis.yaml +597 -0
  218. package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +26 -0
  219. package/packages/docs/.vitepress/dist/workflows/c4-analysis.yaml +471 -0
  220. package/packages/docs/.vitepress/dist/workflows/epcc.html +26 -0
  221. package/packages/docs/.vitepress/dist/workflows/epcc.yaml +183 -0
  222. package/packages/docs/.vitepress/dist/workflows/game-beginner.html +26 -0
  223. package/packages/docs/.vitepress/dist/workflows/game-beginner.yaml +434 -0
  224. package/packages/docs/.vitepress/dist/workflows/greenfield.html +26 -0
  225. package/packages/docs/.vitepress/dist/workflows/greenfield.yaml +201 -0
  226. package/packages/docs/.vitepress/dist/workflows/minor.html +26 -0
  227. package/packages/docs/.vitepress/dist/workflows/minor.yaml +138 -0
  228. package/packages/docs/.vitepress/dist/workflows/posts.html +26 -0
  229. package/packages/docs/.vitepress/dist/workflows/posts.yaml +193 -0
  230. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +26 -0
  231. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.yaml +608 -0
  232. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +26 -0
  233. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.yaml +381 -0
  234. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +26 -0
  235. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.yaml +713 -0
  236. package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +26 -0
  237. package/packages/docs/.vitepress/dist/workflows/sdd-feature.yaml +471 -0
  238. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +26 -0
  239. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.yaml +336 -0
  240. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +26 -0
  241. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.yaml +463 -0
  242. package/packages/docs/.vitepress/dist/workflows/slides.html +26 -0
  243. package/packages/docs/.vitepress/dist/workflows/slides.yaml +237 -0
  244. package/packages/docs/.vitepress/dist/workflows/tdd.html +26 -0
  245. package/packages/docs/.vitepress/dist/workflows/tdd.yaml +160 -0
  246. package/packages/docs/.vitepress/dist/workflows/waterfall.html +26 -0
  247. package/packages/docs/.vitepress/dist/workflows/waterfall.yaml +209 -0
  248. package/packages/docs/.vitepress/dist/workflows.html +26 -0
  249. package/packages/docs/package.json +32 -0
  250. package/packages/mcp-server/dist/index.js +10546 -0
  251. package/packages/mcp-server/package.json +41 -0
  252. package/packages/visualizer/dist/WorkflowVisualizer.vue +1147 -0
  253. package/packages/visualizer/dist/index.ts +17 -0
  254. package/packages/visualizer/dist/main.ts +673 -0
  255. package/packages/visualizer/dist/services/BundledWorkflows.ts +35 -0
  256. package/packages/visualizer/dist/services/FileUploadHandler.ts +166 -0
  257. package/packages/visualizer/dist/services/WorkflowLoader.ts +198 -0
  258. package/packages/visualizer/dist/services/YamlParser.ts +248 -0
  259. package/packages/visualizer/dist/services/workflow-list.ts +23 -0
  260. package/packages/visualizer/dist/types/ui-types.ts +84 -0
  261. package/packages/visualizer/dist/types/visualization-types.ts +95 -0
  262. package/packages/visualizer/dist/types/vite-env.d.ts +12 -0
  263. package/packages/visualizer/dist/utils/DomHelpers.ts +206 -0
  264. package/packages/visualizer/dist/utils/ErrorHandler.ts +170 -0
  265. package/packages/visualizer/dist/utils/PlantUMLEncoder.ts +121 -0
  266. package/packages/visualizer/dist/visualization/DiagramRenderer.ts +430 -0
  267. package/packages/visualizer/dist/visualization/LayoutEngine.ts +339 -0
  268. package/packages/visualizer/dist/visualization/PlantUMLRenderer.ts +507 -0
  269. package/packages/visualizer/dist/visualization/StateRenderer.ts +339 -0
  270. package/packages/visualizer/dist/visualization/TransitionRenderer.ts +432 -0
  271. package/packages/visualizer/package.json +39 -0
  272. package/resources/.DS_Store +0 -0
  273. package/resources/agents/architect.yaml +61 -0
  274. package/resources/agents/business-analyst.yaml +60 -0
  275. package/resources/agents/developer.yaml +61 -0
  276. package/resources/state-machine-schema.json +114 -0
  277. package/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  278. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  279. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  280. package/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  281. package/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  282. package/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  283. package/resources/templates/architecture/c4.md +224 -0
  284. package/resources/templates/architecture/freestyle.md +53 -0
  285. package/resources/templates/architecture/game.md +250 -0
  286. package/resources/templates/architecture/none.md +17 -0
  287. package/resources/templates/design/comprehensive.md +207 -0
  288. package/resources/templates/design/freestyle.md +37 -0
  289. package/resources/templates/design/game.md +66 -0
  290. package/resources/templates/design/none.md +17 -0
  291. package/resources/templates/requirements/ears.md +90 -0
  292. package/resources/templates/requirements/freestyle.md +42 -0
  293. package/resources/templates/requirements/game.md +162 -0
  294. package/resources/templates/requirements/none.md +17 -0
  295. package/resources/templates/skills/POWER.md +23 -0
  296. package/resources/templates/skills/SKILL.md +19 -0
  297. package/resources/workflows/adr.yaml +157 -0
  298. package/resources/workflows/big-bang-conversion.yaml +592 -0
  299. package/resources/workflows/boundary-testing.yaml +376 -0
  300. package/resources/workflows/bugfix.yaml +177 -0
  301. package/resources/workflows/business-analysis.yaml +597 -0
  302. package/resources/workflows/c4-analysis.yaml +471 -0
  303. package/resources/workflows/epcc.yaml +183 -0
  304. package/resources/workflows/game-beginner.yaml +434 -0
  305. package/resources/workflows/greenfield.yaml +201 -0
  306. package/resources/workflows/minor.yaml +138 -0
  307. package/resources/workflows/posts.yaml +193 -0
  308. package/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  309. package/resources/workflows/sdd-bugfix.yaml +381 -0
  310. package/resources/workflows/sdd-feature-crowd.yaml +713 -0
  311. package/resources/workflows/sdd-feature.yaml +471 -0
  312. package/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  313. package/resources/workflows/sdd-greenfield.yaml +463 -0
  314. package/resources/workflows/slides.yaml +237 -0
  315. package/resources/workflows/tdd.yaml +160 -0
  316. package/resources/workflows/waterfall.yaml +209 -0
  317. package/dist/components/beads/beads-instruction-generator.d.ts +0 -44
  318. package/dist/components/beads/beads-instruction-generator.d.ts.map +0 -1
  319. package/dist/components/beads/beads-instruction-generator.js +0 -160
  320. package/dist/components/beads/beads-instruction-generator.js.map +0 -1
  321. package/dist/components/beads/beads-plan-manager.d.ts.map +0 -1
  322. package/dist/components/beads/beads-plan-manager.js.map +0 -1
  323. package/dist/components/beads/beads-task-backend-client.d.ts +0 -43
  324. package/dist/components/beads/beads-task-backend-client.d.ts.map +0 -1
  325. package/dist/components/beads/beads-task-backend-client.js +0 -175
  326. package/dist/components/beads/beads-task-backend-client.js.map +0 -1
  327. package/dist/index.d.ts +0 -9
  328. package/dist/index.d.ts.map +0 -1
  329. package/dist/index.js +0 -74
  330. package/dist/index.js.map +0 -1
  331. package/dist/notification-service.d.ts +0 -14
  332. package/dist/notification-service.d.ts.map +0 -1
  333. package/dist/notification-service.js +0 -18
  334. package/dist/notification-service.js.map +0 -1
  335. package/dist/plugin-system/beads-plugin.d.ts +0 -71
  336. package/dist/plugin-system/beads-plugin.d.ts.map +0 -1
  337. package/dist/plugin-system/beads-plugin.js +0 -465
  338. package/dist/plugin-system/beads-plugin.js.map +0 -1
  339. package/dist/plugin-system/commit-plugin.d.ts +0 -40
  340. package/dist/plugin-system/commit-plugin.d.ts.map +0 -1
  341. package/dist/plugin-system/commit-plugin.js +0 -204
  342. package/dist/plugin-system/commit-plugin.js.map +0 -1
  343. package/dist/plugin-system/index.d.ts +0 -9
  344. package/dist/plugin-system/index.d.ts.map +0 -1
  345. package/dist/plugin-system/index.js +0 -9
  346. package/dist/plugin-system/index.js.map +0 -1
  347. package/dist/plugin-system/plugin-interfaces.d.ts +0 -98
  348. package/dist/plugin-system/plugin-interfaces.d.ts.map +0 -1
  349. package/dist/plugin-system/plugin-interfaces.js +0 -9
  350. package/dist/plugin-system/plugin-interfaces.js.map +0 -1
  351. package/dist/plugin-system/plugin-registry.d.ts +0 -44
  352. package/dist/plugin-system/plugin-registry.d.ts.map +0 -1
  353. package/dist/plugin-system/plugin-registry.js +0 -132
  354. package/dist/plugin-system/plugin-registry.js.map +0 -1
  355. package/dist/resource-handlers/conversation-state.d.ts +0 -15
  356. package/dist/resource-handlers/conversation-state.d.ts.map +0 -1
  357. package/dist/resource-handlers/conversation-state.js +0 -40
  358. package/dist/resource-handlers/conversation-state.js.map +0 -1
  359. package/dist/resource-handlers/development-plan.d.ts +0 -14
  360. package/dist/resource-handlers/development-plan.d.ts.map +0 -1
  361. package/dist/resource-handlers/development-plan.js +0 -31
  362. package/dist/resource-handlers/development-plan.js.map +0 -1
  363. package/dist/resource-handlers/index.d.ts +0 -24
  364. package/dist/resource-handlers/index.d.ts.map +0 -1
  365. package/dist/resource-handlers/index.js +0 -62
  366. package/dist/resource-handlers/index.js.map +0 -1
  367. package/dist/resource-handlers/system-prompt.d.ts +0 -15
  368. package/dist/resource-handlers/system-prompt.d.ts.map +0 -1
  369. package/dist/resource-handlers/system-prompt.js +0 -40
  370. package/dist/resource-handlers/system-prompt.js.map +0 -1
  371. package/dist/resource-handlers/workflow-resource.d.ts +0 -15
  372. package/dist/resource-handlers/workflow-resource.d.ts.map +0 -1
  373. package/dist/resource-handlers/workflow-resource.js +0 -85
  374. package/dist/resource-handlers/workflow-resource.js.map +0 -1
  375. package/dist/response-renderer.d.ts +0 -30
  376. package/dist/response-renderer.d.ts.map +0 -1
  377. package/dist/response-renderer.js +0 -94
  378. package/dist/response-renderer.js.map +0 -1
  379. package/dist/server-config.d.ts +0 -34
  380. package/dist/server-config.d.ts.map +0 -1
  381. package/dist/server-config.js +0 -503
  382. package/dist/server-config.js.map +0 -1
  383. package/dist/server-helpers.d.ts +0 -70
  384. package/dist/server-helpers.d.ts.map +0 -1
  385. package/dist/server-helpers.js +0 -171
  386. package/dist/server-helpers.js.map +0 -1
  387. package/dist/server-implementation.d.ts +0 -74
  388. package/dist/server-implementation.d.ts.map +0 -1
  389. package/dist/server-implementation.js +0 -201
  390. package/dist/server-implementation.js.map +0 -1
  391. package/dist/server.d.ts +0 -6
  392. package/dist/server.d.ts.map +0 -1
  393. package/dist/server.js +0 -5
  394. package/dist/server.js.map +0 -1
  395. package/dist/tool-handlers/base-tool-handler.d.ts +0 -50
  396. package/dist/tool-handlers/base-tool-handler.d.ts.map +0 -1
  397. package/dist/tool-handlers/base-tool-handler.js +0 -81
  398. package/dist/tool-handlers/base-tool-handler.js.map +0 -1
  399. package/dist/tool-handlers/conduct-review.d.ts +0 -49
  400. package/dist/tool-handlers/conduct-review.d.ts.map +0 -1
  401. package/dist/tool-handlers/conduct-review.js +0 -104
  402. package/dist/tool-handlers/conduct-review.js.map +0 -1
  403. package/dist/tool-handlers/get-tool-info.d.ts +0 -75
  404. package/dist/tool-handlers/get-tool-info.d.ts.map +0 -1
  405. package/dist/tool-handlers/get-tool-info.js +0 -168
  406. package/dist/tool-handlers/get-tool-info.js.map +0 -1
  407. package/dist/tool-handlers/index.d.ts +0 -41
  408. package/dist/tool-handlers/index.d.ts.map +0 -1
  409. package/dist/tool-handlers/index.js +0 -71
  410. package/dist/tool-handlers/index.js.map +0 -1
  411. package/dist/tool-handlers/list-workflows.d.ts +0 -35
  412. package/dist/tool-handlers/list-workflows.d.ts.map +0 -1
  413. package/dist/tool-handlers/list-workflows.js +0 -43
  414. package/dist/tool-handlers/list-workflows.js.map +0 -1
  415. package/dist/tool-handlers/no-idea.d.ts +0 -41
  416. package/dist/tool-handlers/no-idea.d.ts.map +0 -1
  417. package/dist/tool-handlers/no-idea.js +0 -29
  418. package/dist/tool-handlers/no-idea.js.map +0 -1
  419. package/dist/tool-handlers/proceed-to-phase.d.ts +0 -41
  420. package/dist/tool-handlers/proceed-to-phase.d.ts.map +0 -1
  421. package/dist/tool-handlers/proceed-to-phase.js +0 -165
  422. package/dist/tool-handlers/proceed-to-phase.js.map +0 -1
  423. package/dist/tool-handlers/reset-development.d.ts +0 -31
  424. package/dist/tool-handlers/reset-development.d.ts.map +0 -1
  425. package/dist/tool-handlers/reset-development.js +0 -48
  426. package/dist/tool-handlers/reset-development.js.map +0 -1
  427. package/dist/tool-handlers/resume-workflow.d.ts +0 -87
  428. package/dist/tool-handlers/resume-workflow.d.ts.map +0 -1
  429. package/dist/tool-handlers/resume-workflow.js +0 -212
  430. package/dist/tool-handlers/resume-workflow.js.map +0 -1
  431. package/dist/tool-handlers/setup-project-docs.d.ts +0 -37
  432. package/dist/tool-handlers/setup-project-docs.d.ts.map +0 -1
  433. package/dist/tool-handlers/setup-project-docs.js +0 -138
  434. package/dist/tool-handlers/setup-project-docs.js.map +0 -1
  435. package/dist/tool-handlers/start-development.d.ts +0 -79
  436. package/dist/tool-handlers/start-development.d.ts.map +0 -1
  437. package/dist/tool-handlers/start-development.js +0 -484
  438. package/dist/tool-handlers/start-development.js.map +0 -1
  439. package/dist/tool-handlers/whats-next.d.ts +0 -41
  440. package/dist/tool-handlers/whats-next.d.ts.map +0 -1
  441. package/dist/tool-handlers/whats-next.js +0 -123
  442. package/dist/tool-handlers/whats-next.js.map +0 -1
  443. package/dist/types.d.ts +0 -119
  444. package/dist/types.d.ts.map +0 -1
  445. package/dist/types.js +0 -5
  446. package/dist/version-info.d.ts +0 -30
  447. package/dist/version-info.d.ts.map +0 -1
  448. package/dist/version-info.js +0 -178
  449. package/dist/version-info.js.map +0 -1
  450. package/skill/SKILL.md +0 -28
  451. /package/{dist → packages/core/dist}/types.js.map +0 -0
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Persistence Interface
3
+ *
4
+ * Defines the contract for conversation state and interaction log persistence.
5
+ * This interface abstracts the storage mechanism, allowing for different
6
+ * implementations (SQLite, file-based, etc.) to be used interchangeably.
7
+ */
8
+ import type { ConversationState, InteractionLog } from './types.js';
9
+ /**
10
+ * Interface for persistence operations
11
+ *
12
+ * Implementations must handle errors gracefully, especially user-corrupted data:
13
+ * - Missing files/data should return null or empty arrays
14
+ * - Corrupted data should be logged but not crash the application
15
+ * - Partial recovery should be attempted when possible (e.g., skip corrupted lines)
16
+ */
17
+ export interface IPersistence {
18
+ /**
19
+ * Initialize the persistence layer
20
+ * Creates necessary storage structures (tables, directories, etc.)
21
+ *
22
+ * @throws Error if initialization fails
23
+ */
24
+ initialize(): Promise<void>;
25
+ /**
26
+ * Save or update a conversation state
27
+ *
28
+ * @param state - The conversation state to save
29
+ * @throws Error if save operation fails
30
+ */
31
+ saveConversationState(state: ConversationState): Promise<void>;
32
+ /**
33
+ * Get a conversation state by ID
34
+ *
35
+ * @param conversationId - The conversation ID to retrieve
36
+ * @returns The conversation state, or null if not found or corrupted
37
+ */
38
+ getConversationState(conversationId: string): Promise<ConversationState | null>;
39
+ /**
40
+ * Get all conversation states
41
+ *
42
+ * @returns Array of all conversation states (skips corrupted entries)
43
+ */
44
+ getAllConversationStates(): Promise<ConversationState[]>;
45
+ /**
46
+ * Delete a conversation state
47
+ *
48
+ * @param conversationId - The conversation ID to delete
49
+ * @returns True if deleted, false if not found
50
+ */
51
+ deleteConversationState(conversationId: string): Promise<boolean>;
52
+ /**
53
+ * Log an interaction
54
+ *
55
+ * @param log - The interaction log entry to save
56
+ * @throws Error if logging fails
57
+ */
58
+ logInteraction(log: InteractionLog): Promise<void>;
59
+ /**
60
+ * Get interaction logs for a conversation
61
+ *
62
+ * @param conversationId - The conversation ID to get logs for
63
+ * @returns Array of interaction logs (skips corrupted entries, empty if none exist)
64
+ */
65
+ getInteractionLogs(conversationId: string): Promise<InteractionLog[]>;
66
+ /**
67
+ * Get interaction logs by conversation ID (alias for compatibility)
68
+ *
69
+ * @param conversationId - The conversation ID to get logs for
70
+ * @returns Array of interaction logs (skips corrupted entries, empty if none exist)
71
+ */
72
+ getInteractionsByConversationId(conversationId: string): Promise<InteractionLog[]>;
73
+ /**
74
+ * Soft delete interaction logs for a conversation
75
+ * (Actual behavior depends on implementation - may be hard delete)
76
+ *
77
+ * @param conversationId - The conversation ID to delete logs for
78
+ */
79
+ softDeleteInteractionLogs(conversationId: string): Promise<void>;
80
+ /**
81
+ * Reset conversation state (update timestamp)
82
+ * Used for testing and state management
83
+ *
84
+ * @param conversationId - The conversation ID to reset
85
+ */
86
+ resetConversationState(conversationId: string): Promise<void>;
87
+ /**
88
+ * Close the persistence layer and clean up resources
89
+ */
90
+ close(): Promise<void>;
91
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Persistence Interface
3
+ *
4
+ * Defines the contract for conversation state and interaction log persistence.
5
+ * This interface abstracts the storage mechanism, allowing for different
6
+ * implementations (SQLite, file-based, etc.) to be used interchangeably.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=persistence-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence-interface.js","sourceRoot":"","sources":["../src/persistence-interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,14 +1,14 @@
1
1
  /**
2
- * Beads Plan Manager
2
+ * Plan Manager
3
3
  *
4
- * Beads-specific implementation of IPlanManager.
5
- * Manages plan files optimized for beads task management workflow.
4
+ * Handles the creation, updating, and maintenance of project development plan files.
5
+ * Manages markdown plan files that serve as long-term project memory.
6
+ * Supports custom state machine definitions for dynamic plan file generation.
6
7
  */
7
- import { type IPlanManager, type PlanFileInfo, type YamlStateMachine, type TaskBackendConfig } from '@codemcp/workflows-core';
8
- /**
9
- * Beads-specific plan manager implementation
10
- */
11
- export declare class BeadsPlanManager implements IPlanManager {
8
+ import type { YamlStateMachine } from './state-machine-types.js';
9
+ import type { TaskBackendConfig } from './task-backend.js';
10
+ import type { IPlanManager, PlanFileInfo } from './interfaces/plan-manager.interface.js';
11
+ export declare class PlanManager implements IPlanManager {
12
12
  private stateMachine;
13
13
  /**
14
14
  * Set the state machine definition for dynamic plan generation
@@ -27,15 +27,15 @@ export declare class BeadsPlanManager implements IPlanManager {
27
27
  */
28
28
  ensurePlanFile(planFilePath: string, projectPath: string, gitBranch: string): Promise<void>;
29
29
  /**
30
- * Create initial plan file optimized for beads workflow
30
+ * Create initial plan file with template content
31
31
  */
32
- private createInitialBeadsPlanFile;
32
+ private createInitialPlanFile;
33
33
  /**
34
- * Generate initial plan file content optimized for beads workflow
34
+ * Generate initial plan file content based on state machine definition
35
35
  */
36
- private generateBeadsInitialPlanContent;
36
+ private generateInitialPlanContent;
37
37
  /**
38
- * Update plan file with new content
38
+ * Update plan file with new content (this is typically done by the LLM)
39
39
  */
40
40
  updatePlanFile(planFilePath: string, content: string): Promise<void>;
41
41
  /**
@@ -43,7 +43,7 @@ export declare class BeadsPlanManager implements IPlanManager {
43
43
  */
44
44
  getPlanFileContent(planFilePath: string): Promise<string>;
45
45
  /**
46
- * Generate phase-specific plan file guidance optimized for beads
46
+ * Generate phase-specific plan file guidance based on state machine
47
47
  */
48
48
  generatePlanFileGuidance(phase: string): string;
49
49
  /**
@@ -60,7 +60,7 @@ export declare class BeadsPlanManager implements IPlanManager {
60
60
  private capitalizePhase;
61
61
  /**
62
62
  * Generate workflow documentation URL for predefined workflows
63
+ * Returns undefined for custom workflows
63
64
  */
64
65
  private generateWorkflowDocumentationUrl;
65
66
  }
66
- //# sourceMappingURL=beads-plan-manager.d.ts.map
@@ -1,25 +1,24 @@
1
1
  /**
2
- * Beads Plan Manager
2
+ * Plan Manager
3
3
  *
4
- * Beads-specific implementation of IPlanManager.
5
- * Manages plan files optimized for beads task management workflow.
4
+ * Handles the creation, updating, and maintenance of project development plan files.
5
+ * Manages markdown plan files that serve as long-term project memory.
6
+ * Supports custom state machine definitions for dynamic plan file generation.
6
7
  */
7
- import { createLogger, getPathBasename, } from '@codemcp/workflows-core';
8
8
  import { writeFile, readFile, access } from 'node:fs/promises';
9
9
  import { dirname } from 'node:path';
10
10
  import { mkdir } from 'node:fs/promises';
11
- const logger = createLogger('BeadsPlanManager');
12
- /**
13
- * Beads-specific plan manager implementation
14
- */
15
- export class BeadsPlanManager {
11
+ import { createLogger } from './logger.js';
12
+ import { getPathBasename } from './path-validation-utils.js';
13
+ const logger = createLogger('PlanManager');
14
+ export class PlanManager {
16
15
  stateMachine = null;
17
16
  /**
18
17
  * Set the state machine definition for dynamic plan generation
19
18
  */
20
19
  setStateMachine(stateMachine) {
21
20
  this.stateMachine = stateMachine;
22
- logger.debug('State machine set for beads plan manager', {
21
+ logger.debug('State machine set for plan manager', {
23
22
  name: stateMachine.name,
24
23
  phases: Object.keys(stateMachine.states),
25
24
  });
@@ -28,8 +27,9 @@ export class BeadsPlanManager {
28
27
  * Set the task backend configuration
29
28
  */
30
29
  setTaskBackend(taskBackend) {
31
- // Task backend is implicit for beads plan manager (always beads)
32
- logger.debug('Task backend set for beads plan manager', {
30
+ // Default plan manager only supports markdown backend
31
+ // Task backend information is not stored as it's not used for markdown plan generation
32
+ logger.debug('Task backend set for plan manager (markdown mode)', {
33
33
  backend: taskBackend.backend,
34
34
  available: taskBackend.isAvailable,
35
35
  });
@@ -58,28 +58,28 @@ export class BeadsPlanManager {
58
58
  * Create initial plan file if it doesn't exist
59
59
  */
60
60
  async ensurePlanFile(planFilePath, projectPath, gitBranch) {
61
- logger.debug('Ensuring beads plan file exists', {
61
+ logger.debug('Ensuring plan file exists', {
62
62
  planFilePath,
63
63
  projectPath,
64
64
  gitBranch,
65
65
  });
66
66
  const planInfo = await this.getPlanFileInfo(planFilePath);
67
67
  if (!planInfo.exists) {
68
- logger.info('Plan file not found, creating beads-optimized plan', {
68
+ logger.info('Plan file not found, creating initial plan', {
69
69
  planFilePath,
70
70
  });
71
- await this.createInitialBeadsPlanFile(planFilePath, projectPath, gitBranch);
72
- logger.info('Beads plan file created successfully', { planFilePath });
71
+ await this.createInitialPlanFile(planFilePath, projectPath, gitBranch);
72
+ logger.info('Initial plan file created successfully', { planFilePath });
73
73
  }
74
74
  else {
75
75
  logger.debug('Plan file already exists', { planFilePath });
76
76
  }
77
77
  }
78
78
  /**
79
- * Create initial plan file optimized for beads workflow
79
+ * Create initial plan file with template content
80
80
  */
81
- async createInitialBeadsPlanFile(planFilePath, projectPath, gitBranch) {
82
- logger.debug('Creating beads-optimized plan file', { planFilePath });
81
+ async createInitialPlanFile(planFilePath, projectPath, gitBranch) {
82
+ logger.debug('Creating initial plan file', { planFilePath });
83
83
  try {
84
84
  // Ensure directory exists
85
85
  await mkdir(dirname(planFilePath), { recursive: true });
@@ -88,25 +88,25 @@ export class BeadsPlanManager {
88
88
  });
89
89
  const projectName = getPathBasename(projectPath, 'Unknown Project');
90
90
  const branchInfo = gitBranch !== 'no-git' ? ` (${gitBranch} branch)` : '';
91
- const initialContent = this.generateBeadsInitialPlanContent(projectName, branchInfo);
91
+ const initialContent = this.generateInitialPlanContent(projectName, branchInfo);
92
92
  await writeFile(planFilePath, initialContent, 'utf-8');
93
- logger.info('Beads plan file written successfully', {
93
+ logger.info('Initial plan file written successfully', {
94
94
  planFilePath,
95
95
  contentLength: initialContent.length,
96
96
  projectName,
97
97
  });
98
98
  }
99
99
  catch (error) {
100
- logger.error('Failed to create beads plan file', error, {
100
+ logger.error('Failed to create initial plan file', error, {
101
101
  planFilePath,
102
102
  });
103
103
  throw error;
104
104
  }
105
105
  }
106
106
  /**
107
- * Generate initial plan file content optimized for beads workflow
107
+ * Generate initial plan file content based on state machine definition
108
108
  */
109
- generateBeadsInitialPlanContent(projectName, branchInfo) {
109
+ generateInitialPlanContent(projectName, branchInfo) {
110
110
  const timestamp = new Date().toISOString().split('T')[0];
111
111
  if (!this.stateMachine) {
112
112
  throw new Error('State machine not set. This should not happen as state machine is always loaded.');
@@ -123,39 +123,44 @@ export class BeadsPlanManager {
123
123
 
124
124
  ## Goal
125
125
  *Define what you're building or fixing - this will be updated as requirements are gathered*
126
+ `;
127
+ content += `## Key Decisions
128
+ *Important decisions will be documented here as they are made*
126
129
 
127
- ## ${this.capitalizePhase(initialPhase)}
128
- <!-- beads-phase-id: TBD -->
130
+ ## Notes
131
+ *Additional context and observations*
132
+
133
+ `;
134
+ content += `## ${this.capitalizePhase(initialPhase)}
129
135
  ### Tasks
136
+ - [ ] *Tasks will be added as they are identified*
130
137
 
131
- *Tasks managed via \`bd\` CLI*
138
+ ### Completed
139
+ - [x] Created development plan file
132
140
 
133
141
  `;
134
- // Generate sections for each phase with beads-specific guidance
142
+ // Generate simple sections for each phase
135
143
  for (const phase of phases) {
136
144
  if (phase !== initialPhase) {
137
145
  content += `## ${this.capitalizePhase(phase)}
138
- <!-- beads-phase-id: TBD -->
139
146
  ### Tasks
147
+ - [ ] *To be added when this phase becomes active*
140
148
 
141
- *Tasks managed via \`bd\` CLI*
149
+ ### Completed
150
+ *None yet*
142
151
 
143
152
  `;
144
153
  }
145
154
  }
146
- content += `## Key Decisions
147
- *Important decisions will be documented here as they are made*
148
-
149
- ## Notes
150
- *Additional context and observations*
155
+ content += `
151
156
 
152
157
  ---
153
- *This plan is maintained by the LLM and uses beads CLI for task management. Tool responses provide guidance on which bd commands to use for task management.*
158
+ *This plan is maintained by the LLM. Tool responses provide guidance on which section to focus on and what tasks to work on.*
154
159
  `;
155
160
  return content;
156
161
  }
157
162
  /**
158
- * Update plan file with new content
163
+ * Update plan file with new content (this is typically done by the LLM)
159
164
  */
160
165
  async updatePlanFile(planFilePath, content) {
161
166
  // Ensure directory exists
@@ -173,41 +178,51 @@ export class BeadsPlanManager {
173
178
  return planInfo.content || '';
174
179
  }
175
180
  /**
176
- * Generate phase-specific plan file guidance optimized for beads
181
+ * Generate phase-specific plan file guidance based on state machine
177
182
  */
178
183
  generatePlanFileGuidance(phase) {
184
+ if (phase === null || phase === undefined) {
185
+ throw new Error('Phase parameter cannot be null or undefined');
186
+ }
187
+ if (typeof phase !== 'string') {
188
+ throw new Error('Phase parameter must be a string');
189
+ }
190
+ if (phase.trim() === '') {
191
+ throw new Error('Phase parameter cannot be empty');
192
+ }
179
193
  if (!this.stateMachine) {
180
194
  throw new Error('State machine not set. This should not happen as state machine is always loaded.');
181
195
  }
182
196
  const phaseDefinition = this.stateMachine.states[phase];
183
197
  if (!phaseDefinition) {
184
- logger.warn('Unknown phase for beads plan file guidance', { phase });
185
- return `Track key decisions and take notes in the plan file. Use bd CLI for all task management.`;
198
+ logger.warn('Unknown phase for plan file guidance', { phase });
199
+ return `Update the ${this.capitalizePhase(phase)} section with current progress and mark completed tasks.`;
186
200
  }
187
- return `Track key decisions and take notes in the plan file. Use bd CLI exclusively for task management - never use checkboxes. Document important decisions in the Key Decisions section.`;
201
+ const capitalizedPhase = this.capitalizePhase(phase);
202
+ return `Update the ${capitalizedPhase} section with progress. Mark completed tasks with [x] and add new tasks as they are identified.`;
188
203
  }
189
204
  /**
190
205
  * Delete plan file
191
206
  */
192
207
  async deletePlanFile(planFilePath) {
193
- logger.debug('Deleting beads plan file', { planFilePath });
208
+ logger.debug('Deleting plan file', { planFilePath });
194
209
  try {
195
210
  // Check if file exists first
196
211
  await access(planFilePath);
197
212
  // Import unlink dynamically to avoid issues
198
213
  const { unlink } = await import('node:fs/promises');
199
214
  await unlink(planFilePath);
200
- logger.info('Beads plan file deleted successfully', { planFilePath });
215
+ logger.info('Plan file deleted successfully', { planFilePath });
201
216
  return true;
202
217
  }
203
218
  catch (error) {
204
219
  if (error.code === 'ENOENT') {
205
- logger.debug('Beads plan file does not exist, nothing to delete', {
220
+ logger.debug('Plan file does not exist, nothing to delete', {
206
221
  planFilePath,
207
222
  });
208
223
  return true; // Consider it successful if file doesn't exist
209
224
  }
210
- logger.error('Failed to delete beads plan file', error, {
225
+ logger.error('Failed to delete plan file', error, {
211
226
  planFilePath,
212
227
  });
213
228
  throw error;
@@ -217,24 +232,24 @@ export class BeadsPlanManager {
217
232
  * Ensure plan file is deleted (verify deletion)
218
233
  */
219
234
  async ensurePlanFileDeleted(planFilePath) {
220
- logger.debug('Ensuring beads plan file is deleted', { planFilePath });
235
+ logger.debug('Ensuring plan file is deleted', { planFilePath });
221
236
  try {
222
237
  await access(planFilePath);
223
238
  // If we reach here, file still exists
224
- logger.warn('Beads plan file still exists after deletion attempt', {
239
+ logger.warn('Plan file still exists after deletion attempt', {
225
240
  planFilePath,
226
241
  });
227
242
  return false;
228
243
  }
229
244
  catch (error) {
230
245
  if (error.code === 'ENOENT') {
231
- logger.debug('Beads plan file successfully deleted (does not exist)', {
246
+ logger.debug('Plan file successfully deleted (does not exist)', {
232
247
  planFilePath,
233
248
  });
234
249
  return true;
235
250
  }
236
251
  // Some other error occurred
237
- logger.error('Error checking beads plan file deletion', error, {
252
+ logger.error('Error checking plan file deletion', error, {
238
253
  planFilePath,
239
254
  });
240
255
  throw error;
@@ -251,6 +266,7 @@ export class BeadsPlanManager {
251
266
  }
252
267
  /**
253
268
  * Generate workflow documentation URL for predefined workflows
269
+ * Returns undefined for custom workflows
254
270
  */
255
271
  generateWorkflowDocumentationUrl(workflowName) {
256
272
  // Don't generate URL for custom workflows
@@ -261,4 +277,4 @@ export class BeadsPlanManager {
261
277
  return `https://mrsimpson.github.io/responsible-vibe-mcp/workflows/${workflowName}`;
262
278
  }
263
279
  }
264
- //# sourceMappingURL=beads-plan-manager.js.map
280
+ //# sourceMappingURL=plan-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-manager.js","sourceRoot":"","sources":["../src/plan-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Project Docs Manager
3
+ *
4
+ * Manages project documentation artifacts (architecture.md, requirements.md, design.md)
5
+ * separate from the workflow-specific plan files. Handles creation, validation, and
6
+ * path resolution for project documents. Now supports both template creation and
7
+ * file linking via symlinks.
8
+ */
9
+ import { TemplateManager, TemplateOptions } from './template-manager.js';
10
+ export interface ProjectDocsInfo {
11
+ architecture: {
12
+ path: string;
13
+ exists: boolean;
14
+ };
15
+ requirements: {
16
+ path: string;
17
+ exists: boolean;
18
+ };
19
+ design: {
20
+ path: string;
21
+ exists: boolean;
22
+ };
23
+ }
24
+ export interface CreateOrLinkResult {
25
+ created: string[];
26
+ linked: string[];
27
+ skipped: string[];
28
+ }
29
+ export declare class ProjectDocsManager {
30
+ templateManager: TemplateManager;
31
+ constructor();
32
+ /**
33
+ * Get project docs directory path
34
+ */
35
+ getDocsPath(projectPath: string): string;
36
+ /**
37
+ * Determine the appropriate extension for a document based on source path
38
+ */
39
+ private getDocumentExtension;
40
+ /**
41
+ * Get the target filename for a document type
42
+ */
43
+ private getDocumentFilename;
44
+ /**
45
+ * Get paths for all project documents
46
+ */
47
+ getDocumentPaths(projectPath: string): {
48
+ architecture: string;
49
+ requirements: string;
50
+ design: string;
51
+ };
52
+ /**
53
+ * Get paths for all project documents with dynamic extensions based on source paths
54
+ */
55
+ getDocumentPathsWithExtensions(projectPath: string, sourcePaths?: Partial<{
56
+ architecture: string;
57
+ requirements: string;
58
+ design: string;
59
+ }>): Promise<{
60
+ architecture: string;
61
+ requirements: string;
62
+ design: string;
63
+ }>;
64
+ /**
65
+ * Check which project documents exist
66
+ */
67
+ getProjectDocsInfo(projectPath: string): Promise<ProjectDocsInfo>;
68
+ /**
69
+ * Create project documents using templates (legacy method for backward compatibility)
70
+ */
71
+ createProjectDocs(projectPath: string, options?: TemplateOptions): Promise<{
72
+ created: string[];
73
+ skipped: string[];
74
+ }>;
75
+ /**
76
+ * Create or link project documents using templates and/or file paths
77
+ */
78
+ createOrLinkProjectDocs(projectPath: string, templateOptions?: Partial<TemplateOptions>, filePaths?: Partial<{
79
+ architecture: string;
80
+ requirements: string;
81
+ design: string;
82
+ }>): Promise<CreateOrLinkResult>;
83
+ /**
84
+ * Create a symlink to an existing file
85
+ */
86
+ createSymlink(sourcePath: string, targetPath: string): Promise<void>;
87
+ /**
88
+ * Remove existing document or symlink
89
+ */
90
+ private removeExistingDocument;
91
+ /**
92
+ * Create a single document from template
93
+ */
94
+ private createDocument;
95
+ /**
96
+ * Get variable substitutions for workflow instructions
97
+ */
98
+ getVariableSubstitutions(projectPath: string, gitBranch?: string): Record<string, string>;
99
+ /**
100
+ * Get variable substitutions for workflow instructions with dynamic paths
101
+ */
102
+ getVariableSubstitutionsWithExtensions(projectPath: string, sourcePaths?: Partial<{
103
+ architecture: string;
104
+ requirements: string;
105
+ design: string;
106
+ }>): Promise<Record<string, string>>;
107
+ /**
108
+ * Read a project document - returns the path for LLM to read as needed
109
+ */
110
+ readDocument(projectPath: string, type: 'architecture' | 'requirements' | 'design'): Promise<string>;
111
+ /**
112
+ * Check if all project documents exist
113
+ */
114
+ allDocumentsExist(projectPath: string): Promise<boolean>;
115
+ /**
116
+ * Check if a document is a symlink
117
+ */
118
+ isSymlink(projectPath: string, type: 'architecture' | 'requirements' | 'design'): Promise<boolean>;
119
+ }