@lbruton/specflow 3.0.0

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 (414) hide show
  1. package/CHANGELOG.md +955 -0
  2. package/LICENSE +674 -0
  3. package/README.ar.md +314 -0
  4. package/README.de.md +314 -0
  5. package/README.es.md +314 -0
  6. package/README.fr.md +314 -0
  7. package/README.it.md +314 -0
  8. package/README.ja.md +316 -0
  9. package/README.ko.md +314 -0
  10. package/README.md +239 -0
  11. package/README.pt.md +314 -0
  12. package/README.ru.md +314 -0
  13. package/README.zh.md +314 -0
  14. package/dist/__tests__/config.test.d.ts +2 -0
  15. package/dist/__tests__/config.test.d.ts.map +1 -0
  16. package/dist/__tests__/config.test.js +264 -0
  17. package/dist/__tests__/config.test.js.map +1 -0
  18. package/dist/__tests__/index-args.test.d.ts +2 -0
  19. package/dist/__tests__/index-args.test.d.ts.map +1 -0
  20. package/dist/__tests__/index-args.test.js +43 -0
  21. package/dist/__tests__/index-args.test.js.map +1 -0
  22. package/dist/__tests__/index-entrypoint.test.d.ts +2 -0
  23. package/dist/__tests__/index-entrypoint.test.d.ts.map +1 -0
  24. package/dist/__tests__/index-entrypoint.test.js +23 -0
  25. package/dist/__tests__/index-entrypoint.test.js.map +1 -0
  26. package/dist/config.d.ts +26 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +188 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/core/__tests__/git-utils.test.d.ts +2 -0
  31. package/dist/core/__tests__/git-utils.test.d.ts.map +1 -0
  32. package/dist/core/__tests__/git-utils.test.js +179 -0
  33. package/dist/core/__tests__/git-utils.test.js.map +1 -0
  34. package/dist/core/__tests__/mdx-validator.test.d.ts +2 -0
  35. package/dist/core/__tests__/mdx-validator.test.d.ts.map +1 -0
  36. package/dist/core/__tests__/mdx-validator.test.js +42 -0
  37. package/dist/core/__tests__/mdx-validator.test.js.map +1 -0
  38. package/dist/core/__tests__/path-utils.test.d.ts +2 -0
  39. package/dist/core/__tests__/path-utils.test.d.ts.map +1 -0
  40. package/dist/core/__tests__/path-utils.test.js +344 -0
  41. package/dist/core/__tests__/path-utils.test.js.map +1 -0
  42. package/dist/core/__tests__/project-registry.test.d.ts +2 -0
  43. package/dist/core/__tests__/project-registry.test.d.ts.map +1 -0
  44. package/dist/core/__tests__/project-registry.test.js +62 -0
  45. package/dist/core/__tests__/project-registry.test.js.map +1 -0
  46. package/dist/core/__tests__/security-utils.test.d.ts +2 -0
  47. package/dist/core/__tests__/security-utils.test.d.ts.map +1 -0
  48. package/dist/core/__tests__/security-utils.test.js +643 -0
  49. package/dist/core/__tests__/security-utils.test.js.map +1 -0
  50. package/dist/core/__tests__/task-validator.test.d.ts +2 -0
  51. package/dist/core/__tests__/task-validator.test.d.ts.map +1 -0
  52. package/dist/core/__tests__/task-validator.test.js +237 -0
  53. package/dist/core/__tests__/task-validator.test.js.map +1 -0
  54. package/dist/core/archive-service.d.ts +10 -0
  55. package/dist/core/archive-service.d.ts.map +1 -0
  56. package/dist/core/archive-service.js +99 -0
  57. package/dist/core/archive-service.js.map +1 -0
  58. package/dist/core/dashboard-session.d.ts +49 -0
  59. package/dist/core/dashboard-session.d.ts.map +1 -0
  60. package/dist/core/dashboard-session.js +132 -0
  61. package/dist/core/dashboard-session.js.map +1 -0
  62. package/dist/core/git-utils.d.ts +25 -0
  63. package/dist/core/git-utils.d.ts.map +1 -0
  64. package/dist/core/git-utils.js +87 -0
  65. package/dist/core/git-utils.js.map +1 -0
  66. package/dist/core/global-dir.d.ts +44 -0
  67. package/dist/core/global-dir.d.ts.map +1 -0
  68. package/dist/core/global-dir.js +74 -0
  69. package/dist/core/global-dir.js.map +1 -0
  70. package/dist/core/implementation-log-migrator.d.ts +41 -0
  71. package/dist/core/implementation-log-migrator.d.ts.map +1 -0
  72. package/dist/core/implementation-log-migrator.js +258 -0
  73. package/dist/core/implementation-log-migrator.js.map +1 -0
  74. package/dist/core/mdx-validator.d.ts +14 -0
  75. package/dist/core/mdx-validator.d.ts.map +1 -0
  76. package/dist/core/mdx-validator.js +34 -0
  77. package/dist/core/mdx-validator.js.map +1 -0
  78. package/dist/core/parser.d.ts +12 -0
  79. package/dist/core/parser.d.ts.map +1 -0
  80. package/dist/core/parser.js +144 -0
  81. package/dist/core/parser.js.map +1 -0
  82. package/dist/core/path-utils.d.ts +63 -0
  83. package/dist/core/path-utils.d.ts.map +1 -0
  84. package/dist/core/path-utils.js +288 -0
  85. package/dist/core/path-utils.js.map +1 -0
  86. package/dist/core/project-registry.d.ts +94 -0
  87. package/dist/core/project-registry.d.ts.map +1 -0
  88. package/dist/core/project-registry.js +293 -0
  89. package/dist/core/project-registry.js.map +1 -0
  90. package/dist/core/security-utils.d.ts +97 -0
  91. package/dist/core/security-utils.d.ts.map +1 -0
  92. package/dist/core/security-utils.js +264 -0
  93. package/dist/core/security-utils.js.map +1 -0
  94. package/dist/core/task-parser.d.ts +63 -0
  95. package/dist/core/task-parser.d.ts.map +1 -0
  96. package/dist/core/task-parser.js +332 -0
  97. package/dist/core/task-parser.js.map +1 -0
  98. package/dist/core/task-validator.d.ts +35 -0
  99. package/dist/core/task-validator.d.ts.map +1 -0
  100. package/dist/core/task-validator.js +236 -0
  101. package/dist/core/task-validator.js.map +1 -0
  102. package/dist/core/workspace-initializer.d.ts +16 -0
  103. package/dist/core/workspace-initializer.d.ts.map +1 -0
  104. package/dist/core/workspace-initializer.js +168 -0
  105. package/dist/core/workspace-initializer.js.map +1 -0
  106. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts +2 -0
  107. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts.map +1 -0
  108. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js +69 -0
  109. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js.map +1 -0
  110. package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts +2 -0
  111. package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts.map +1 -0
  112. package/dist/dashboard/__tests__/multi-server-approvals-content.test.js +116 -0
  113. package/dist/dashboard/__tests__/multi-server-approvals-content.test.js.map +1 -0
  114. package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts +2 -0
  115. package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts.map +1 -0
  116. package/dist/dashboard/__tests__/watcher-error-handling.test.js +118 -0
  117. package/dist/dashboard/__tests__/watcher-error-handling.test.js.map +1 -0
  118. package/dist/dashboard/approval-storage.d.ts +139 -0
  119. package/dist/dashboard/approval-storage.d.ts.map +1 -0
  120. package/dist/dashboard/approval-storage.js +586 -0
  121. package/dist/dashboard/approval-storage.js.map +1 -0
  122. package/dist/dashboard/execution-history-manager.d.ts +52 -0
  123. package/dist/dashboard/execution-history-manager.d.ts.map +1 -0
  124. package/dist/dashboard/execution-history-manager.js +161 -0
  125. package/dist/dashboard/execution-history-manager.js.map +1 -0
  126. package/dist/dashboard/implementation-log-manager.d.ts +97 -0
  127. package/dist/dashboard/implementation-log-manager.d.ts.map +1 -0
  128. package/dist/dashboard/implementation-log-manager.js +625 -0
  129. package/dist/dashboard/implementation-log-manager.js.map +1 -0
  130. package/dist/dashboard/job-scheduler.d.ts +91 -0
  131. package/dist/dashboard/job-scheduler.d.ts.map +1 -0
  132. package/dist/dashboard/job-scheduler.js +321 -0
  133. package/dist/dashboard/job-scheduler.js.map +1 -0
  134. package/dist/dashboard/multi-server.d.ts +42 -0
  135. package/dist/dashboard/multi-server.d.ts.map +1 -0
  136. package/dist/dashboard/multi-server.js +1304 -0
  137. package/dist/dashboard/multi-server.js.map +1 -0
  138. package/dist/dashboard/parser.d.ts +19 -0
  139. package/dist/dashboard/parser.d.ts.map +1 -0
  140. package/dist/dashboard/parser.js +290 -0
  141. package/dist/dashboard/parser.js.map +1 -0
  142. package/dist/dashboard/project-manager.d.ts +82 -0
  143. package/dist/dashboard/project-manager.d.ts.map +1 -0
  144. package/dist/dashboard/project-manager.js +257 -0
  145. package/dist/dashboard/project-manager.js.map +1 -0
  146. package/dist/dashboard/public/assets/Inter-Bold-CD3Pr7BX.woff2 +0 -0
  147. package/dist/dashboard/public/assets/Inter-Medium-B_8v_WHh.woff2 +0 -0
  148. package/dist/dashboard/public/assets/Inter-Regular-DRVdRqcI.woff2 +0 -0
  149. package/dist/dashboard/public/assets/Inter-SemiBold-CtskMddL.woff2 +0 -0
  150. package/dist/dashboard/public/assets/JetBrainsMono-Bold-D4WEaHbo.woff2 +0 -0
  151. package/dist/dashboard/public/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
  152. package/dist/dashboard/public/assets/JetBrainsMono-Regular-BQaDgvhP.woff2 +0 -0
  153. package/dist/dashboard/public/assets/Tableau10-B-NsZVaP.js +1 -0
  154. package/dist/dashboard/public/assets/apl-B4CMkyY2.js +1 -0
  155. package/dist/dashboard/public/assets/arc-CtYZ6WTd.js +1 -0
  156. package/dist/dashboard/public/assets/array-BKyUJesY.js +1 -0
  157. package/dist/dashboard/public/assets/asciiarmor-Df11BRmG.js +1 -0
  158. package/dist/dashboard/public/assets/asn1-EdZsLKOL.js +1 -0
  159. package/dist/dashboard/public/assets/asterisk-B-8jnY81.js +1 -0
  160. package/dist/dashboard/public/assets/blockDiagram-c4efeb88-CzEvDZI5.js +118 -0
  161. package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
  162. package/dist/dashboard/public/assets/c4Diagram-c83219d4-CuPd1dkK.js +10 -0
  163. package/dist/dashboard/public/assets/channel-kGGkJUti.js +1 -0
  164. package/dist/dashboard/public/assets/classDiagram-beda092f-CDTLUu9K.js +2 -0
  165. package/dist/dashboard/public/assets/classDiagram-v2-2358418a-BlHqrcgN.js +2 -0
  166. package/dist/dashboard/public/assets/clike-B9uivgTg.js +1 -0
  167. package/dist/dashboard/public/assets/clojure-BMjYHr_A.js +1 -0
  168. package/dist/dashboard/public/assets/clone-CHdfA33T.js +1 -0
  169. package/dist/dashboard/public/assets/cmake-BQqOBYOt.js +1 -0
  170. package/dist/dashboard/public/assets/cobol-CWcv1MsR.js +1 -0
  171. package/dist/dashboard/public/assets/coffeescript-S37ZYGWr.js +1 -0
  172. package/dist/dashboard/public/assets/commonlisp-DBKNyK5s.js +1 -0
  173. package/dist/dashboard/public/assets/createText-1719965b-B3cTooQ1.js +7 -0
  174. package/dist/dashboard/public/assets/crystal-SjHAIU92.js +1 -0
  175. package/dist/dashboard/public/assets/css-BnMrqG3P.js +1 -0
  176. package/dist/dashboard/public/assets/cypher-C_CwsFkJ.js +1 -0
  177. package/dist/dashboard/public/assets/d-pRatUO7H.js +1 -0
  178. package/dist/dashboard/public/assets/diff-DbItnlRl.js +1 -0
  179. package/dist/dashboard/public/assets/dockerfile-BKs6k2Af.js +1 -0
  180. package/dist/dashboard/public/assets/dtd-DF_7sFjM.js +1 -0
  181. package/dist/dashboard/public/assets/dylan-DwRh75JA.js +1 -0
  182. package/dist/dashboard/public/assets/ebnf-CDyGwa7X.js +1 -0
  183. package/dist/dashboard/public/assets/ecl-Cabwm37j.js +1 -0
  184. package/dist/dashboard/public/assets/edges-96097737-CbHatH6o.js +4 -0
  185. package/dist/dashboard/public/assets/eiffel-CnydiIhH.js +1 -0
  186. package/dist/dashboard/public/assets/elm-vLlmbW-K.js +1 -0
  187. package/dist/dashboard/public/assets/erDiagram-0228fc6a-MYCicRH6.js +51 -0
  188. package/dist/dashboard/public/assets/erlang-BNw1qcRV.js +1 -0
  189. package/dist/dashboard/public/assets/factor-kuTfRLto.js +1 -0
  190. package/dist/dashboard/public/assets/fcl-Kvtd6kyn.js +1 -0
  191. package/dist/dashboard/public/assets/flowDb-c6c81e3f-DDm9aBGx.js +10 -0
  192. package/dist/dashboard/public/assets/flowDiagram-50d868cf-zb-JtJG0.js +4 -0
  193. package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-DRD7GAtr.js +1 -0
  194. package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-D5TGPnG-.js +139 -0
  195. package/dist/dashboard/public/assets/forth-Ffai-XNe.js +1 -0
  196. package/dist/dashboard/public/assets/fortran-DYz_wnZ1.js +1 -0
  197. package/dist/dashboard/public/assets/ganttDiagram-a2739b55-Cqst4HhR.js +257 -0
  198. package/dist/dashboard/public/assets/gas-Bneqetm1.js +1 -0
  199. package/dist/dashboard/public/assets/gherkin-heZmZLOM.js +1 -0
  200. package/dist/dashboard/public/assets/gitGraphDiagram-82fe8481-C8JWqtTx.js +70 -0
  201. package/dist/dashboard/public/assets/graph-Lpyd8dqZ.js +1 -0
  202. package/dist/dashboard/public/assets/groovy-D9Dt4D0W.js +1 -0
  203. package/dist/dashboard/public/assets/haskell-Cw1EW3IL.js +1 -0
  204. package/dist/dashboard/public/assets/haxe-H-WmDvRZ.js +1 -0
  205. package/dist/dashboard/public/assets/http-DBlCnlav.js +1 -0
  206. package/dist/dashboard/public/assets/idl-BEugSyMb.js +1 -0
  207. package/dist/dashboard/public/assets/index--_-9KDkB.js +1 -0
  208. package/dist/dashboard/public/assets/index-5325376f-Ngqm3jj1.js +1 -0
  209. package/dist/dashboard/public/assets/index-7POr4IQt.js +1 -0
  210. package/dist/dashboard/public/assets/index-B2wloU4M.js +7 -0
  211. package/dist/dashboard/public/assets/index-BB9i8dPx.js +329 -0
  212. package/dist/dashboard/public/assets/index-BHCmvfMN.js +1 -0
  213. package/dist/dashboard/public/assets/index-BWvyG2sq.js +1 -0
  214. package/dist/dashboard/public/assets/index-BhwV70vC.js +2 -0
  215. package/dist/dashboard/public/assets/index-Bqk8CAAy.js +1 -0
  216. package/dist/dashboard/public/assets/index-CUP35nar.js +1 -0
  217. package/dist/dashboard/public/assets/index-CYy3mVaI.js +1 -0
  218. package/dist/dashboard/public/assets/index-Cqbzr5qD.js +3 -0
  219. package/dist/dashboard/public/assets/index-Cv_FT1Rp.css +1 -0
  220. package/dist/dashboard/public/assets/index-D4J257wx.js +1 -0
  221. package/dist/dashboard/public/assets/index-D9fDAa7f.js +1 -0
  222. package/dist/dashboard/public/assets/index-DFN4bEYo.js +1 -0
  223. package/dist/dashboard/public/assets/index-DQ2Aap_e.js +1 -0
  224. package/dist/dashboard/public/assets/index-Djo38KZb.js +1 -0
  225. package/dist/dashboard/public/assets/index-RZXsuDxo.js +1 -0
  226. package/dist/dashboard/public/assets/index-m5SRqxVX.js +1 -0
  227. package/dist/dashboard/public/assets/infoDiagram-8eee0895-DYMb32US.js +7 -0
  228. package/dist/dashboard/public/assets/init-Gi6I4Gst.js +1 -0
  229. package/dist/dashboard/public/assets/javascript-iXu5QeM3.js +1 -0
  230. package/dist/dashboard/public/assets/journeyDiagram-c64418c1-BgL0JuAb.js +139 -0
  231. package/dist/dashboard/public/assets/julia-DuME0IfC.js +1 -0
  232. package/dist/dashboard/public/assets/katex-XbL3y5x-.js +261 -0
  233. package/dist/dashboard/public/assets/layout-DP9fJAz2.js +1 -0
  234. package/dist/dashboard/public/assets/line-N_NGiB5u.js +1 -0
  235. package/dist/dashboard/public/assets/linear-B1Bl-FQE.js +1 -0
  236. package/dist/dashboard/public/assets/livescript-BwQOo05w.js +1 -0
  237. package/dist/dashboard/public/assets/lua-BgMRiT3U.js +1 -0
  238. package/dist/dashboard/public/assets/mathematica-DTrFuWx2.js +1 -0
  239. package/dist/dashboard/public/assets/mbox-CNhZ1qSd.js +1 -0
  240. package/dist/dashboard/public/assets/mindmap-definition-8da855dc-DuejFf1j.js +415 -0
  241. package/dist/dashboard/public/assets/mirc-CjQqDB4T.js +1 -0
  242. package/dist/dashboard/public/assets/mllike-CXdrOF99.js +1 -0
  243. package/dist/dashboard/public/assets/modelica-Dc1JOy9r.js +1 -0
  244. package/dist/dashboard/public/assets/mscgen-BA5vi2Kp.js +1 -0
  245. package/dist/dashboard/public/assets/mumps-BT43cFF4.js +1 -0
  246. package/dist/dashboard/public/assets/nginx-DdIZxoE0.js +1 -0
  247. package/dist/dashboard/public/assets/nsis-LdVXkNf5.js +1 -0
  248. package/dist/dashboard/public/assets/ntriples-BfvgReVJ.js +1 -0
  249. package/dist/dashboard/public/assets/octave-Ck1zUtKM.js +1 -0
  250. package/dist/dashboard/public/assets/ordinal-Cboi1Yqb.js +1 -0
  251. package/dist/dashboard/public/assets/oz-BzwKVEFT.js +1 -0
  252. package/dist/dashboard/public/assets/pascal--L3eBynH.js +1 -0
  253. package/dist/dashboard/public/assets/path-CbwjOpE9.js +1 -0
  254. package/dist/dashboard/public/assets/perl-CdXCOZ3F.js +1 -0
  255. package/dist/dashboard/public/assets/pieDiagram-a8764435-fJ2uKW1i.js +35 -0
  256. package/dist/dashboard/public/assets/pig-CevX1Tat.js +1 -0
  257. package/dist/dashboard/public/assets/powershell-CFHJl5sT.js +1 -0
  258. package/dist/dashboard/public/assets/properties-C78fOPTZ.js +1 -0
  259. package/dist/dashboard/public/assets/protobuf-ChK-085T.js +1 -0
  260. package/dist/dashboard/public/assets/pug-DeIclll2.js +1 -0
  261. package/dist/dashboard/public/assets/puppet-DMA9R1ak.js +1 -0
  262. package/dist/dashboard/public/assets/python-BuPzkPfP.js +1 -0
  263. package/dist/dashboard/public/assets/q-pXgVlZs6.js +1 -0
  264. package/dist/dashboard/public/assets/quadrantDiagram-1e28029f-Dowa1iq5.js +7 -0
  265. package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
  266. package/dist/dashboard/public/assets/requirementDiagram-08caed73-1PKeJnUu.js +52 -0
  267. package/dist/dashboard/public/assets/rpm-CTu-6PCP.js +1 -0
  268. package/dist/dashboard/public/assets/ruby-B2Rjki9n.js +1 -0
  269. package/dist/dashboard/public/assets/sankeyDiagram-a04cb91d-C3Nu91E8.js +8 -0
  270. package/dist/dashboard/public/assets/sas-B4kiWyti.js +1 -0
  271. package/dist/dashboard/public/assets/scheme-C41bIUwD.js +1 -0
  272. package/dist/dashboard/public/assets/sequenceDiagram-c5b8d532-BbyYeaFb.js +122 -0
  273. package/dist/dashboard/public/assets/shell-CjFT_Tl9.js +1 -0
  274. package/dist/dashboard/public/assets/sieve-C3Gn_uJK.js +1 -0
  275. package/dist/dashboard/public/assets/simple-mode-GW_nhZxv.js +1 -0
  276. package/dist/dashboard/public/assets/smalltalk-CnHTOXQT.js +1 -0
  277. package/dist/dashboard/public/assets/solr-DehyRSwq.js +1 -0
  278. package/dist/dashboard/public/assets/sparql-DkYu6x3z.js +1 -0
  279. package/dist/dashboard/public/assets/spreadsheet-BCZA_wO0.js +1 -0
  280. package/dist/dashboard/public/assets/sql-D0XecflT.js +1 -0
  281. package/dist/dashboard/public/assets/stateDiagram-1ecb1508-BVkb4gIE.js +1 -0
  282. package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-Bm7qug6Q.js +1 -0
  283. package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
  284. package/dist/dashboard/public/assets/styles-b4e223ce-BuqydlKk.js +160 -0
  285. package/dist/dashboard/public/assets/styles-ca3715f6-C8L7peEM.js +207 -0
  286. package/dist/dashboard/public/assets/styles-d45a18b0-BbrCCPkQ.js +116 -0
  287. package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
  288. package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-DQZAHvSt.js +1 -0
  289. package/dist/dashboard/public/assets/swift-BzpIVaGY.js +1 -0
  290. package/dist/dashboard/public/assets/tcl-DVfN8rqt.js +1 -0
  291. package/dist/dashboard/public/assets/textile-CnDTJFAw.js +1 -0
  292. package/dist/dashboard/public/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  293. package/dist/dashboard/public/assets/tiki-DGYXhP31.js +1 -0
  294. package/dist/dashboard/public/assets/timeline-definition-faaaa080-YPoIuE--.js +61 -0
  295. package/dist/dashboard/public/assets/toml-Bm5Em-hy.js +1 -0
  296. package/dist/dashboard/public/assets/troff-wAsdV37c.js +1 -0
  297. package/dist/dashboard/public/assets/ttcn-CfJYG6tj.js +1 -0
  298. package/dist/dashboard/public/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  299. package/dist/dashboard/public/assets/turtle-B1tBg_DP.js +1 -0
  300. package/dist/dashboard/public/assets/vb-CmGdzxic.js +1 -0
  301. package/dist/dashboard/public/assets/vbscript-BuJXcnF6.js +1 -0
  302. package/dist/dashboard/public/assets/velocity-D8B20fx6.js +1 -0
  303. package/dist/dashboard/public/assets/verilog-C6RDOZhf.js +1 -0
  304. package/dist/dashboard/public/assets/vhdl-lSbBsy5d.js +1 -0
  305. package/dist/dashboard/public/assets/webidl-ZXfAyPTL.js +1 -0
  306. package/dist/dashboard/public/assets/xquery-DzFWVndE.js +1 -0
  307. package/dist/dashboard/public/assets/xychartDiagram-f5964ef8-BnI4pVWV.js +7 -0
  308. package/dist/dashboard/public/assets/yacas-BJ4BC0dw.js +1 -0
  309. package/dist/dashboard/public/assets/z80-Hz9HOZM7.js +1 -0
  310. package/dist/dashboard/public/claude-icon-dark.svg +1 -0
  311. package/dist/dashboard/public/claude-icon.svg +1 -0
  312. package/dist/dashboard/public/index.html +16 -0
  313. package/dist/dashboard/settings-manager.d.ts +47 -0
  314. package/dist/dashboard/settings-manager.d.ts.map +1 -0
  315. package/dist/dashboard/settings-manager.js +180 -0
  316. package/dist/dashboard/settings-manager.js.map +1 -0
  317. package/dist/dashboard/utils.d.ts +31 -0
  318. package/dist/dashboard/utils.d.ts.map +1 -0
  319. package/dist/dashboard/utils.js +102 -0
  320. package/dist/dashboard/utils.js.map +1 -0
  321. package/dist/dashboard/watcher.d.ts +32 -0
  322. package/dist/dashboard/watcher.d.ts.map +1 -0
  323. package/dist/dashboard/watcher.js +173 -0
  324. package/dist/dashboard/watcher.js.map +1 -0
  325. package/dist/index.d.ts +13 -0
  326. package/dist/index.d.ts.map +1 -0
  327. package/dist/index.js +380 -0
  328. package/dist/index.js.map +1 -0
  329. package/dist/markdown/templates/code-quality-reviewer-template.md +76 -0
  330. package/dist/markdown/templates/design-template.md +141 -0
  331. package/dist/markdown/templates/implementer-prompt-template.md +122 -0
  332. package/dist/markdown/templates/product-template.md +51 -0
  333. package/dist/markdown/templates/requirements-template.md +73 -0
  334. package/dist/markdown/templates/spec-reviewer-template.md +58 -0
  335. package/dist/markdown/templates/structure-template.md +145 -0
  336. package/dist/markdown/templates/tasks-template.md +182 -0
  337. package/dist/markdown/templates/tech-template.md +99 -0
  338. package/dist/prompts/create-spec.d.ts +3 -0
  339. package/dist/prompts/create-spec.d.ts.map +1 -0
  340. package/dist/prompts/create-spec.js +93 -0
  341. package/dist/prompts/create-spec.js.map +1 -0
  342. package/dist/prompts/create-steering-doc.d.ts +3 -0
  343. package/dist/prompts/create-steering-doc.d.ts.map +1 -0
  344. package/dist/prompts/create-steering-doc.js +73 -0
  345. package/dist/prompts/create-steering-doc.js.map +1 -0
  346. package/dist/prompts/implement-task.d.ts +3 -0
  347. package/dist/prompts/implement-task.d.ts.map +1 -0
  348. package/dist/prompts/implement-task.js +189 -0
  349. package/dist/prompts/implement-task.js.map +1 -0
  350. package/dist/prompts/index.d.ts +15 -0
  351. package/dist/prompts/index.d.ts.map +1 -0
  352. package/dist/prompts/index.js +49 -0
  353. package/dist/prompts/index.js.map +1 -0
  354. package/dist/prompts/inject-spec-workflow-guide.d.ts +3 -0
  355. package/dist/prompts/inject-spec-workflow-guide.d.ts.map +1 -0
  356. package/dist/prompts/inject-spec-workflow-guide.js +47 -0
  357. package/dist/prompts/inject-spec-workflow-guide.js.map +1 -0
  358. package/dist/prompts/inject-steering-guide.d.ts +3 -0
  359. package/dist/prompts/inject-steering-guide.d.ts.map +1 -0
  360. package/dist/prompts/inject-steering-guide.js +51 -0
  361. package/dist/prompts/inject-steering-guide.js.map +1 -0
  362. package/dist/prompts/refresh-tasks.d.ts +3 -0
  363. package/dist/prompts/refresh-tasks.d.ts.map +1 -0
  364. package/dist/prompts/refresh-tasks.js +224 -0
  365. package/dist/prompts/refresh-tasks.js.map +1 -0
  366. package/dist/prompts/spec-status.d.ts +3 -0
  367. package/dist/prompts/spec-status.d.ts.map +1 -0
  368. package/dist/prompts/spec-status.js +75 -0
  369. package/dist/prompts/spec-status.js.map +1 -0
  370. package/dist/prompts/types.d.ts +13 -0
  371. package/dist/prompts/types.d.ts.map +1 -0
  372. package/dist/prompts/types.js +2 -0
  373. package/dist/prompts/types.js.map +1 -0
  374. package/dist/server.d.ts +17 -0
  375. package/dist/server.d.ts.map +1 -0
  376. package/dist/server.js +175 -0
  377. package/dist/server.js.map +1 -0
  378. package/dist/tools/__tests__/projectPath.test.d.ts +2 -0
  379. package/dist/tools/__tests__/projectPath.test.d.ts.map +1 -0
  380. package/dist/tools/__tests__/projectPath.test.js +187 -0
  381. package/dist/tools/__tests__/projectPath.test.js.map +1 -0
  382. package/dist/tools/approvals.d.ts +14 -0
  383. package/dist/tools/approvals.d.ts.map +1 -0
  384. package/dist/tools/approvals.js +501 -0
  385. package/dist/tools/approvals.js.map +1 -0
  386. package/dist/tools/index.d.ts +5 -0
  387. package/dist/tools/index.d.ts.map +1 -0
  388. package/dist/tools/index.js +57 -0
  389. package/dist/tools/index.js.map +1 -0
  390. package/dist/tools/log-implementation.d.ts +5 -0
  391. package/dist/tools/log-implementation.d.ts.map +1 -0
  392. package/dist/tools/log-implementation.js +446 -0
  393. package/dist/tools/log-implementation.js.map +1 -0
  394. package/dist/tools/spec-list.d.ts +5 -0
  395. package/dist/tools/spec-list.d.ts.map +1 -0
  396. package/dist/tools/spec-list.js +144 -0
  397. package/dist/tools/spec-list.js.map +1 -0
  398. package/dist/tools/spec-status.d.ts +5 -0
  399. package/dist/tools/spec-status.d.ts.map +1 -0
  400. package/dist/tools/spec-status.js +238 -0
  401. package/dist/tools/spec-status.js.map +1 -0
  402. package/dist/tools/spec-workflow-guide.d.ts +5 -0
  403. package/dist/tools/spec-workflow-guide.d.ts.map +1 -0
  404. package/dist/tools/spec-workflow-guide.js +580 -0
  405. package/dist/tools/spec-workflow-guide.js.map +1 -0
  406. package/dist/tools/steering-guide.d.ts +5 -0
  407. package/dist/tools/steering-guide.d.ts.map +1 -0
  408. package/dist/tools/steering-guide.js +192 -0
  409. package/dist/tools/steering-guide.js.map +1 -0
  410. package/dist/types.d.ts +186 -0
  411. package/dist/types.d.ts.map +1 -0
  412. package/dist/types.js +13 -0
  413. package/dist/types.js.map +1 -0
  414. package/package.json +105 -0
package/README.ko.md ADDED
@@ -0,0 +1,314 @@
1
+ # Spec Workflow MCP
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@pimzino/spec-workflow-mcp)](https://www.npmjs.com/package/@pimzino/spec-workflow-mcp)
4
+ [![VSCode Extension](https://vsmarketplacebadges.dev/version-short/Pimzino.spec-workflow-mcp.svg)](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp)
5
+
6
+ 실시간 대시보드와 VSCode 확장 프로그램을 갖춘 구조화된 스펙 기반 개발을 위한 Model Context Protocol(MCP) 서버입니다.
7
+
8
+ ## ☕ 이 프로젝트 후원하기
9
+
10
+ <a href="https://buymeacoffee.com/Pimzino" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
11
+
12
+ ## 📺 쇼케이스
13
+
14
+ ### 🔄 승인 시스템 작동 영상
15
+ <a href="https://www.youtube.com/watch?v=C-uEa3mfxd0" target="_blank">
16
+ <img src="https://img.youtube.com/vi/C-uEa3mfxd0/maxresdefault.jpg" alt="Approval System Demo" width="600">
17
+ </a>
18
+
19
+ *승인 시스템 작동 방식 확인: 문서 생성, 대시보드를 통한 승인 요청, 피드백 제공, 수정사항 추적.*
20
+
21
+ ### 📊 대시보드 및 스펙 관리
22
+ <a href="https://www.youtube.com/watch?v=g9qfvjLUWf8" target="_blank">
23
+ <img src="https://img.youtube.com/vi/g9qfvjLUWf8/maxresdefault.jpg" alt="Dashboard Demo" width="600">
24
+ </a>
25
+
26
+ *실시간 대시보드 탐색: 스펙 보기, 진행 상황 추적, 문서 탐색, 개발 워크플로우 모니터링.*
27
+
28
+ ## ✨ 주요 기능
29
+
30
+ - **구조화된 개발 워크플로우** - 순차적 스펙 생성 (요구사항 → 설계 → 작업)
31
+ - **실시간 웹 대시보드** - 실시간 업데이트로 스펙, 작업 및 진행 상황 모니터링
32
+ - **VSCode 확장 프로그램** - VSCode 사용자를 위한 통합 사이드바 대시보드
33
+ - **승인 워크플로우** - 수정사항이 포함된 완전한 승인 프로세스
34
+ - **작업 진행 추적** - 시각적 진행률 표시줄 및 상세 상태
35
+ - **구현 로그** - 코드 통계가 포함된 모든 작업 구현의 검색 가능한 로그
36
+ - **다국어 지원** - 11개 언어로 제공
37
+
38
+ ## 🌍 지원 언어
39
+
40
+ 🇺🇸 English • 🇯🇵 日本語 • 🇨🇳 中文 • 🇪🇸 Español • 🇧🇷 Português • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇹 Italiano • 🇰🇷 한국어 • 🇸🇦 العربية
41
+
42
+ ## 🚀 빠른 시작
43
+
44
+ ### 1단계: AI 도구에 추가
45
+
46
+ MCP 구성에 추가 (아래 클라이언트별 설정 참조):
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "spec-workflow": {
52
+ "command": "npx",
53
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ ### 2단계: 인터페이스 선택
60
+
61
+ **옵션 A: 웹 대시보드** (CLI 사용자 필수)
62
+ 대시보드 시작 (기본 포트 5000):
63
+ ```bash
64
+ npx -y @pimzino/spec-workflow-mcp@latest --dashboard
65
+ ```
66
+
67
+ 대시보드는 http://localhost:5000 에서 액세스할 수 있습니다.
68
+
69
+ > **참고:** 하나의 대시보드 인스턴스만 필요합니다. 모든 프로젝트가 동일한 대시보드에 연결됩니다.
70
+
71
+ **옵션 B: VSCode 확장 프로그램** (VSCode 사용자 권장)
72
+
73
+ VSCode 마켓플레이스에서 [Spec Workflow MCP Extension](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp)을 설치하세요.
74
+
75
+ ## 📝 사용 방법
76
+
77
+ 대화에서 spec-workflow를 언급하기만 하면 됩니다:
78
+
79
+ - **"사용자 인증을 위한 스펙 생성"** - 완전한 스펙 워크플로우 생성
80
+ - **"내 스펙 목록 보기"** - 모든 스펙과 상태 표시
81
+ - **"user-auth 스펙의 작업 1.2 실행"** - 특정 작업 실행
82
+
83
+ [더 많은 예제 보기 →](docs/PROMPTING-GUIDE.md)
84
+
85
+ ## 🔧 MCP 클라이언트 설정
86
+
87
+ <details>
88
+ <summary><strong>Augment Code</strong></summary>
89
+
90
+ Augment 설정에서 구성:
91
+ ```json
92
+ {
93
+ "mcpServers": {
94
+ "spec-workflow": {
95
+ "command": "npx",
96
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
97
+ }
98
+ }
99
+ }
100
+ ```
101
+ </details>
102
+
103
+ <details>
104
+ <summary><strong>Claude Code CLI</strong></summary>
105
+
106
+ MCP 구성에 추가:
107
+ ```bash
108
+ claude mcp add spec-workflow npx @pimzino/spec-workflow-mcp@latest -- /path/to/your/project
109
+ ```
110
+
111
+ **중요 참고사항:**
112
+ - `-y` 플래그는 더 원활한 설치를 위해 npm 프롬프트를 우회합니다
113
+ - `--` 구분자는 경로가 npx가 아닌 spec-workflow 스크립트에 전달되도록 합니다
114
+ - `/path/to/your/project`를 실제 프로젝트 디렉터리 경로로 바꾸세요
115
+
116
+ **Windows용 대안 (위 방법이 작동하지 않는 경우):**
117
+ ```bash
118
+ claude mcp add spec-workflow cmd.exe /c "npx @pimzino/spec-workflow-mcp@latest /path/to/your/project"
119
+ ```
120
+ </details>
121
+
122
+ <details>
123
+ <summary><strong>Claude Desktop</strong></summary>
124
+
125
+ `claude_desktop_config.json`에 추가:
126
+ ```json
127
+ {
128
+ "mcpServers": {
129
+ "spec-workflow": {
130
+ "command": "npx",
131
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
132
+ }
133
+ }
134
+ }
135
+ ```
136
+
137
+ > **중요:** MCP 서버를 시작하기 전에 `--dashboard`로 대시보드를 별도로 실행하세요.
138
+
139
+ </details>
140
+
141
+ <details>
142
+ <summary><strong>Cline/Claude Dev</strong></summary>
143
+
144
+ MCP 서버 구성에 추가:
145
+ ```json
146
+ {
147
+ "mcpServers": {
148
+ "spec-workflow": {
149
+ "command": "npx",
150
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
151
+ }
152
+ }
153
+ }
154
+ ```
155
+ </details>
156
+
157
+ <details>
158
+ <summary><strong>Continue IDE Extension</strong></summary>
159
+
160
+ Continue 구성에 추가:
161
+ ```json
162
+ {
163
+ "mcpServers": {
164
+ "spec-workflow": {
165
+ "command": "npx",
166
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
167
+ }
168
+ }
169
+ }
170
+ ```
171
+ </details>
172
+
173
+ <details>
174
+ <summary><strong>Cursor IDE</strong></summary>
175
+
176
+ Cursor 설정(`settings.json`)에 추가:
177
+ ```json
178
+ {
179
+ "mcpServers": {
180
+ "spec-workflow": {
181
+ "command": "npx",
182
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
183
+ }
184
+ }
185
+ }
186
+ ```
187
+ </details>
188
+
189
+ <details>
190
+ <summary><strong>OpenCode</strong></summary>
191
+
192
+ `opencode.json` 구성 파일에 추가:
193
+ ```json
194
+ {
195
+ "$schema": "https://opencode.ai/config.json",
196
+ "mcp": {
197
+ "spec-workflow": {
198
+ "type": "local",
199
+ "command": ["npx", "-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"],
200
+ "enabled": true
201
+ }
202
+ }
203
+ }
204
+ ```
205
+ </details>
206
+
207
+ <details>
208
+ <summary><strong>Windsurf</strong></summary>
209
+
210
+ `~/.codeium/windsurf/mcp_config.json` 구성 파일에 추가:
211
+ ```json
212
+ {
213
+ "mcpServers": {
214
+ "spec-workflow": {
215
+ "command": "npx",
216
+ "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
217
+ }
218
+ }
219
+ }
220
+ ```
221
+ </details>
222
+
223
+ <details>
224
+ <summary><strong>Codex</strong></summary>
225
+
226
+ `~/.codex/config.toml` 구성 파일에 추가:
227
+ ```toml
228
+ [mcp_servers.spec-workflow]
229
+ command = "npx"
230
+ args = ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
231
+ ```
232
+ </details>
233
+
234
+ ## 🐳 Docker 배포
235
+
236
+ 격리된 배포를 위해 Docker 컨테이너에서 대시보드 실행:
237
+
238
+ ```bash
239
+ # Docker Compose 사용 (권장)
240
+ cd containers
241
+ docker-compose up --build
242
+
243
+ # 또는 Docker CLI 사용
244
+ docker build -f containers/Dockerfile -t spec-workflow-mcp .
245
+ docker run -p 5000:5000 -v "./workspace/.spec-workflow:/workspace/.spec-workflow:rw" spec-workflow-mcp
246
+ ```
247
+
248
+ 대시보드는 http://localhost:5000 에서 사용 가능합니다.
249
+
250
+ [Docker 설정 가이드 보기 →](containers/README.md)
251
+
252
+ ## 🔒 샌드박스 환경
253
+
254
+ `$HOME`이 읽기 전용인 샌드박스 환경(예: `sandbox_mode=workspace-write`가 있는 Codex CLI)의 경우 `SPEC_WORKFLOW_HOME` 환경 변수를 사용하여 전역 상태 파일을 쓰기 가능한 위치로 리디렉션하세요:
255
+
256
+ ```bash
257
+ SPEC_WORKFLOW_HOME=/workspace/.spec-workflow-mcp npx -y @pimzino/spec-workflow-mcp@latest /workspace
258
+ ```
259
+
260
+ [구성 가이드 보기 →](docs/CONFIGURATION.md#environment-variables)
261
+
262
+ ## 📚 문서
263
+
264
+ - [구성 가이드](docs/CONFIGURATION.md) - 명령줄 옵션, 구성 파일
265
+ - [사용자 가이드](docs/USER-GUIDE.md) - 포괄적인 사용 예제
266
+ - [워크플로우 프로세스](docs/WORKFLOW.md) - 개발 워크플로우 및 모범 사례
267
+ - [인터페이스 가이드](docs/INTERFACES.md) - 대시보드 및 VSCode 확장 프로그램 상세 정보
268
+ - [프롬프팅 가이드](docs/PROMPTING-GUIDE.md) - 고급 프롬프팅 예제
269
+ - [도구 참조](docs/TOOLS-REFERENCE.md) - 완전한 도구 문서
270
+ - [개발](docs/DEVELOPMENT.md) - 기여 및 개발 설정
271
+ - [문제 해결](docs/TROUBLESHOOTING.md) - 일반적인 문제 및 해결책
272
+
273
+ ## 📁 프로젝트 구조
274
+
275
+ ```
276
+ your-project/
277
+ .spec-workflow/
278
+ approvals/
279
+ archive/
280
+ specs/
281
+ steering/
282
+ templates/
283
+ user-templates/
284
+ config.example.toml
285
+ ```
286
+
287
+ ## 🛠️ 개발
288
+
289
+ ```bash
290
+ # 의존성 설치
291
+ npm install
292
+
293
+ # 프로젝트 빌드
294
+ npm run build
295
+
296
+ # 개발 모드로 실행
297
+ npm run dev
298
+ ```
299
+
300
+ [개발 가이드 보기 →](docs/DEVELOPMENT.md)
301
+
302
+ ## 📄 라이선스
303
+
304
+ GPL-3.0
305
+
306
+ ## ⭐ 스타 히스토리
307
+
308
+ <a href="https://www.star-history.com/#Pimzino/spec-workflow-mcp&Date">
309
+ <picture>
310
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date&theme=dark" />
311
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
312
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
313
+ </picture>
314
+ </a>
package/README.md ADDED
@@ -0,0 +1,239 @@
1
+ <p align="center">
2
+ <img src="assets/logo-wide.svg" alt="SpecFlow" height="48">
3
+ </p>
4
+
5
+ <p align="center">
6
+ Spec-driven development with persistent project memory and semantic code intelligence.
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://github.com/lbruton/specflow"><img src="https://img.shields.io/badge/license-GPL--3.0-green" alt="License"></a>
11
+ <img src="https://img.shields.io/badge/MCP_Server-Plugin-6366f1" alt="MCP Server Plugin">
12
+ <img src="https://img.shields.io/badge/self--hosted-zero_cloud_deps-22c55e" alt="Self-hosted">
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="https://lbruton.github.io/specflow/"><strong>View the full interactive about page</strong></a> &bull;
17
+ <a href="docs/CASE-STUDY-FORGE.md">Case Study: Forge</a> &bull;
18
+ <a href="FORK-CHANGELOG.md">Changelog</a>
19
+ </p>
20
+
21
+ ---
22
+
23
+ AI agents forget everything between sessions. They lose decisions, repeat mistakes, and drift from reality. **SpecFlow** gives them a structured lifecycle, persistent cross-project memory, and semantic code intelligence -- all self-hosted.
24
+
25
+ Built on [Pimzino/spec-workflow-mcp](https://github.com/Pimzino/spec-workflow-mcp)'s core engine (sequential spec workflow, real-time dashboard, blocking approval gates). This fork layers extended lifecycle phases, multi-project orchestration, three-tier knowledge architecture, and semantic code search on top.
26
+
27
+ ## Four Systems, One Workflow
28
+
29
+ | System | What It Does |
30
+ |--------|-------------|
31
+ | **SpecFlow** (MCP Server) | Spec-driven lifecycle: Requirements → Design → Tasks → Implementation with dashboard approvals at every gate. 6 tools, 7 prompts. |
32
+ | **DocVault** (Obsidian Vault) | Cross-project knowledge base. One vault serves 8+ repos -- architecture, infrastructure, decisions, issues. Graph visualization + wikilinks. |
33
+ | **Code Context** (Milvus) | Semantic code search via self-hosted vector database. Search by meaning, not keywords. Forked from [Zilliz/claude-context](https://github.com/zilliztech/mcp-server-milvus), hardened with timeouts and pinned versions. |
34
+ | **Skill System** (60+ Skills) | CLAUDE.md stays tiny -- a routing table to skills. Each skill encodes a full workflow: debugging, deployment, PR resolution, infrastructure management. |
35
+
36
+ ## Three-Tier Memory Architecture
37
+
38
+ Not everything belongs in one file. Each tier has a purpose and a source of truth ranking.
39
+
40
+ | Tier | System | Role |
41
+ |------|--------|------|
42
+ | **1** | DocVault | Ground truth. Human-curated Obsidian vault. Wins all conflicts. |
43
+ | **2** | File Memory | Session context. Project-scoped markdown at `~/.claude/projects/*/memory/`. |
44
+ | **3** | mem0 | Episodic recall. Semantic retrieval from session digests. Never authoritative. |
45
+
46
+ ## Continuous Learning Loop
47
+
48
+ Every session learns from the previous. This is the single biggest differentiator.
49
+
50
+ ```
51
+ /prime (morning) /goodnight (end of day)
52
+ ├─ Index codebase ├─ /retro
53
+ ├─ Read recent digests │ └─ Extract prescriptive lessons → mem0
54
+ ├─ Pull mem0 memories └─ /digest-session
55
+ ├─ Check issues + git ├─ Read JSONL transcripts
56
+ └─ "Here's where you left off" ├─ Summarize via local Ollama
57
+ ├─ Write to DocVault/Daily Digests/
58
+ └─ Save key facts to mem0
59
+
60
+ Tomorrow's /prime reads today's digest + retro lessons
61
+ ```
62
+
63
+ ## Spec Workflow Lifecycle
64
+
65
+ Every non-trivial feature follows the same path. Approvals required at each gate.
66
+
67
+ ```
68
+ Phase 0 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5
69
+ /chat → /discover → /spec → Design → Implement → /retro
70
+
71
+ Bug fast path: /systematic-debugging → issue → fix (skip Phases 0-2)
72
+ Casual path: /gsd — no issue, no spec, chore: PR
73
+ ```
74
+
75
+ ### Parallel Subagent Dispatch
76
+
77
+ Tasks don't execute sequentially. Each runs through an isolated three-stage pipeline:
78
+
79
+ ```
80
+ Orchestrator reads task
81
+ → Implementer Agent (fresh context, writes code, tests, commits)
82
+ → Compliance Reviewer (reads actual code vs requirements)
83
+ → Quality Reviewer (architecture, error handling, readiness)
84
+ → log-implementation (record artifacts)
85
+ → mark complete
86
+
87
+ Tasks with zero file overlap execute concurrently in batches.
88
+ ```
89
+
90
+ **[Case Study: Forge](docs/CASE-STUDY-FORGE.md)** -- empty repo to deployed production app in 3 hours, 23 tasks across 30 parallel subagents, 8 dashboard approval gates, zero file conflicts.
91
+
92
+ ## Code Intelligence
93
+
94
+ Agents shouldn't grep blindly through your codebase. Four search tiers, cheapest first:
95
+
96
+ | Tier | Engine | Query Style |
97
+ |------|--------|-------------|
98
+ | 1 | Code Graph Context (Neo4j) | Structural: "what calls this function?" |
99
+ | 2 | Code Context (Milvus) | Semantic: "find code related to payment processing" |
100
+ | 3 | Grep / Glob | Literal: exact strings, filenames, identifiers |
101
+ | 4 | Code Oracle Agent | Deep analysis: combines all sources + AI reasoning |
102
+
103
+ Code Context is a [hardened fork](https://github.com/lbruton/claude-context) of Zilliz's MCP server -- self-hosted Milvus, 30s timeouts, pinned npm versions. No collection limits, full data sovereignty.
104
+
105
+ ## Comparison
106
+
107
+ | Dimension | SpecKit | BMAD | GSD | Taskmaster | mex | Pimzino | **SpecFlow** |
108
+ |-----------|---------|------|-----|------------|-----|---------|------------|
109
+ | Approval gates | None | Advisory | UAT | None | None | Dashboard | **Dashboard + skills** |
110
+ | Memory | constitution.md | Git docs | STATE.md | tasks.json | Scaffold | Steering docs | **3-tier** |
111
+ | Session learning | None | None | None | None | GROW loop | None | **/prime → /goodnight** |
112
+ | Code search | None | None | None | None | None | None | **Semantic + structural** |
113
+ | Multi-project | Per-repo | Per-repo | Per-repo | Per-repo | Per-repo | Per-repo | **One vault, all repos** |
114
+ | Infrastructure | Code only | Code only | Code only | Code only | Code only | Code only | **Docker, DNS, VMs** |
115
+ | Drift detection | None | None | None | None | 8 checkers | None | /vault-update gate |
116
+ | Self-hosted | Files | Files | Files | Files | Files | Node.js | **Milvus, Neo4j, Ollama** |
117
+ | Best for | Quick adoption | Enterprise teams | Solo context eng. | PRD pipelines | Per-repo memory | Structured workflow | **Multi-project governance** |
118
+
119
+ ## Quick Start
120
+
121
+ ### As a Claude Code Plugin (recommended)
122
+
123
+ ```bash
124
+ git clone https://github.com/lbruton/specflow.git
125
+ cd spec-workflow-mcp
126
+ npm install && npm run build
127
+
128
+ # Symlink into Claude Code plugins
129
+ ln -s "$(pwd)" ~/.claude/plugins/marketplaces/specflow-marketplace
130
+ ```
131
+
132
+ ### As an MCP Server
133
+
134
+ ```json
135
+ {
136
+ "mcpServers": {
137
+ "spec-workflow": {
138
+ "command": "npx",
139
+ "args": ["-y", "@lbruton/specflow@latest", "/path/to/your/project"]
140
+ }
141
+ }
142
+ }
143
+ ```
144
+
145
+ ### Dashboard
146
+
147
+ Real-time web UI for spec tracking, approvals, and implementation logs. Port 5051 by default.
148
+
149
+ ```bash
150
+ npx @lbruton/specflow@latest --dashboard --port 5051
151
+ ```
152
+
153
+ ## MCP Tools
154
+
155
+ | Tool | Description |
156
+ |------|-------------|
157
+ | `spec-status` | Get detailed status of a spec |
158
+ | `spec-list` | List all specs across projects |
159
+ | `approvals` | Manage phase approval workflow |
160
+ | `log-implementation` | Record implementation artifacts |
161
+ | `spec-workflow-guide` | Get workflow guidance |
162
+ | `steering-guide` | Access project steering documents |
163
+
164
+ ## MCP Prompts
165
+
166
+ | Prompt | Description |
167
+ |--------|-------------|
168
+ | `create-spec` | Create a new spec from requirements |
169
+ | `implement-task` | Generate implementation plan for a task |
170
+ | `create-steering-doc` | Create project steering documentation |
171
+ | `refresh-tasks` | Re-sync task state from spec files |
172
+ | + 3 injection prompts | Context injection for guides |
173
+
174
+ ## Prerequisites
175
+
176
+ The core spec workflow works out of the box with Node.js. Extended features use:
177
+
178
+ | Component | Purpose | Link |
179
+ |-----------|---------|------|
180
+ | [Obsidian](https://obsidian.md) | DocVault knowledge base | [obsidian.md](https://obsidian.md) |
181
+ | [mem0](https://github.com/mem0ai/mem0) | Cross-session episodic memory | [mem0.ai](https://mem0.ai) |
182
+ | [Milvus](https://milvus.io) | Self-hosted vector DB for Code Context | [milvus.io](https://milvus.io) |
183
+ | [Claude Code](https://claude.ai/claude-code) | CLI agent that consumes MCP servers | [docs](https://docs.anthropic.com/en/docs/claude-code) |
184
+
185
+ ## Architecture
186
+
187
+ ```
188
+ src/
189
+ tools/ # MCP tool definitions (6 tools)
190
+ prompts/ # MCP prompt definitions (7 prompts)
191
+ core/ # Shared logic (parser, task-parser, path-utils)
192
+ dashboard/ # Dashboard backend (multi-server, approval-storage)
193
+ dashboard_frontend/ # React 18 frontend (Vite + Tailwind)
194
+ markdown/ # Document and review templates
195
+ types.ts # Shared TypeScript types
196
+ index.ts # CLI entry point
197
+ ```
198
+
199
+ ## Roadmap
200
+
201
+ - [x] SpecFlow MCP server -- spec lifecycle + dashboard
202
+ - [x] DocVault -- cross-project knowledge vault
203
+ - [x] Code Context -- semantic search (Milvus, self-hosted)
204
+ - [x] Code Graph Context -- structural search (Neo4j, local)
205
+ - [x] 60+ skills -- procedural knowledge routing
206
+ - [x] Memory pipeline -- session digests via local Ollama
207
+ - [ ] Rebrand Code Context -- merge into SpecFlow plugin
208
+ - [ ] Self-host mem0 -- fork + local deployment
209
+ - [ ] Self-host CGC -- fork + local Neo4j bundle
210
+ - [ ] Unified Docker container -- all services in one stack
211
+ - [ ] One-command install for any project
212
+
213
+ ## Development
214
+
215
+ ```bash
216
+ npm install # Install dependencies
217
+ npm run build # Compile TypeScript + build dashboard frontend
218
+ npm run dev # Development mode with hot reload
219
+ ```
220
+
221
+ ## Upstream Documentation
222
+
223
+ Core functionality docs from Pimzino's project:
224
+
225
+ - [Configuration Guide](docs/CONFIGURATION.md)
226
+ - [User Guide](docs/USER-GUIDE.md)
227
+ - [Workflow Process](docs/WORKFLOW.md)
228
+ - [Prompting Guide](docs/PROMPTING-GUIDE.md)
229
+ - [Tools Reference](docs/TOOLS-REFERENCE.md)
230
+
231
+ ## Credits
232
+
233
+ **[Pimzino/spec-workflow-mcp](https://github.com/Pimzino/spec-workflow-mcp)** is the foundation. Pimzino designed and built the core architecture: the MCP server, sequential spec workflow, real-time dashboard with blocking approval gates, approval storage, markdown parser, implementation logging, template engine, multi-language support, VSCode extension, Docker deployment, and security hardening. SpecFlow adds workflow extensions, knowledge architecture, and code intelligence on top of that substantial foundation.
234
+
235
+ **[Zilliz/claude-context](https://github.com/zilliztech/mcp-server-milvus)** provides the semantic code search engine that Code Context is forked from.
236
+
237
+ ## License
238
+
239
+ GPL-3.0 -- same as upstream.