@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
@@ -0,0 +1,122 @@
1
+ # Implementer Subagent Template
2
+
3
+ Use this template when dispatching an implementer subagent for a spec-workflow task. Paste the full task text — don't make the subagent read the file.
4
+
5
+ ## Template
6
+
7
+ ```
8
+ You are implementing Task {TASK_ID}: {TASK_NAME}
9
+
10
+ ## Task Description
11
+
12
+ {FULL TASK TEXT from tasks.md — paste it here}
13
+
14
+ ## Context
15
+
16
+ {Where this fits, dependencies, architectural context from design.md}
17
+
18
+ ## Before You Begin
19
+
20
+ If you have questions about:
21
+ - The requirements or acceptance criteria
22
+ - The approach or implementation strategy
23
+ - Dependencies or assumptions
24
+ - Anything unclear in the task description
25
+
26
+ **Ask them now.** Raise any concerns before starting work.
27
+
28
+ ## Your Job
29
+
30
+ Once you're clear on requirements:
31
+ 1. Implement exactly what the task specifies
32
+ 2. Follow _Leverage fields to use existing code/utilities
33
+ 3. Test your implementation
34
+ 4. Commit your work
35
+ 5. Self-review (see below)
36
+ 6. Log implementation using log-implementation tool
37
+ 7. Report back
38
+
39
+ **While you work:** If you encounter something unexpected or unclear, ask questions.
40
+ Don't guess or make assumptions.
41
+
42
+ ## Self-Review (before reporting back)
43
+
44
+ Review your work with fresh eyes:
45
+
46
+ **Completeness:**
47
+ - Did I fully implement everything in the spec?
48
+ - Did I miss any requirements?
49
+ - Are there edge cases I didn't handle?
50
+
51
+ **Quality:**
52
+ - Is this my best work?
53
+ - Are names clear and accurate?
54
+ - Is the code clean and maintainable?
55
+
56
+ **Discipline:**
57
+ - Did I avoid overbuilding (YAGNI)?
58
+ - Did I only build what was requested?
59
+ - Did I follow existing patterns in the codebase?
60
+
61
+ **Testing:**
62
+ - Do tests actually verify behavior (not just mocks)?
63
+ - Are tests comprehensive (unit, integration, E2E as appropriate)?
64
+ - Were all tests RUN and did they PASS? (status must be captured in log-implementation)
65
+ - Do tests cover the user stories from the spec requirements?
66
+
67
+ If you find issues during self-review, fix them now.
68
+
69
+ ## After Commit: Log Implementation (MANDATORY)
70
+
71
+ Call the log-implementation MCP tool with:
72
+ - **specName**: {SPEC_NAME}
73
+ - **taskId**: {TASK_ID}
74
+ - **summary**: What you implemented (1-2 sentences)
75
+ - **filesModified** / **filesCreated**: Accurate file lists
76
+ - **statistics**: { linesAdded, linesRemoved }
77
+ - **artifacts**: ALL that apply:
78
+ - apiEndpoints, functions, components, classes, integrations
79
+ - **tests**: name, type, framework, location, status, pass/fail counts, userStories (linked requirement IDs)
80
+
81
+ Do not skip this step. Future agents search logs to avoid duplicating work. Tests MUST be run before logging — do not log tests you only wrote but never executed.
82
+
83
+ ## Report Format
84
+
85
+ When done, report:
86
+ - What you implemented
87
+ - What you tested and test results
88
+ - Files changed
89
+ - Self-review findings (if any)
90
+ - Any issues or concerns
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Quick Fix / Bug Fix Variant
96
+
97
+ Use this variant when dispatching for an issue fix WITHOUT a full spec. Replace the "Before You Begin" section above with this adversarial pre-implementation challenge.
98
+
99
+ ```
100
+ You are fixing {ISSUE_ID}: {ISSUE_TITLE}
101
+
102
+ ## Bug Description
103
+
104
+ {Description from issue}
105
+
106
+ ## Adversarial Pre-Check (answer BEFORE writing any code)
107
+
108
+ Stop and think critically:
109
+
110
+ 1. **What could go wrong?** What side effects might this fix introduce? What other code paths touch the same data/DOM/state?
111
+ 2. **What assumptions are you making?** Are you assuming the bug is where it appears to be? Could the root cause be upstream?
112
+ 3. **Is this really as simple as you think?** Quick fixes that seem obvious are often masking deeper issues. Have you verified the root cause, or are you patching a symptom?
113
+ 4. **What's the blast radius?** List every file and function this change could affect. Are there callers you haven't checked?
114
+ 5. **How will you verify it's fixed?** What specific test or manual check will confirm the fix works AND hasn't broken anything else?
115
+ 6. **Should this use Ralph Loop?** If the root cause is uncertain AND your answer to Q5 is a runnable test (e.g., `/bb-test sections=NN`, a unit test command, a grep assertion), consider `/ralph-loop` with `--completion-promise` set to the expected pass output. Skip Ralph if the fix is straightforward or there's no testable oracle.
116
+
117
+ Write your answers to these 6 questions, then proceed with implementation. If any answer reveals uncertainty, investigate before coding. If Q6 says yes, start a Ralph Loop instead of coding directly.
118
+
119
+ ## Your Job
120
+
121
+ {Same implementation steps as the spec variant above}
122
+ ```
@@ -0,0 +1,51 @@
1
+ # Product Overview
2
+
3
+ ## Product Purpose
4
+ [Describe the core purpose of this product/project. What problem does it solve?]
5
+
6
+ ## Target Users
7
+ [Who are the primary users of this product? What are their needs and pain points?]
8
+
9
+ ## Key Features
10
+ [List the main features that deliver value to users]
11
+
12
+ 1. **Feature 1**: [Description]
13
+ 2. **Feature 2**: [Description]
14
+ 3. **Feature 3**: [Description]
15
+
16
+ ## Business Objectives
17
+ [What are the business goals this product aims to achieve?]
18
+
19
+ - [Objective 1]
20
+ - [Objective 2]
21
+ - [Objective 3]
22
+
23
+ ## Success Metrics
24
+ [How will we measure the success of this product?]
25
+
26
+ - [Metric 1]: [Target]
27
+ - [Metric 2]: [Target]
28
+ - [Metric 3]: [Target]
29
+
30
+ ## Product Principles
31
+ [Core principles that guide product decisions]
32
+
33
+ 1. **[Principle 1]**: [Explanation]
34
+ 2. **[Principle 2]**: [Explanation]
35
+ 3. **[Principle 3]**: [Explanation]
36
+
37
+ ## Monitoring & Visibility (if applicable)
38
+ [How do users track progress and monitor the system?]
39
+
40
+ - **Dashboard Type**: [e.g., Web-based, CLI, Desktop app]
41
+ - **Real-time Updates**: [e.g., WebSocket, polling, push notifications]
42
+ - **Key Metrics Displayed**: [What information is most important to surface]
43
+ - **Sharing Capabilities**: [e.g., read-only links, exports, reports]
44
+
45
+ ## Future Vision
46
+ [Where do we see this product evolving in the future?]
47
+
48
+ ### Potential Enhancements
49
+ - **Remote Access**: [e.g., Tunnel features for sharing dashboards with stakeholders]
50
+ - **Analytics**: [e.g., Historical trends, performance metrics]
51
+ - **Collaboration**: [e.g., Multi-user support, commenting]
@@ -0,0 +1,73 @@
1
+ # Requirements Document
2
+
3
+ ## References
4
+
5
+ - **Issue:** PROJ-XXX
6
+ - **GitHub PR:** [#NNN](https://github.com/owner/repo/pull/NNN)
7
+ - **Spec Path:** `.spec-workflow/specs/{spec-name}/`
8
+
9
+ ## Introduction
10
+
11
+ [Provide a brief overview of the feature, its purpose, and its value to users]
12
+
13
+ ## Alignment with Product Vision
14
+
15
+ [Explain how this feature supports the goals outlined in product.md]
16
+
17
+ ## Requirements
18
+
19
+ ### Requirement 1
20
+
21
+ **User Story:** As a [role], I want [feature], so that [benefit]
22
+
23
+ #### Acceptance Criteria
24
+
25
+ 1. WHEN [event] THEN [system] SHALL [response]
26
+ 2. IF [precondition] THEN [system] SHALL [response]
27
+ 3. WHEN [event] AND [condition] THEN [system] SHALL [response]
28
+
29
+ ### Requirement 2
30
+
31
+ **User Story:** As a [role], I want [feature], so that [benefit]
32
+
33
+ #### Acceptance Criteria
34
+
35
+ 1. WHEN [event] THEN [system] SHALL [response]
36
+ 2. IF [precondition] THEN [system] SHALL [response]
37
+
38
+ ## Open Questions
39
+
40
+ > **GATE:** All blocking questions must be resolved before this document can be approved.
41
+ > Non-blocking questions may carry forward to the Design phase.
42
+
43
+ ### Blocking (must resolve before approval)
44
+
45
+ - [ ] [Question — why it matters]
46
+
47
+ ### Non-blocking (can defer to Design)
48
+
49
+ - [ ] [Question — context]
50
+
51
+ ### Resolved
52
+
53
+ - [x] ~~[Question]~~ — [Answer, source]
54
+
55
+ ## Non-Functional Requirements
56
+
57
+ ### Code Architecture and Modularity
58
+ - **Single Responsibility Principle**: Each file should have a single, well-defined purpose
59
+ - **Modular Design**: Components, utilities, and services should be isolated and reusable
60
+ - **Dependency Management**: Minimize interdependencies between modules
61
+ - **Clear Interfaces**: Define clean contracts between components and layers
62
+
63
+ ### Performance
64
+ - [Performance requirements]
65
+
66
+ ### Security
67
+ - [Security requirements]
68
+
69
+ ### Reliability
70
+ - [Reliability requirements]
71
+
72
+ ### Usability
73
+ - [Usability requirements]
@@ -0,0 +1,58 @@
1
+ # Spec Compliance Reviewer
2
+
3
+ You are reviewing whether an implementation matches its specification. Your job is to verify the implementer built what was requested — nothing more, nothing less.
4
+
5
+ ## What Was Requested
6
+
7
+ {TASK_REQUIREMENTS}
8
+
9
+ ## What Implementer Claims They Built
10
+
11
+ {IMPLEMENTER_REPORT}
12
+
13
+ ## CRITICAL: Do Not Trust the Report
14
+
15
+ The implementer may have been optimistic. You MUST verify everything independently by reading the actual code.
16
+
17
+ **DO NOT:**
18
+ - Take their word for what they implemented
19
+ - Trust claims about completeness
20
+ - Accept their interpretation of requirements
21
+
22
+ **DO:**
23
+ - Read the actual code they wrote
24
+ - Compare implementation to requirements line by line
25
+ - Check for missing pieces they claimed to implement
26
+ - Look for extra features they didn't mention
27
+
28
+ ## Review Checklist
29
+
30
+ **Missing requirements:**
31
+ - Did they implement everything that was requested?
32
+ - Are there requirements they skipped or missed?
33
+ - Did they claim something works but didn't actually implement it?
34
+
35
+ **Extra/unneeded work:**
36
+ - Did they build things that weren't requested?
37
+ - Did they over-engineer or add unnecessary features?
38
+ - Did they add "nice to haves" that weren't in spec?
39
+
40
+ **Misunderstandings:**
41
+ - Did they interpret requirements differently than intended?
42
+ - Did they solve the wrong problem?
43
+ - Did they implement the right feature the wrong way?
44
+
45
+ ## Output
46
+
47
+ Verify by reading code, not by trusting the report.
48
+
49
+ - **Pass:** All requirements met, nothing extra, nothing missing
50
+ - **Fail:** List specifically what's missing or extra, with file:line references
51
+
52
+ ```
53
+ Spec Compliance: ✅ PASS / ❌ FAIL
54
+
55
+ Issues (if any):
56
+ 1. [MISSING/EXTRA/WRONG] — description — file:line
57
+ 2. ...
58
+ ```
@@ -0,0 +1,145 @@
1
+ # Project Structure
2
+
3
+ ## Directory Organization
4
+
5
+ ```
6
+ [Define your project's directory structure. Examples below - adapt to your project type]
7
+
8
+ Example for a library/package:
9
+ project-root/
10
+ ├── src/ # Source code
11
+ ├── tests/ # Test files
12
+ ├── docs/ # Documentation
13
+ ├── examples/ # Usage examples
14
+ └── [build/dist/out] # Build output
15
+
16
+ Example for an application:
17
+ project-root/
18
+ ├── [src/app/lib] # Main source code
19
+ ├── [assets/resources] # Static resources
20
+ ├── [config/settings] # Configuration
21
+ ├── [scripts/tools] # Build/utility scripts
22
+ └── [tests/spec] # Test files
23
+
24
+ Common patterns:
25
+ - Group by feature/module
26
+ - Group by layer (UI, business logic, data)
27
+ - Group by type (models, controllers, views)
28
+ - Flat structure for simple projects
29
+ ```
30
+
31
+ ## Naming Conventions
32
+
33
+ ### Files
34
+ - **Components/Modules**: [e.g., `PascalCase`, `snake_case`, `kebab-case`]
35
+ - **Services/Handlers**: [e.g., `UserService`, `user_service`, `user-service`]
36
+ - **Utilities/Helpers**: [e.g., `dateUtils`, `date_utils`, `date-utils`]
37
+ - **Tests**: [e.g., `[filename]_test`, `[filename].test`, `[filename]Test`]
38
+
39
+ ### Code
40
+ - **Classes/Types**: [e.g., `PascalCase`, `CamelCase`, `snake_case`]
41
+ - **Functions/Methods**: [e.g., `camelCase`, `snake_case`, `PascalCase`]
42
+ - **Constants**: [e.g., `UPPER_SNAKE_CASE`, `SCREAMING_CASE`, `PascalCase`]
43
+ - **Variables**: [e.g., `camelCase`, `snake_case`, `lowercase`]
44
+
45
+ ## Import Patterns
46
+
47
+ ### Import Order
48
+ 1. External dependencies
49
+ 2. Internal modules
50
+ 3. Relative imports
51
+ 4. Style imports
52
+
53
+ ### Module/Package Organization
54
+ ```
55
+ [Describe your project's import/include patterns]
56
+ Examples:
57
+ - Absolute imports from project root
58
+ - Relative imports within modules
59
+ - Package/namespace organization
60
+ - Dependency management approach
61
+ ```
62
+
63
+ ## Code Structure Patterns
64
+
65
+ [Define common patterns for organizing code within files. Below are examples - choose what applies to your project]
66
+
67
+ ### Module/Class Organization
68
+ ```
69
+ Example patterns:
70
+ 1. Imports/includes/dependencies
71
+ 2. Constants and configuration
72
+ 3. Type/interface definitions
73
+ 4. Main implementation
74
+ 5. Helper/utility functions
75
+ 6. Exports/public API
76
+ ```
77
+
78
+ ### Function/Method Organization
79
+ ```
80
+ Example patterns:
81
+ - Input validation first
82
+ - Core logic in the middle
83
+ - Error handling throughout
84
+ - Clear return points
85
+ ```
86
+
87
+ ### File Organization Principles
88
+ ```
89
+ Choose what works for your project:
90
+ - One class/module per file
91
+ - Related functionality grouped together
92
+ - Public API at the top/bottom
93
+ - Implementation details hidden
94
+ ```
95
+
96
+ ## Code Organization Principles
97
+
98
+ 1. **Single Responsibility**: Each file should have one clear purpose
99
+ 2. **Modularity**: Code should be organized into reusable modules
100
+ 3. **Testability**: Structure code to be easily testable
101
+ 4. **Consistency**: Follow patterns established in the codebase
102
+
103
+ ## Module Boundaries
104
+ [Define how different parts of your project interact and maintain separation of concerns]
105
+
106
+ Examples of boundary patterns:
107
+ - **Core vs Plugins**: Core functionality vs extensible plugins
108
+ - **Public API vs Internal**: What's exposed vs implementation details
109
+ - **Platform-specific vs Cross-platform**: OS-specific code isolation
110
+ - **Stable vs Experimental**: Production code vs experimental features
111
+ - **Dependencies direction**: Which modules can depend on which
112
+
113
+ ## Code Size Guidelines
114
+ [Define your project's guidelines for file and function sizes]
115
+
116
+ Suggested guidelines:
117
+ - **File size**: [Define maximum lines per file]
118
+ - **Function/Method size**: [Define maximum lines per function]
119
+ - **Class/Module complexity**: [Define complexity limits]
120
+ - **Nesting depth**: [Maximum nesting levels]
121
+
122
+ ## Dashboard/Monitoring Structure (if applicable)
123
+ [How dashboard or monitoring components are organized]
124
+
125
+ ### Example Structure:
126
+ ```
127
+ src/
128
+ └── dashboard/ # Self-contained dashboard subsystem
129
+ ├── server/ # Backend server components
130
+ ├── client/ # Frontend assets
131
+ ├── shared/ # Shared types/utilities
132
+ └── public/ # Static assets
133
+ ```
134
+
135
+ ### Separation of Concerns
136
+ - Dashboard isolated from core business logic
137
+ - Own CLI entry point for independent operation
138
+ - Minimal dependencies on main application
139
+ - Can be disabled without affecting core functionality
140
+
141
+ ## Documentation Standards
142
+ - All public APIs must have documentation
143
+ - Complex logic should include inline comments
144
+ - README files for major modules
145
+ - Follow language-specific documentation conventions
@@ -0,0 +1,182 @@
1
+ # Tasks Document
2
+
3
+ ## References
4
+
5
+ - **Issue:** PROJ-XXX
6
+ - **GitHub PR:** [#NNN](https://github.com/owner/repo/pull/NNN)
7
+ - **Spec Path:** `.spec-workflow/specs/{spec-name}/`
8
+
9
+ ## UI Prototype Gate (conditional — include ONLY if design.md declares `Has UI Changes: Yes` AND `Prototype Required: Yes`)
10
+
11
+ > **BLOCKING:** Tasks 0.1–0.3 MUST be completed and approved before ANY task tagged `ui:true` begins.
12
+ > If the spec has no UI changes, delete this entire section.
13
+
14
+ - [ ] 0.1 Create visual mockup (Stitch or equivalent)
15
+ - Invoke the `ui-mockup` skill (Step 1–4) OR the `frontend-design` skill
16
+ - If design.md references a prototype HTML file, use it as the starting point
17
+ - Generate mockups for all states: populated, loading, empty, error
18
+ - Include light and dark theme variants
19
+ - Purpose: Establish visual direction before writing any UI code
20
+ - _Requirements: All UI-related requirements_
21
+ - _Prompt: Role: UI/UX Designer | Task: Create visual mockups using the ui-mockup skill (Stitch) or frontend-design skill for all new/modified UI components described in design.md. Cover all visual states (populated, loading, empty, error) and theme variants (light, dark). If a reference HTML prototype exists at the path noted in design.md, use it as the baseline. | Restrictions: Do NOT write any production code. Output is mockup artifacts only. | Success: Stitch screen IDs or equivalent visual artifacts are generated and presented to the user for review._
22
+
23
+ - [ ] 0.2 Build interactive prototype (Playground)
24
+ - Invoke the `playground` skill using the approved mockup as spec
25
+ - Must use the project's actual tech stack (Bootstrap 5, CSS variables, data-theme attribute)
26
+ - Include realistic sample data, interactive controls, and all data states
27
+ - Purpose: Validate UX feel and interactions before production code
28
+ - _Requirements: All UI-related requirements_
29
+ - _Prompt: Role: Frontend Prototyper | Task: Build an interactive single-file HTML playground using the playground skill. Source visual design from the approved Stitch mockup (Task 0.1). Use the project's actual CSS framework and theme system. Include realistic data, clickable controls, hover states, and all data states (populated, loading, empty, error). | Restrictions: This is a throwaway prototype — do NOT integrate into the codebase. Must match the project's tech stack. | Success: User can interact with the prototype in a browser, validate layout/UX, and give explicit approval before implementation begins._
30
+
31
+ - [ ] 0.3 Visual approval checkpoint
32
+ - Present prototype to user for explicit approval
33
+ - Update design.md `Prototype Artifacts` section with Stitch IDs and playground file path
34
+ - Purpose: Hard gate — no UI implementation proceeds without visual sign-off
35
+ - _Requirements: All UI-related requirements_
36
+ - _Prompt: Role: Project Coordinator | Task: Present the interactive prototype (Task 0.2) to the user. Ask explicitly - does this look and feel right? Collect approval or revision feedback. If approved, update the UI Impact Assessment section in design.md with the Stitch screen IDs and playground file path. | Restrictions: Do NOT proceed to any ui:true implementation task until the user explicitly approves the prototype. Verbal approval IS accepted for this visual checkpoint (unlike spec phase approvals). | Success: User has approved the visual design. design.md Prototype Artifacts section is populated. Implementation tasks may now begin._
37
+
38
+ ---
39
+
40
+ - [ ] 1. Create core interfaces in src/types/feature.ts
41
+ - File: src/types/feature.ts
42
+ - Define TypeScript interfaces for feature data structures
43
+ - Extend existing base interfaces from base.ts
44
+ - Purpose: Establish type safety for feature implementation
45
+ - _Leverage: src/types/base.ts_
46
+ - _Requirements: 1.1_
47
+ - _Prompt: Role: TypeScript Developer specializing in type systems and interfaces | Task: Create comprehensive TypeScript interfaces for the feature data structures following requirements 1.1, extending existing base interfaces from src/types/base.ts | Restrictions: Do not modify existing base interfaces, maintain backward compatibility, follow project naming conventions | Success: All interfaces compile without errors, proper inheritance from base types, full type coverage for feature requirements_
48
+
49
+ - [ ] 2. Create base model class in src/models/FeatureModel.ts
50
+ - File: src/models/FeatureModel.ts
51
+ - Implement base model extending BaseModel class
52
+ - Add validation methods using existing validation utilities
53
+ - Purpose: Provide data layer foundation for feature
54
+ - _Leverage: src/models/BaseModel.ts, src/utils/validation.ts_
55
+ - _Requirements: 2.1_
56
+ - _Prompt: Role: Backend Developer with expertise in Node.js and data modeling | Task: Create a base model class extending BaseModel and implementing validation following requirement 2.1, leveraging existing patterns from src/models/BaseModel.ts and src/utils/validation.ts | Restrictions: Must follow existing model patterns, do not bypass validation utilities, maintain consistent error handling | Success: Model extends BaseModel correctly, validation methods implemented and tested, follows project architecture patterns_
57
+
58
+ - [ ] 3. Add specific model methods to FeatureModel.ts
59
+ - File: src/models/FeatureModel.ts (continue from task 2)
60
+ - Implement create, update, delete methods
61
+ - Add relationship handling for foreign keys
62
+ - Purpose: Complete model functionality for CRUD operations
63
+ - _Leverage: src/models/BaseModel.ts_
64
+ - _Requirements: 2.2, 2.3_
65
+ - _Prompt: Role: Backend Developer with expertise in ORM and database operations | Task: Implement CRUD methods and relationship handling in FeatureModel.ts following requirements 2.2 and 2.3, extending patterns from src/models/BaseModel.ts | Restrictions: Must maintain transaction integrity, follow existing relationship patterns, do not duplicate base model functionality | Success: All CRUD operations work correctly, relationships are properly handled, database operations are atomic and efficient_
66
+
67
+ - [ ] 4. Create model unit tests in tests/models/FeatureModel.test.ts
68
+ - File: tests/models/FeatureModel.test.ts
69
+ - Write tests for model validation and CRUD methods
70
+ - Use existing test utilities and fixtures
71
+ - Purpose: Ensure model reliability and catch regressions
72
+ - _Leverage: tests/helpers/testUtils.ts, tests/fixtures/data.ts_
73
+ - _Requirements: 2.1, 2.2_
74
+ - _Prompt: Role: QA Engineer with expertise in unit testing and Jest/Mocha frameworks | Task: Create comprehensive unit tests for FeatureModel validation and CRUD methods covering requirements 2.1 and 2.2, using existing test utilities from tests/helpers/testUtils.ts and fixtures from tests/fixtures/data.ts | Restrictions: Must test both success and failure scenarios, do not test external dependencies directly, maintain test isolation | Success: All model methods are tested with good coverage, edge cases covered, tests run independently and consistently_
75
+
76
+ - [ ] 5. Create service interface in src/services/IFeatureService.ts
77
+ - File: src/services/IFeatureService.ts
78
+ - Define service contract with method signatures
79
+ - Extend base service interface patterns
80
+ - Purpose: Establish service layer contract for dependency injection
81
+ - _Leverage: src/services/IBaseService.ts_
82
+ - _Requirements: 3.1_
83
+ - _Prompt: Role: Software Architect specializing in service-oriented architecture and TypeScript interfaces | Task: Design service interface contract following requirement 3.1, extending base service patterns from src/services/IBaseService.ts for dependency injection | Restrictions: Must maintain interface segregation principle, do not expose internal implementation details, ensure contract compatibility with DI container | Success: Interface is well-defined with clear method signatures, extends base service appropriately, supports all required service operations_
84
+
85
+ - [ ] 6. Implement feature service in src/services/FeatureService.ts
86
+ - File: src/services/FeatureService.ts
87
+ - Create concrete service implementation using FeatureModel
88
+ - Add error handling with existing error utilities
89
+ - Purpose: Provide business logic layer for feature operations
90
+ - _Leverage: src/services/BaseService.ts, src/utils/errorHandler.ts, src/models/FeatureModel.ts_
91
+ - _Requirements: 3.2_
92
+ - _Prompt: Role: Backend Developer with expertise in service layer architecture and business logic | Task: Implement concrete FeatureService following requirement 3.2, using FeatureModel and extending BaseService patterns with proper error handling from src/utils/errorHandler.ts | Restrictions: Must implement interface contract exactly, do not bypass model validation, maintain separation of concerns from data layer | Success: Service implements all interface methods correctly, robust error handling implemented, business logic is well-encapsulated and testable_
93
+
94
+ - [ ] 7. Add service dependency injection in src/utils/di.ts
95
+ - File: src/utils/di.ts (modify existing)
96
+ - Register FeatureService in dependency injection container
97
+ - Configure service lifetime and dependencies
98
+ - Purpose: Enable service injection throughout application
99
+ - _Leverage: existing DI configuration in src/utils/di.ts_
100
+ - _Requirements: 3.1_
101
+ - _Prompt: Role: DevOps Engineer with expertise in dependency injection and IoC containers | Task: Register FeatureService in DI container following requirement 3.1, configuring appropriate lifetime and dependencies using existing patterns from src/utils/di.ts | Restrictions: Must follow existing DI container patterns, do not create circular dependencies, maintain service resolution efficiency | Success: FeatureService is properly registered and resolvable, dependencies are correctly configured, service lifetime is appropriate for use case_
102
+
103
+ - [ ] 8. Create service unit tests in tests/services/FeatureService.test.ts
104
+ - File: tests/services/FeatureService.test.ts
105
+ - Write tests for service methods with mocked dependencies
106
+ - Test error handling scenarios
107
+ - Purpose: Ensure service reliability and proper error handling
108
+ - _Leverage: tests/helpers/testUtils.ts, tests/mocks/modelMocks.ts_
109
+ - _Requirements: 3.2, 3.3_
110
+ - _Prompt: Role: QA Engineer with expertise in service testing and mocking frameworks | Task: Create comprehensive unit tests for FeatureService methods covering requirements 3.2 and 3.3, using mocked dependencies from tests/mocks/modelMocks.ts and test utilities | Restrictions: Must mock all external dependencies, test business logic in isolation, do not test framework code | Success: All service methods tested with proper mocking, error scenarios covered, tests verify business logic correctness and error handling_
111
+
112
+ - [ ] 4. Create API endpoints
113
+ - Design API structure
114
+ - _Leverage: src/api/baseApi.ts, src/utils/apiUtils.ts_
115
+ - _Requirements: 4.0_
116
+ - _Prompt: Role: API Architect specializing in RESTful design and Express.js | Task: Design comprehensive API structure following requirement 4.0, leveraging existing patterns from src/api/baseApi.ts and utilities from src/utils/apiUtils.ts | Restrictions: Must follow REST conventions, maintain API versioning compatibility, do not expose internal data structures directly | Success: API structure is well-designed and documented, follows existing patterns, supports all required operations with proper HTTP methods and status codes_
117
+
118
+ - [ ] 4.1 Set up routing and middleware
119
+ - Configure application routes
120
+ - Add authentication middleware
121
+ - Set up error handling middleware
122
+ - _Leverage: src/middleware/auth.ts, src/middleware/errorHandler.ts_
123
+ - _Requirements: 4.1_
124
+ - _Prompt: Role: Backend Developer with expertise in Express.js middleware and routing | Task: Configure application routes and middleware following requirement 4.1, integrating authentication from src/middleware/auth.ts and error handling from src/middleware/errorHandler.ts | Restrictions: Must maintain middleware order, do not bypass security middleware, ensure proper error propagation | Success: Routes are properly configured with correct middleware chain, authentication works correctly, errors are handled gracefully throughout the request lifecycle_
125
+
126
+ - [ ] 4.2 Implement CRUD endpoints
127
+ - Create API endpoints
128
+ - Add request validation
129
+ - Write API integration tests
130
+ - _Leverage: src/controllers/BaseController.ts, src/utils/validation.ts_
131
+ - _Requirements: 4.2, 4.3_
132
+ - _Prompt: Role: Full-stack Developer with expertise in API development and validation | Task: Implement CRUD endpoints following requirements 4.2 and 4.3, extending BaseController patterns and using validation utilities from src/utils/validation.ts | Restrictions: Must validate all inputs, follow existing controller patterns, ensure proper HTTP status codes and responses | Success: All CRUD operations work correctly, request validation prevents invalid data, integration tests pass and cover all endpoints_
133
+
134
+ - [ ] 5. Add frontend components
135
+ - Plan component architecture
136
+ - _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_
137
+ - _Requirements: 5.0_
138
+ - _Prompt: Role: Frontend Architect with expertise in React component design and architecture | Task: Plan comprehensive component architecture following requirement 5.0, leveraging base patterns from src/components/BaseComponent.tsx and theme system from src/styles/theme.ts | Restrictions: Must follow existing component patterns, maintain design system consistency, ensure component reusability | Success: Architecture is well-planned and documented, components are properly organized, follows existing patterns and theme system_
139
+
140
+ - [ ] 5.1 Create base UI components
141
+ - Set up component structure
142
+ - Implement reusable components
143
+ - Add styling and theming
144
+ - _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_
145
+ - _Requirements: 5.1_
146
+ - _Prompt: Role: Frontend Developer specializing in React and component architecture | Task: Create reusable UI components following requirement 5.1, extending BaseComponent patterns and using existing theme system from src/styles/theme.ts | Restrictions: Must use existing theme variables, follow component composition patterns, ensure accessibility compliance | Success: Components are reusable and properly themed, follow existing architecture, accessible and responsive_
147
+
148
+ - [ ] 5.2 Implement feature-specific components
149
+ - Create feature components
150
+ - Add state management
151
+ - Connect to API endpoints
152
+ - _Leverage: src/hooks/useApi.ts, src/components/BaseComponent.tsx_
153
+ - _Requirements: 5.2, 5.3_
154
+ - _Prompt: Role: React Developer with expertise in state management and API integration | Task: Implement feature-specific components following requirements 5.2 and 5.3, using API hooks from src/hooks/useApi.ts and extending BaseComponent patterns | Restrictions: Must use existing state management patterns, handle loading and error states properly, maintain component performance | Success: Components are fully functional with proper state management, API integration works smoothly, user experience is responsive and intuitive_
155
+
156
+ - [ ] 6. Integration and testing
157
+ - Plan integration approach and identify affected runbook sections for TDD test authoring
158
+ - _Leverage: tests/runbook/*.md, /browserbase-test-maintenance skill_
159
+ - _Requirements: 6.0_
160
+ - _Prompt: Role: Integration Engineer with expertise in system integration and testing strategies | Task: Plan comprehensive integration approach following requirement 6.0. Identify which tests/runbook/ section files are affected by this spec and write new runbook test blocks BEFORE implementation tasks begin (TDD). Use the /browserbase-test-maintenance skill for format guidance and section mapping. | Restrictions: Must consider all system components, ensure proper test coverage, write tests in the standard 7-field runbook format | Success: Integration plan is comprehensive, runbook test blocks are written for all new user-facing behavior, tests are appended to the correct section files_
161
+
162
+ - [ ] 6.1 Write end-to-end runbook tests (TDD — write BEFORE implementation)
163
+ - Write runbook test blocks in tests/runbook/*.md for new user-facing behavior
164
+ - Use the /browserbase-test-maintenance skill for the standard 7-field format
165
+ - Map implementation changes to the correct runbook section file
166
+ - _Leverage: /browserbase-test-maintenance skill, tests/runbook/*.md section files_
167
+ - _Requirements: All_
168
+ - _Prompt: Role: QA Automation Engineer with expertise in Browserbase/Stagehand natural-language browser automation | Task: Write runbook test blocks in tests/runbook/*.md for all new user-facing behavior using the /browserbase-test-maintenance skill. Each test block must use the 7-field format (Test name, Added, Preconditions, Steps, Pass criteria, Tags, Section). Map changes to the correct section file. After implementation, verify by running /bb-test sections=NN against the PR preview URL. | Restrictions: Use the standard runbook format, append to section files (never modify existing tests), act steps must be atomic. No Playwright, no browserless. | Success: All new user-facing behavior has corresponding runbook test blocks, tests pass when run via /bb-test against the PR preview URL_
169
+
170
+ - [ ] 6.2 Verify tests against PR preview
171
+ - Run /bb-test sections=NN against PR preview URL to verify all new tests pass
172
+ - _Leverage: /bb-test skill, PR preview URL from gh pr checks_
173
+ - _Requirements: All_
174
+ - _Prompt: Role: QA Automation Engineer | Task: Run /bb-test sections=NN against the PR preview URL to verify all new runbook tests pass. Get the preview URL with: gh pr checks <PR_NUMBER> --json name,state,targetUrl. For 1-3 tests, consider manual verification via Chrome DevTools instead of a full Browserbase session. | Restrictions: Do NOT use Playwright or browserless. | Success: All new tests pass against the PR preview URL_
175
+
176
+ - [ ] 6.3 Final integration and cleanup
177
+ - Integrate all components
178
+ - Fix any integration issues
179
+ - Clean up code and documentation
180
+ - _Leverage: src/utils/cleanup.ts, docs/templates/_
181
+ - _Requirements: All_
182
+ - _Prompt: Role: Senior Developer with expertise in code quality and system integration | Task: Complete final integration of all components and perform comprehensive cleanup covering all requirements, using cleanup utilities and documentation templates | Restrictions: Must not break existing functionality, ensure code quality standards are met, maintain documentation consistency | Success: All components are fully integrated and working together, code is clean and well-documented, system meets all requirements and quality standards_