@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.
- package/CHANGELOG.md +955 -0
- package/LICENSE +674 -0
- package/README.ar.md +314 -0
- package/README.de.md +314 -0
- package/README.es.md +314 -0
- package/README.fr.md +314 -0
- package/README.it.md +314 -0
- package/README.ja.md +316 -0
- package/README.ko.md +314 -0
- package/README.md +239 -0
- package/README.pt.md +314 -0
- package/README.ru.md +314 -0
- package/README.zh.md +314 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +264 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/index-args.test.d.ts +2 -0
- package/dist/__tests__/index-args.test.d.ts.map +1 -0
- package/dist/__tests__/index-args.test.js +43 -0
- package/dist/__tests__/index-args.test.js.map +1 -0
- package/dist/__tests__/index-entrypoint.test.d.ts +2 -0
- package/dist/__tests__/index-entrypoint.test.d.ts.map +1 -0
- package/dist/__tests__/index-entrypoint.test.js +23 -0
- package/dist/__tests__/index-entrypoint.test.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +188 -0
- package/dist/config.js.map +1 -0
- package/dist/core/__tests__/git-utils.test.d.ts +2 -0
- package/dist/core/__tests__/git-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/git-utils.test.js +179 -0
- package/dist/core/__tests__/git-utils.test.js.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts +2 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.js +42 -0
- package/dist/core/__tests__/mdx-validator.test.js.map +1 -0
- package/dist/core/__tests__/path-utils.test.d.ts +2 -0
- package/dist/core/__tests__/path-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/path-utils.test.js +344 -0
- package/dist/core/__tests__/path-utils.test.js.map +1 -0
- package/dist/core/__tests__/project-registry.test.d.ts +2 -0
- package/dist/core/__tests__/project-registry.test.d.ts.map +1 -0
- package/dist/core/__tests__/project-registry.test.js +62 -0
- package/dist/core/__tests__/project-registry.test.js.map +1 -0
- package/dist/core/__tests__/security-utils.test.d.ts +2 -0
- package/dist/core/__tests__/security-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/security-utils.test.js +643 -0
- package/dist/core/__tests__/security-utils.test.js.map +1 -0
- package/dist/core/__tests__/task-validator.test.d.ts +2 -0
- package/dist/core/__tests__/task-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/task-validator.test.js +237 -0
- package/dist/core/__tests__/task-validator.test.js.map +1 -0
- package/dist/core/archive-service.d.ts +10 -0
- package/dist/core/archive-service.d.ts.map +1 -0
- package/dist/core/archive-service.js +99 -0
- package/dist/core/archive-service.js.map +1 -0
- package/dist/core/dashboard-session.d.ts +49 -0
- package/dist/core/dashboard-session.d.ts.map +1 -0
- package/dist/core/dashboard-session.js +132 -0
- package/dist/core/dashboard-session.js.map +1 -0
- package/dist/core/git-utils.d.ts +25 -0
- package/dist/core/git-utils.d.ts.map +1 -0
- package/dist/core/git-utils.js +87 -0
- package/dist/core/git-utils.js.map +1 -0
- package/dist/core/global-dir.d.ts +44 -0
- package/dist/core/global-dir.d.ts.map +1 -0
- package/dist/core/global-dir.js +74 -0
- package/dist/core/global-dir.js.map +1 -0
- package/dist/core/implementation-log-migrator.d.ts +41 -0
- package/dist/core/implementation-log-migrator.d.ts.map +1 -0
- package/dist/core/implementation-log-migrator.js +258 -0
- package/dist/core/implementation-log-migrator.js.map +1 -0
- package/dist/core/mdx-validator.d.ts +14 -0
- package/dist/core/mdx-validator.d.ts.map +1 -0
- package/dist/core/mdx-validator.js +34 -0
- package/dist/core/mdx-validator.js.map +1 -0
- package/dist/core/parser.d.ts +12 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +144 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +63 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +288 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/project-registry.d.ts +94 -0
- package/dist/core/project-registry.d.ts.map +1 -0
- package/dist/core/project-registry.js +293 -0
- package/dist/core/project-registry.js.map +1 -0
- package/dist/core/security-utils.d.ts +97 -0
- package/dist/core/security-utils.d.ts.map +1 -0
- package/dist/core/security-utils.js +264 -0
- package/dist/core/security-utils.js.map +1 -0
- package/dist/core/task-parser.d.ts +63 -0
- package/dist/core/task-parser.d.ts.map +1 -0
- package/dist/core/task-parser.js +332 -0
- package/dist/core/task-parser.js.map +1 -0
- package/dist/core/task-validator.d.ts +35 -0
- package/dist/core/task-validator.d.ts.map +1 -0
- package/dist/core/task-validator.js +236 -0
- package/dist/core/task-validator.js.map +1 -0
- package/dist/core/workspace-initializer.d.ts +16 -0
- package/dist/core/workspace-initializer.d.ts.map +1 -0
- package/dist/core/workspace-initializer.js +168 -0
- package/dist/core/workspace-initializer.js.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts +2 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js +69 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts +2 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js +116 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts +2 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js +118 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js.map +1 -0
- package/dist/dashboard/approval-storage.d.ts +139 -0
- package/dist/dashboard/approval-storage.d.ts.map +1 -0
- package/dist/dashboard/approval-storage.js +586 -0
- package/dist/dashboard/approval-storage.js.map +1 -0
- package/dist/dashboard/execution-history-manager.d.ts +52 -0
- package/dist/dashboard/execution-history-manager.d.ts.map +1 -0
- package/dist/dashboard/execution-history-manager.js +161 -0
- package/dist/dashboard/execution-history-manager.js.map +1 -0
- package/dist/dashboard/implementation-log-manager.d.ts +97 -0
- package/dist/dashboard/implementation-log-manager.d.ts.map +1 -0
- package/dist/dashboard/implementation-log-manager.js +625 -0
- package/dist/dashboard/implementation-log-manager.js.map +1 -0
- package/dist/dashboard/job-scheduler.d.ts +91 -0
- package/dist/dashboard/job-scheduler.d.ts.map +1 -0
- package/dist/dashboard/job-scheduler.js +321 -0
- package/dist/dashboard/job-scheduler.js.map +1 -0
- package/dist/dashboard/multi-server.d.ts +42 -0
- package/dist/dashboard/multi-server.d.ts.map +1 -0
- package/dist/dashboard/multi-server.js +1304 -0
- package/dist/dashboard/multi-server.js.map +1 -0
- package/dist/dashboard/parser.d.ts +19 -0
- package/dist/dashboard/parser.d.ts.map +1 -0
- package/dist/dashboard/parser.js +290 -0
- package/dist/dashboard/parser.js.map +1 -0
- package/dist/dashboard/project-manager.d.ts +82 -0
- package/dist/dashboard/project-manager.d.ts.map +1 -0
- package/dist/dashboard/project-manager.js +257 -0
- package/dist/dashboard/project-manager.js.map +1 -0
- package/dist/dashboard/public/assets/Inter-Bold-CD3Pr7BX.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Medium-B_8v_WHh.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Regular-DRVdRqcI.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-SemiBold-CtskMddL.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Bold-D4WEaHbo.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Regular-BQaDgvhP.woff2 +0 -0
- package/dist/dashboard/public/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dist/dashboard/public/assets/apl-B4CMkyY2.js +1 -0
- package/dist/dashboard/public/assets/arc-CtYZ6WTd.js +1 -0
- package/dist/dashboard/public/assets/array-BKyUJesY.js +1 -0
- package/dist/dashboard/public/assets/asciiarmor-Df11BRmG.js +1 -0
- package/dist/dashboard/public/assets/asn1-EdZsLKOL.js +1 -0
- package/dist/dashboard/public/assets/asterisk-B-8jnY81.js +1 -0
- package/dist/dashboard/public/assets/blockDiagram-c4efeb88-CzEvDZI5.js +118 -0
- package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/dist/dashboard/public/assets/c4Diagram-c83219d4-CuPd1dkK.js +10 -0
- package/dist/dashboard/public/assets/channel-kGGkJUti.js +1 -0
- package/dist/dashboard/public/assets/classDiagram-beda092f-CDTLUu9K.js +2 -0
- package/dist/dashboard/public/assets/classDiagram-v2-2358418a-BlHqrcgN.js +2 -0
- package/dist/dashboard/public/assets/clike-B9uivgTg.js +1 -0
- package/dist/dashboard/public/assets/clojure-BMjYHr_A.js +1 -0
- package/dist/dashboard/public/assets/clone-CHdfA33T.js +1 -0
- package/dist/dashboard/public/assets/cmake-BQqOBYOt.js +1 -0
- package/dist/dashboard/public/assets/cobol-CWcv1MsR.js +1 -0
- package/dist/dashboard/public/assets/coffeescript-S37ZYGWr.js +1 -0
- package/dist/dashboard/public/assets/commonlisp-DBKNyK5s.js +1 -0
- package/dist/dashboard/public/assets/createText-1719965b-B3cTooQ1.js +7 -0
- package/dist/dashboard/public/assets/crystal-SjHAIU92.js +1 -0
- package/dist/dashboard/public/assets/css-BnMrqG3P.js +1 -0
- package/dist/dashboard/public/assets/cypher-C_CwsFkJ.js +1 -0
- package/dist/dashboard/public/assets/d-pRatUO7H.js +1 -0
- package/dist/dashboard/public/assets/diff-DbItnlRl.js +1 -0
- package/dist/dashboard/public/assets/dockerfile-BKs6k2Af.js +1 -0
- package/dist/dashboard/public/assets/dtd-DF_7sFjM.js +1 -0
- package/dist/dashboard/public/assets/dylan-DwRh75JA.js +1 -0
- package/dist/dashboard/public/assets/ebnf-CDyGwa7X.js +1 -0
- package/dist/dashboard/public/assets/ecl-Cabwm37j.js +1 -0
- package/dist/dashboard/public/assets/edges-96097737-CbHatH6o.js +4 -0
- package/dist/dashboard/public/assets/eiffel-CnydiIhH.js +1 -0
- package/dist/dashboard/public/assets/elm-vLlmbW-K.js +1 -0
- package/dist/dashboard/public/assets/erDiagram-0228fc6a-MYCicRH6.js +51 -0
- package/dist/dashboard/public/assets/erlang-BNw1qcRV.js +1 -0
- package/dist/dashboard/public/assets/factor-kuTfRLto.js +1 -0
- package/dist/dashboard/public/assets/fcl-Kvtd6kyn.js +1 -0
- package/dist/dashboard/public/assets/flowDb-c6c81e3f-DDm9aBGx.js +10 -0
- package/dist/dashboard/public/assets/flowDiagram-50d868cf-zb-JtJG0.js +4 -0
- package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-DRD7GAtr.js +1 -0
- package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-D5TGPnG-.js +139 -0
- package/dist/dashboard/public/assets/forth-Ffai-XNe.js +1 -0
- package/dist/dashboard/public/assets/fortran-DYz_wnZ1.js +1 -0
- package/dist/dashboard/public/assets/ganttDiagram-a2739b55-Cqst4HhR.js +257 -0
- package/dist/dashboard/public/assets/gas-Bneqetm1.js +1 -0
- package/dist/dashboard/public/assets/gherkin-heZmZLOM.js +1 -0
- package/dist/dashboard/public/assets/gitGraphDiagram-82fe8481-C8JWqtTx.js +70 -0
- package/dist/dashboard/public/assets/graph-Lpyd8dqZ.js +1 -0
- package/dist/dashboard/public/assets/groovy-D9Dt4D0W.js +1 -0
- package/dist/dashboard/public/assets/haskell-Cw1EW3IL.js +1 -0
- package/dist/dashboard/public/assets/haxe-H-WmDvRZ.js +1 -0
- package/dist/dashboard/public/assets/http-DBlCnlav.js +1 -0
- package/dist/dashboard/public/assets/idl-BEugSyMb.js +1 -0
- package/dist/dashboard/public/assets/index--_-9KDkB.js +1 -0
- package/dist/dashboard/public/assets/index-5325376f-Ngqm3jj1.js +1 -0
- package/dist/dashboard/public/assets/index-7POr4IQt.js +1 -0
- package/dist/dashboard/public/assets/index-B2wloU4M.js +7 -0
- package/dist/dashboard/public/assets/index-BB9i8dPx.js +329 -0
- package/dist/dashboard/public/assets/index-BHCmvfMN.js +1 -0
- package/dist/dashboard/public/assets/index-BWvyG2sq.js +1 -0
- package/dist/dashboard/public/assets/index-BhwV70vC.js +2 -0
- package/dist/dashboard/public/assets/index-Bqk8CAAy.js +1 -0
- package/dist/dashboard/public/assets/index-CUP35nar.js +1 -0
- package/dist/dashboard/public/assets/index-CYy3mVaI.js +1 -0
- package/dist/dashboard/public/assets/index-Cqbzr5qD.js +3 -0
- package/dist/dashboard/public/assets/index-Cv_FT1Rp.css +1 -0
- package/dist/dashboard/public/assets/index-D4J257wx.js +1 -0
- package/dist/dashboard/public/assets/index-D9fDAa7f.js +1 -0
- package/dist/dashboard/public/assets/index-DFN4bEYo.js +1 -0
- package/dist/dashboard/public/assets/index-DQ2Aap_e.js +1 -0
- package/dist/dashboard/public/assets/index-Djo38KZb.js +1 -0
- package/dist/dashboard/public/assets/index-RZXsuDxo.js +1 -0
- package/dist/dashboard/public/assets/index-m5SRqxVX.js +1 -0
- package/dist/dashboard/public/assets/infoDiagram-8eee0895-DYMb32US.js +7 -0
- package/dist/dashboard/public/assets/init-Gi6I4Gst.js +1 -0
- package/dist/dashboard/public/assets/javascript-iXu5QeM3.js +1 -0
- package/dist/dashboard/public/assets/journeyDiagram-c64418c1-BgL0JuAb.js +139 -0
- package/dist/dashboard/public/assets/julia-DuME0IfC.js +1 -0
- package/dist/dashboard/public/assets/katex-XbL3y5x-.js +261 -0
- package/dist/dashboard/public/assets/layout-DP9fJAz2.js +1 -0
- package/dist/dashboard/public/assets/line-N_NGiB5u.js +1 -0
- package/dist/dashboard/public/assets/linear-B1Bl-FQE.js +1 -0
- package/dist/dashboard/public/assets/livescript-BwQOo05w.js +1 -0
- package/dist/dashboard/public/assets/lua-BgMRiT3U.js +1 -0
- package/dist/dashboard/public/assets/mathematica-DTrFuWx2.js +1 -0
- package/dist/dashboard/public/assets/mbox-CNhZ1qSd.js +1 -0
- package/dist/dashboard/public/assets/mindmap-definition-8da855dc-DuejFf1j.js +415 -0
- package/dist/dashboard/public/assets/mirc-CjQqDB4T.js +1 -0
- package/dist/dashboard/public/assets/mllike-CXdrOF99.js +1 -0
- package/dist/dashboard/public/assets/modelica-Dc1JOy9r.js +1 -0
- package/dist/dashboard/public/assets/mscgen-BA5vi2Kp.js +1 -0
- package/dist/dashboard/public/assets/mumps-BT43cFF4.js +1 -0
- package/dist/dashboard/public/assets/nginx-DdIZxoE0.js +1 -0
- package/dist/dashboard/public/assets/nsis-LdVXkNf5.js +1 -0
- package/dist/dashboard/public/assets/ntriples-BfvgReVJ.js +1 -0
- package/dist/dashboard/public/assets/octave-Ck1zUtKM.js +1 -0
- package/dist/dashboard/public/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/dashboard/public/assets/oz-BzwKVEFT.js +1 -0
- package/dist/dashboard/public/assets/pascal--L3eBynH.js +1 -0
- package/dist/dashboard/public/assets/path-CbwjOpE9.js +1 -0
- package/dist/dashboard/public/assets/perl-CdXCOZ3F.js +1 -0
- package/dist/dashboard/public/assets/pieDiagram-a8764435-fJ2uKW1i.js +35 -0
- package/dist/dashboard/public/assets/pig-CevX1Tat.js +1 -0
- package/dist/dashboard/public/assets/powershell-CFHJl5sT.js +1 -0
- package/dist/dashboard/public/assets/properties-C78fOPTZ.js +1 -0
- package/dist/dashboard/public/assets/protobuf-ChK-085T.js +1 -0
- package/dist/dashboard/public/assets/pug-DeIclll2.js +1 -0
- package/dist/dashboard/public/assets/puppet-DMA9R1ak.js +1 -0
- package/dist/dashboard/public/assets/python-BuPzkPfP.js +1 -0
- package/dist/dashboard/public/assets/q-pXgVlZs6.js +1 -0
- package/dist/dashboard/public/assets/quadrantDiagram-1e28029f-Dowa1iq5.js +7 -0
- package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
- package/dist/dashboard/public/assets/requirementDiagram-08caed73-1PKeJnUu.js +52 -0
- package/dist/dashboard/public/assets/rpm-CTu-6PCP.js +1 -0
- package/dist/dashboard/public/assets/ruby-B2Rjki9n.js +1 -0
- package/dist/dashboard/public/assets/sankeyDiagram-a04cb91d-C3Nu91E8.js +8 -0
- package/dist/dashboard/public/assets/sas-B4kiWyti.js +1 -0
- package/dist/dashboard/public/assets/scheme-C41bIUwD.js +1 -0
- package/dist/dashboard/public/assets/sequenceDiagram-c5b8d532-BbyYeaFb.js +122 -0
- package/dist/dashboard/public/assets/shell-CjFT_Tl9.js +1 -0
- package/dist/dashboard/public/assets/sieve-C3Gn_uJK.js +1 -0
- package/dist/dashboard/public/assets/simple-mode-GW_nhZxv.js +1 -0
- package/dist/dashboard/public/assets/smalltalk-CnHTOXQT.js +1 -0
- package/dist/dashboard/public/assets/solr-DehyRSwq.js +1 -0
- package/dist/dashboard/public/assets/sparql-DkYu6x3z.js +1 -0
- package/dist/dashboard/public/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/dist/dashboard/public/assets/sql-D0XecflT.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-1ecb1508-BVkb4gIE.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-Bm7qug6Q.js +1 -0
- package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
- package/dist/dashboard/public/assets/styles-b4e223ce-BuqydlKk.js +160 -0
- package/dist/dashboard/public/assets/styles-ca3715f6-C8L7peEM.js +207 -0
- package/dist/dashboard/public/assets/styles-d45a18b0-BbrCCPkQ.js +116 -0
- package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
- package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-DQZAHvSt.js +1 -0
- package/dist/dashboard/public/assets/swift-BzpIVaGY.js +1 -0
- package/dist/dashboard/public/assets/tcl-DVfN8rqt.js +1 -0
- package/dist/dashboard/public/assets/textile-CnDTJFAw.js +1 -0
- package/dist/dashboard/public/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/dist/dashboard/public/assets/tiki-DGYXhP31.js +1 -0
- package/dist/dashboard/public/assets/timeline-definition-faaaa080-YPoIuE--.js +61 -0
- package/dist/dashboard/public/assets/toml-Bm5Em-hy.js +1 -0
- package/dist/dashboard/public/assets/troff-wAsdV37c.js +1 -0
- package/dist/dashboard/public/assets/ttcn-CfJYG6tj.js +1 -0
- package/dist/dashboard/public/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/dist/dashboard/public/assets/turtle-B1tBg_DP.js +1 -0
- package/dist/dashboard/public/assets/vb-CmGdzxic.js +1 -0
- package/dist/dashboard/public/assets/vbscript-BuJXcnF6.js +1 -0
- package/dist/dashboard/public/assets/velocity-D8B20fx6.js +1 -0
- package/dist/dashboard/public/assets/verilog-C6RDOZhf.js +1 -0
- package/dist/dashboard/public/assets/vhdl-lSbBsy5d.js +1 -0
- package/dist/dashboard/public/assets/webidl-ZXfAyPTL.js +1 -0
- package/dist/dashboard/public/assets/xquery-DzFWVndE.js +1 -0
- package/dist/dashboard/public/assets/xychartDiagram-f5964ef8-BnI4pVWV.js +7 -0
- package/dist/dashboard/public/assets/yacas-BJ4BC0dw.js +1 -0
- package/dist/dashboard/public/assets/z80-Hz9HOZM7.js +1 -0
- package/dist/dashboard/public/claude-icon-dark.svg +1 -0
- package/dist/dashboard/public/claude-icon.svg +1 -0
- package/dist/dashboard/public/index.html +16 -0
- package/dist/dashboard/settings-manager.d.ts +47 -0
- package/dist/dashboard/settings-manager.d.ts.map +1 -0
- package/dist/dashboard/settings-manager.js +180 -0
- package/dist/dashboard/settings-manager.js.map +1 -0
- package/dist/dashboard/utils.d.ts +31 -0
- package/dist/dashboard/utils.d.ts.map +1 -0
- package/dist/dashboard/utils.js +102 -0
- package/dist/dashboard/utils.js.map +1 -0
- package/dist/dashboard/watcher.d.ts +32 -0
- package/dist/dashboard/watcher.d.ts.map +1 -0
- package/dist/dashboard/watcher.js +173 -0
- package/dist/dashboard/watcher.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +380 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown/templates/code-quality-reviewer-template.md +76 -0
- package/dist/markdown/templates/design-template.md +141 -0
- package/dist/markdown/templates/implementer-prompt-template.md +122 -0
- package/dist/markdown/templates/product-template.md +51 -0
- package/dist/markdown/templates/requirements-template.md +73 -0
- package/dist/markdown/templates/spec-reviewer-template.md +58 -0
- package/dist/markdown/templates/structure-template.md +145 -0
- package/dist/markdown/templates/tasks-template.md +182 -0
- package/dist/markdown/templates/tech-template.md +99 -0
- package/dist/prompts/create-spec.d.ts +3 -0
- package/dist/prompts/create-spec.d.ts.map +1 -0
- package/dist/prompts/create-spec.js +93 -0
- package/dist/prompts/create-spec.js.map +1 -0
- package/dist/prompts/create-steering-doc.d.ts +3 -0
- package/dist/prompts/create-steering-doc.d.ts.map +1 -0
- package/dist/prompts/create-steering-doc.js +73 -0
- package/dist/prompts/create-steering-doc.js.map +1 -0
- package/dist/prompts/implement-task.d.ts +3 -0
- package/dist/prompts/implement-task.d.ts.map +1 -0
- package/dist/prompts/implement-task.js +189 -0
- package/dist/prompts/implement-task.js.map +1 -0
- package/dist/prompts/index.d.ts +15 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +49 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts +3 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.js +47 -0
- package/dist/prompts/inject-spec-workflow-guide.js.map +1 -0
- package/dist/prompts/inject-steering-guide.d.ts +3 -0
- package/dist/prompts/inject-steering-guide.d.ts.map +1 -0
- package/dist/prompts/inject-steering-guide.js +51 -0
- package/dist/prompts/inject-steering-guide.js.map +1 -0
- package/dist/prompts/refresh-tasks.d.ts +3 -0
- package/dist/prompts/refresh-tasks.d.ts.map +1 -0
- package/dist/prompts/refresh-tasks.js +224 -0
- package/dist/prompts/refresh-tasks.js.map +1 -0
- package/dist/prompts/spec-status.d.ts +3 -0
- package/dist/prompts/spec-status.d.ts.map +1 -0
- package/dist/prompts/spec-status.js +75 -0
- package/dist/prompts/spec-status.js.map +1 -0
- package/dist/prompts/types.d.ts +13 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +2 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/__tests__/projectPath.test.d.ts +2 -0
- package/dist/tools/__tests__/projectPath.test.d.ts.map +1 -0
- package/dist/tools/__tests__/projectPath.test.js +187 -0
- package/dist/tools/__tests__/projectPath.test.js.map +1 -0
- package/dist/tools/approvals.d.ts +14 -0
- package/dist/tools/approvals.d.ts.map +1 -0
- package/dist/tools/approvals.js +501 -0
- package/dist/tools/approvals.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +57 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/log-implementation.d.ts +5 -0
- package/dist/tools/log-implementation.d.ts.map +1 -0
- package/dist/tools/log-implementation.js +446 -0
- package/dist/tools/log-implementation.js.map +1 -0
- package/dist/tools/spec-list.d.ts +5 -0
- package/dist/tools/spec-list.d.ts.map +1 -0
- package/dist/tools/spec-list.js +144 -0
- package/dist/tools/spec-list.js.map +1 -0
- package/dist/tools/spec-status.d.ts +5 -0
- package/dist/tools/spec-status.d.ts.map +1 -0
- package/dist/tools/spec-status.js +238 -0
- package/dist/tools/spec-status.js.map +1 -0
- package/dist/tools/spec-workflow-guide.d.ts +5 -0
- package/dist/tools/spec-workflow-guide.d.ts.map +1 -0
- package/dist/tools/spec-workflow-guide.js +580 -0
- package/dist/tools/spec-workflow-guide.js.map +1 -0
- package/dist/tools/steering-guide.d.ts +5 -0
- package/dist/tools/steering-guide.d.ts.map +1 -0
- package/dist/tools/steering-guide.js +192 -0
- package/dist/tools/steering-guide.js.map +1 -0
- package/dist/types.d.ts +186 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/package.json +105 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
[Describe what kind of project this is: web application, CLI tool, desktop application, mobile app, library, API service, embedded system, game, etc.]
|
|
5
|
+
|
|
6
|
+
## Core Technologies
|
|
7
|
+
|
|
8
|
+
### Primary Language(s)
|
|
9
|
+
- **Language**: [e.g., Python 3.11, Go 1.21, TypeScript, Rust, C++]
|
|
10
|
+
- **Runtime/Compiler**: [if applicable]
|
|
11
|
+
- **Language-specific tools**: [package managers, build tools, etc.]
|
|
12
|
+
|
|
13
|
+
### Key Dependencies/Libraries
|
|
14
|
+
[List the main libraries and frameworks your project depends on]
|
|
15
|
+
- **[Library/Framework name]**: [Purpose and version]
|
|
16
|
+
- **[Library/Framework name]**: [Purpose and version]
|
|
17
|
+
|
|
18
|
+
### Application Architecture
|
|
19
|
+
[Describe how your application is structured - this could be MVC, event-driven, plugin-based, client-server, standalone, microservices, monolithic, etc.]
|
|
20
|
+
|
|
21
|
+
### Data Storage (if applicable)
|
|
22
|
+
- **Primary storage**: [e.g., PostgreSQL, files, in-memory, cloud storage]
|
|
23
|
+
- **Caching**: [e.g., Redis, in-memory, disk cache]
|
|
24
|
+
- **Data formats**: [e.g., JSON, Protocol Buffers, XML, binary]
|
|
25
|
+
|
|
26
|
+
### External Integrations (if applicable)
|
|
27
|
+
- **APIs**: [External services you integrate with]
|
|
28
|
+
- **Protocols**: [e.g., HTTP/REST, gRPC, WebSocket, TCP/IP]
|
|
29
|
+
- **Authentication**: [e.g., OAuth, API keys, certificates]
|
|
30
|
+
|
|
31
|
+
### Monitoring & Dashboard Technologies (if applicable)
|
|
32
|
+
- **Dashboard Framework**: [e.g., React, Vue, vanilla JS, terminal UI]
|
|
33
|
+
- **Real-time Communication**: [e.g., WebSocket, Server-Sent Events, polling]
|
|
34
|
+
- **Visualization Libraries**: [e.g., Chart.js, D3, terminal graphs]
|
|
35
|
+
- **State Management**: [e.g., Redux, Vuex, file system as source of truth]
|
|
36
|
+
|
|
37
|
+
## Development Environment
|
|
38
|
+
|
|
39
|
+
### Build & Development Tools
|
|
40
|
+
- **Build System**: [e.g., Make, CMake, Gradle, npm scripts, cargo]
|
|
41
|
+
- **Package Management**: [e.g., pip, npm, cargo, go mod, apt, brew]
|
|
42
|
+
- **Development workflow**: [e.g., hot reload, watch mode, REPL]
|
|
43
|
+
|
|
44
|
+
### Code Quality Tools
|
|
45
|
+
- **Static Analysis**: [Tools for code quality and correctness]
|
|
46
|
+
- **Formatting**: [Code style enforcement tools]
|
|
47
|
+
- **Testing Framework**: [Unit, integration, and/or end-to-end testing tools]
|
|
48
|
+
- **Documentation**: [Documentation generation tools]
|
|
49
|
+
|
|
50
|
+
### Version Control & Collaboration
|
|
51
|
+
- **VCS**: [e.g., Git, Mercurial, SVN]
|
|
52
|
+
- **Branching Strategy**: [e.g., Git Flow, GitHub Flow, trunk-based]
|
|
53
|
+
- **Code Review Process**: [How code reviews are conducted]
|
|
54
|
+
|
|
55
|
+
### Dashboard Development (if applicable)
|
|
56
|
+
- **Live Reload**: [e.g., Hot module replacement, file watchers]
|
|
57
|
+
- **Port Management**: [e.g., Dynamic allocation, configurable ports]
|
|
58
|
+
- **Multi-Instance Support**: [e.g., Running multiple dashboards simultaneously]
|
|
59
|
+
|
|
60
|
+
## Deployment & Distribution (if applicable)
|
|
61
|
+
- **Target Platform(s)**: [Where/how the project runs: cloud, on-premise, desktop, mobile, embedded]
|
|
62
|
+
- **Distribution Method**: [How users get your software: download, package manager, app store, SaaS]
|
|
63
|
+
- **Installation Requirements**: [Prerequisites, system requirements]
|
|
64
|
+
- **Update Mechanism**: [How updates are delivered]
|
|
65
|
+
|
|
66
|
+
## Technical Requirements & Constraints
|
|
67
|
+
|
|
68
|
+
### Performance Requirements
|
|
69
|
+
- [e.g., response time, throughput, memory usage, startup time]
|
|
70
|
+
- [Specific benchmarks or targets]
|
|
71
|
+
|
|
72
|
+
### Compatibility Requirements
|
|
73
|
+
- **Platform Support**: [Operating systems, architectures, versions]
|
|
74
|
+
- **Dependency Versions**: [Minimum/maximum versions of dependencies]
|
|
75
|
+
- **Standards Compliance**: [Industry standards, protocols, specifications]
|
|
76
|
+
|
|
77
|
+
### Security & Compliance
|
|
78
|
+
- **Security Requirements**: [Authentication, encryption, data protection]
|
|
79
|
+
- **Compliance Standards**: [GDPR, HIPAA, SOC2, etc. if applicable]
|
|
80
|
+
- **Threat Model**: [Key security considerations]
|
|
81
|
+
|
|
82
|
+
### Scalability & Reliability
|
|
83
|
+
- **Expected Load**: [Users, requests, data volume]
|
|
84
|
+
- **Availability Requirements**: [Uptime targets, disaster recovery]
|
|
85
|
+
- **Growth Projections**: [How the system needs to scale]
|
|
86
|
+
|
|
87
|
+
## Technical Decisions & Rationale
|
|
88
|
+
[Document key architectural and technology choices]
|
|
89
|
+
|
|
90
|
+
### Decision Log
|
|
91
|
+
1. **[Technology/Pattern Choice]**: [Why this was chosen, alternatives considered]
|
|
92
|
+
2. **[Architecture Decision]**: [Rationale, trade-offs accepted]
|
|
93
|
+
3. **[Tool/Library Selection]**: [Reasoning, evaluation criteria]
|
|
94
|
+
|
|
95
|
+
## Known Limitations
|
|
96
|
+
[Document any technical debt, limitations, or areas for improvement]
|
|
97
|
+
|
|
98
|
+
- [Limitation 1]: [Impact and potential future solutions]
|
|
99
|
+
- [Limitation 2]: [Why it exists and when it might be addressed]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/prompts/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiG9C,eAAO,MAAM,gBAAgB,EAAE,gBAG9B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const prompt = {
|
|
2
|
+
name: 'create-spec',
|
|
3
|
+
title: 'Create Specification Document',
|
|
4
|
+
description: 'Guide for creating spec documents directly in the file system. Shows how to use templates and create requirements, design, or tasks documents at the correct paths.',
|
|
5
|
+
arguments: [
|
|
6
|
+
{
|
|
7
|
+
name: 'specName',
|
|
8
|
+
description: 'Spec name with issue prefix: {ISSUE-ID}-{kebab-title} (e.g., STAK-123-user-authentication). Must start with an issue ID pattern like STAK-123-.',
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'documentType',
|
|
13
|
+
description: 'Type of document to create: requirements, design, or tasks',
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'description',
|
|
18
|
+
description: 'Brief description of what this spec should accomplish',
|
|
19
|
+
required: false
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
async function handler(args, context) {
|
|
24
|
+
const { specName, documentType, description } = args;
|
|
25
|
+
if (!specName || !documentType) {
|
|
26
|
+
throw new Error('specName and documentType are required arguments');
|
|
27
|
+
}
|
|
28
|
+
const validDocTypes = ['requirements', 'design', 'tasks'];
|
|
29
|
+
if (!validDocTypes.includes(documentType)) {
|
|
30
|
+
throw new Error(`documentType must be one of: ${validDocTypes.join(', ')}`);
|
|
31
|
+
}
|
|
32
|
+
// Build context-aware messages
|
|
33
|
+
const messages = [
|
|
34
|
+
{
|
|
35
|
+
role: 'user',
|
|
36
|
+
content: {
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: `Create a ${documentType} document for the "${specName}" feature using the spec-workflow methodology.
|
|
39
|
+
|
|
40
|
+
**Context:**
|
|
41
|
+
- Project: ${context.projectPath}
|
|
42
|
+
- Feature: ${specName}
|
|
43
|
+
- Document type: ${documentType}
|
|
44
|
+
${description ? `- Description: ${description}` : ''}
|
|
45
|
+
${context.dashboardUrl ? `- Dashboard: ${context.dashboardUrl}` : ''}
|
|
46
|
+
|
|
47
|
+
**Instructions:**
|
|
48
|
+
1. First, read the template at: .spec-workflow/templates/${documentType}-template.md
|
|
49
|
+
2. Follow the template structure exactly - this ensures consistency across the project
|
|
50
|
+
3. Create comprehensive content that follows spec-driven development best practices
|
|
51
|
+
4. Include all required sections from the template
|
|
52
|
+
5. Use clear, actionable language
|
|
53
|
+
6. Create the document at: .spec-workflow/specs/${specName}/${documentType}.md
|
|
54
|
+
7. After creating, use approvals tool with action:'request' to get user approval
|
|
55
|
+
|
|
56
|
+
**File Paths:**
|
|
57
|
+
- Template location: .spec-workflow/templates/${documentType}-template.md
|
|
58
|
+
- Document destination: .spec-workflow/specs/${specName}/${documentType}.md
|
|
59
|
+
|
|
60
|
+
**Workflow Guidelines:**
|
|
61
|
+
- Requirements documents define WHAT needs to be built
|
|
62
|
+
- Design documents define HOW it will be built
|
|
63
|
+
- Tasks documents break down implementation into actionable steps
|
|
64
|
+
- Each document builds upon the previous one in sequence
|
|
65
|
+
- Templates are automatically updated on server start
|
|
66
|
+
|
|
67
|
+
${documentType === 'tasks' ? `
|
|
68
|
+
**Special Instructions for Tasks Document:**
|
|
69
|
+
- For each task, generate a _Prompt field with structured AI guidance
|
|
70
|
+
- Format: _Prompt: Role: [role] | Task: [description] | Restrictions: [constraints] | Success: [criteria]
|
|
71
|
+
- Make prompts specific to the project context and requirements
|
|
72
|
+
- Include _Leverage fields pointing to existing code to reuse
|
|
73
|
+
- Include _Requirements fields showing which requirements each task implements
|
|
74
|
+
- Tasks should be atomic (1-3 files each) and in logical order
|
|
75
|
+
|
|
76
|
+
**Implementation Logging:**
|
|
77
|
+
- When implementing tasks, developers will use the log-implementation tool to record what was done
|
|
78
|
+
- Implementation logs appear in the dashboard's "Logs" tab for easy reference
|
|
79
|
+
- These logs prevent implementation details from being lost in chat history
|
|
80
|
+
- Good task descriptions help developers write better implementation summaries
|
|
81
|
+
` : ''}
|
|
82
|
+
|
|
83
|
+
Please read the ${documentType} template and create the comprehensive document at the specified path.`
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
];
|
|
87
|
+
return messages;
|
|
88
|
+
}
|
|
89
|
+
export const createSpecPrompt = {
|
|
90
|
+
prompt,
|
|
91
|
+
handler
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=create-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/prompts/create-spec.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,qKAAqK;IAClL,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iJAAiJ;YAC9J,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAErD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY,YAAY,sBAAsB,QAAQ;;;aAGvD,OAAO,CAAC,WAAW;aACnB,QAAQ;mBACF,YAAY;EAC7B,WAAW,CAAC,CAAC,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EAClD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;;2DAGT,YAAY;;;;;kDAKrB,QAAQ,IAAI,YAAY;;;;gDAI1B,YAAY;+CACb,QAAQ,IAAI,YAAY;;;;;;;;;EASrE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;CAc5B,CAAC,CAAC,CAAC,EAAE;;kBAEY,YAAY,wEAAwE;aAC/F;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-steering-doc.d.ts","sourceRoot":"","sources":["../../src/prompts/create-steering-doc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6E9C,eAAO,MAAM,uBAAuB,EAAE,gBAGrC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const prompt = {
|
|
2
|
+
name: 'create-steering-doc',
|
|
3
|
+
title: 'Create Steering Document',
|
|
4
|
+
description: 'Guide for creating project steering documents (product, tech, structure) directly in the file system. These provide high-level project guidance.',
|
|
5
|
+
arguments: [
|
|
6
|
+
{
|
|
7
|
+
name: 'docType',
|
|
8
|
+
description: 'Type of steering document: product, tech, or structure',
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'scope',
|
|
13
|
+
description: 'Scope of the steering document (e.g., frontend, backend, full-stack)',
|
|
14
|
+
required: false
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
async function handler(args, context) {
|
|
19
|
+
const { docType, scope } = args;
|
|
20
|
+
if (!docType) {
|
|
21
|
+
throw new Error('docType is a required argument');
|
|
22
|
+
}
|
|
23
|
+
const validDocTypes = ['product', 'tech', 'structure'];
|
|
24
|
+
if (!validDocTypes.includes(docType)) {
|
|
25
|
+
throw new Error(`docType must be one of: ${validDocTypes.join(', ')}`);
|
|
26
|
+
}
|
|
27
|
+
const messages = [
|
|
28
|
+
{
|
|
29
|
+
role: 'user',
|
|
30
|
+
content: {
|
|
31
|
+
type: 'text',
|
|
32
|
+
text: `Create a ${docType} steering document for the project.
|
|
33
|
+
|
|
34
|
+
**Context:**
|
|
35
|
+
- Project: ${context.projectPath}
|
|
36
|
+
- Steering document type: ${docType}
|
|
37
|
+
${scope ? `- Scope: ${scope}` : ''}
|
|
38
|
+
${context.dashboardUrl ? `- Dashboard: ${context.dashboardUrl}` : ''}
|
|
39
|
+
|
|
40
|
+
**Instructions:**
|
|
41
|
+
1. First, read the template at: .spec-workflow/templates/${docType}-template.md
|
|
42
|
+
2. Check if steering docs exist at: .spec-workflow/steering/
|
|
43
|
+
3. Create comprehensive content following the template structure
|
|
44
|
+
4. Create the document at: .spec-workflow/steering/${docType}.md
|
|
45
|
+
5. After creating, use approvals tool with action:'request' to get user approval
|
|
46
|
+
|
|
47
|
+
**File Paths:**
|
|
48
|
+
- Template location: .spec-workflow/templates/${docType}-template.md
|
|
49
|
+
- Document destination: .spec-workflow/steering/${docType}.md
|
|
50
|
+
|
|
51
|
+
**Steering Document Types:**
|
|
52
|
+
- **product**: Defines project vision, goals, and user outcomes
|
|
53
|
+
- **tech**: Documents technology decisions and architecture patterns
|
|
54
|
+
- **structure**: Maps codebase organization and conventions
|
|
55
|
+
|
|
56
|
+
**Key Principles:**
|
|
57
|
+
- Be specific and actionable
|
|
58
|
+
- Include examples where helpful
|
|
59
|
+
- Consider both technical and business requirements
|
|
60
|
+
- Provide clear guidance for future development
|
|
61
|
+
- Templates are automatically updated on server start
|
|
62
|
+
|
|
63
|
+
Please read the ${docType} template and create a comprehensive steering document at the specified path.`
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
return messages;
|
|
68
|
+
}
|
|
69
|
+
export const createSteeringDocPrompt = {
|
|
70
|
+
prompt,
|
|
71
|
+
handler
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=create-steering-doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-steering-doc.js","sourceRoot":"","sources":["../../src/prompts/create-steering-doc.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,kJAAkJ;IAC/J,SAAS,EAAE;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wDAAwD;YACrE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY,OAAO;;;aAGpB,OAAO,CAAC,WAAW;4BACJ,OAAO;EACjC,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;EAChC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;;2DAGT,OAAO;;;qDAGb,OAAO;;;;gDAIZ,OAAO;kDACL,OAAO;;;;;;;;;;;;;;kBAcvC,OAAO,+EAA+E;aACjG;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-task.d.ts","sourceRoot":"","sources":["../../src/prompts/implement-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgM9C,eAAO,MAAM,mBAAmB,EAAE,gBAGjC,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
const prompt = {
|
|
2
|
+
name: 'implement-task',
|
|
3
|
+
title: 'Implement Specification Task',
|
|
4
|
+
description: 'Guide for implementing a specific task from the tasks.md document. Provides comprehensive instructions for task execution, including reading _Prompt fields, marking progress, completion criteria, and logging implementation details for the dashboard.',
|
|
5
|
+
arguments: [
|
|
6
|
+
{
|
|
7
|
+
name: 'specName',
|
|
8
|
+
description: 'Feature name in kebab-case for the task to implement',
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'taskId',
|
|
13
|
+
description: 'Specific task ID to implement (e.g., "1", "2.1", "3")',
|
|
14
|
+
required: false
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
async function handler(args, context) {
|
|
19
|
+
const { specName, taskId } = args;
|
|
20
|
+
if (!specName) {
|
|
21
|
+
throw new Error('specName is a required argument');
|
|
22
|
+
}
|
|
23
|
+
const messages = [
|
|
24
|
+
{
|
|
25
|
+
role: 'user',
|
|
26
|
+
content: {
|
|
27
|
+
type: 'text',
|
|
28
|
+
text: `Implement ${taskId ? `task ${taskId}` : 'the next pending task'} for the "${specName}" feature.
|
|
29
|
+
|
|
30
|
+
**Context:**
|
|
31
|
+
- Project: ${context.projectPath}
|
|
32
|
+
- Feature: ${specName}
|
|
33
|
+
${taskId ? `- Task ID: ${taskId}` : ''}
|
|
34
|
+
${context.dashboardUrl ? `- Dashboard: ${context.dashboardUrl}` : ''}
|
|
35
|
+
|
|
36
|
+
**Implementation Workflow:**
|
|
37
|
+
|
|
38
|
+
1. **Check Current Status:**
|
|
39
|
+
- Use the spec-status tool with specName "${specName}" to see overall progress
|
|
40
|
+
- Read .spec-workflow/specs/${specName}/tasks.md to see all tasks
|
|
41
|
+
- Identify ${taskId ? `task ${taskId}` : 'the next pending task marked with [ ]'}
|
|
42
|
+
|
|
43
|
+
2. **Start the Task:**
|
|
44
|
+
- Edit .spec-workflow/specs/${specName}/tasks.md directly
|
|
45
|
+
- Change the task marker from [ ] to [-] for the task you're starting
|
|
46
|
+
- Only one task should be in-progress at a time
|
|
47
|
+
|
|
48
|
+
3. **Read Task Guidance:**
|
|
49
|
+
- Look for the _Prompt field in the task - it contains structured guidance:
|
|
50
|
+
- Role: The specialized developer role to assume
|
|
51
|
+
- Task: Clear description with context references
|
|
52
|
+
- Restrictions: What not to do and constraints
|
|
53
|
+
- Success: Specific completion criteria
|
|
54
|
+
- Note the _Leverage fields for files/utilities to use
|
|
55
|
+
- Check _Requirements fields for which requirements this implements
|
|
56
|
+
|
|
57
|
+
4. **Discover Existing Implementations (CRITICAL):**
|
|
58
|
+
- BEFORE writing any code, search implementation logs to understand existing artifacts
|
|
59
|
+
- Implementation logs are stored as markdown files in: .spec-workflow/specs/${specName}/Implementation Logs/
|
|
60
|
+
|
|
61
|
+
**Option 1: Use grep/ripgrep for fast searches**
|
|
62
|
+
\`\`\`bash
|
|
63
|
+
# Search for API endpoints
|
|
64
|
+
grep -r "GET\|POST\|PUT\|DELETE" ".spec-workflow/specs/${specName}/Implementation Logs/"
|
|
65
|
+
|
|
66
|
+
# Search for specific components
|
|
67
|
+
grep -r "ComponentName" ".spec-workflow/specs/${specName}/Implementation Logs/"
|
|
68
|
+
|
|
69
|
+
# Search for integration patterns
|
|
70
|
+
grep -r "integration\|dataFlow" ".spec-workflow/specs/${specName}/Implementation Logs/"
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
**Option 2: Read markdown files directly**
|
|
74
|
+
- Use the Read tool to examine implementation log files
|
|
75
|
+
- Search for relevant sections (## API Endpoints, ## Components, ## Functions, etc.)
|
|
76
|
+
- Review artifacts from related tasks to understand established patterns
|
|
77
|
+
|
|
78
|
+
**Discovery best practices:**
|
|
79
|
+
- First: Search for "API" or "endpoint" to find existing API patterns
|
|
80
|
+
- Second: Search for "component" or specific component names to see existing UI structures
|
|
81
|
+
- Third: Search for "integration" or "dataFlow" to understand how frontend/backend connect
|
|
82
|
+
- Why this matters:
|
|
83
|
+
- ❌ Don't create duplicate API endpoints - check for similar paths
|
|
84
|
+
- ❌ Don't reimplement components/functions - verify utilities already don't exist
|
|
85
|
+
- ❌ Don't ignore established patterns - understand middleware/integration setup
|
|
86
|
+
- ✅ Reuse existing code - leverage already-implemented functions and components
|
|
87
|
+
- ✅ Follow patterns - maintain consistency with established architecture
|
|
88
|
+
- If initial search doesn't find expected results, refine your grep patterns
|
|
89
|
+
- Document any existing related implementations before proceeding
|
|
90
|
+
- If you find existing code that does what the task asks, leverage it instead of recreating
|
|
91
|
+
|
|
92
|
+
5. **Implement the Task (dispatch subagent):**
|
|
93
|
+
- Dispatch a fresh subagent (Agent tool) with the full task text, _Prompt guidance, and _Leverage file paths
|
|
94
|
+
- Template: .spec-workflow/templates/implementer-prompt-template.md
|
|
95
|
+
- The subagent implements, tests, commits, and self-reviews
|
|
96
|
+
- Main context stays clean for orchestration — never write implementation code here
|
|
97
|
+
|
|
98
|
+
5.5. **Spec Compliance Review (dispatch reviewer subagent):**
|
|
99
|
+
- After the implementer reports back, dispatch a reviewer subagent
|
|
100
|
+
- Reviewer reads actual code and compares to task requirements line by line
|
|
101
|
+
- Template: .spec-workflow/templates/spec-reviewer-template.md
|
|
102
|
+
- If issues found: implementer fixes them, then dispatch reviewer again
|
|
103
|
+
- Do NOT proceed to step 5.6 until spec review passes ✅
|
|
104
|
+
|
|
105
|
+
5.6. **Code Quality Review (dispatch reviewer subagent):**
|
|
106
|
+
- Only dispatch AFTER spec compliance passes in step 5.5
|
|
107
|
+
- Reviewer checks: architecture, error handling, testing, production readiness
|
|
108
|
+
- Template: .spec-workflow/templates/code-quality-reviewer-template.md
|
|
109
|
+
- Issues categorized: Critical (must fix) / Important (should fix) / Minor
|
|
110
|
+
- Fix Critical and Important issues, re-review until approved ✅
|
|
111
|
+
|
|
112
|
+
6. **Log Implementation (MANDATORY - must complete BEFORE marking task done):**
|
|
113
|
+
- ⚠️ **STOP: Do NOT mark the task [x] until this step succeeds.**
|
|
114
|
+
- A task without an implementation log is NOT complete. Skipping this step is the #1 workflow violation.
|
|
115
|
+
- Call log-implementation with ALL of the following:
|
|
116
|
+
- specName: "${specName}"
|
|
117
|
+
- taskId: ${taskId ? `"${taskId}"` : 'the task ID you just completed'}
|
|
118
|
+
- summary: Clear description of what was implemented (1-2 sentences)
|
|
119
|
+
- filesModified: List of files you edited
|
|
120
|
+
- filesCreated: List of files you created
|
|
121
|
+
- statistics: {linesAdded: number, linesRemoved: number}
|
|
122
|
+
- artifacts: {apiEndpoints: [...], components: [...], functions: [...], classes: [...], integrations: [...]}
|
|
123
|
+
- You MUST include artifacts (required field) to enable other agents to find your work:
|
|
124
|
+
- **apiEndpoints**: List all API endpoints created/modified with method, path, purpose, request/response formats, and location
|
|
125
|
+
- **components**: List all UI components created with name, type, purpose, props, and location
|
|
126
|
+
- **functions**: List all utility functions with signature and location
|
|
127
|
+
- **classes**: List all classes with methods and location
|
|
128
|
+
- **integrations**: Document how frontend connects to backend with data flow description
|
|
129
|
+
- Example artifacts for an API endpoint:
|
|
130
|
+
\`\`\`json
|
|
131
|
+
"apiEndpoints": [{
|
|
132
|
+
"method": "GET",
|
|
133
|
+
"path": "/api/todos/:id",
|
|
134
|
+
"purpose": "Fetch a specific todo by ID",
|
|
135
|
+
"requestFormat": "URL param: id (string)",
|
|
136
|
+
"responseFormat": "{ id: string, title: string, completed: boolean }",
|
|
137
|
+
"location": "src/server.ts:245"
|
|
138
|
+
}]
|
|
139
|
+
\`\`\`
|
|
140
|
+
- Why: Future AI agents will query logs before implementing, preventing duplicate code and ensuring architecture consistency
|
|
141
|
+
- This creates a searchable knowledge base — without it, implementation knowledge is lost when the conversation ends
|
|
142
|
+
|
|
143
|
+
7. **Complete the Task (only after step 6 succeeds):**
|
|
144
|
+
- Confirm that log-implementation returned success in step 6
|
|
145
|
+
- Verify all success criteria from the _Prompt are met
|
|
146
|
+
- Run any relevant tests to ensure nothing is broken
|
|
147
|
+
- Edit .spec-workflow/specs/${specName}/tasks.md directly
|
|
148
|
+
- Change the task marker from [-] to [x] for the completed task
|
|
149
|
+
- ⚠️ If you skipped step 6, go back now — a task marked [x] without a log is incomplete
|
|
150
|
+
|
|
151
|
+
**Important Guidelines:**
|
|
152
|
+
- Always mark a task as in-progress before starting work
|
|
153
|
+
- Follow the _Prompt field guidance for role, approach, and success criteria
|
|
154
|
+
- Use existing patterns and utilities mentioned in _Leverage fields
|
|
155
|
+
- Test your implementation before marking the task complete
|
|
156
|
+
- **ALWAYS call log-implementation BEFORE marking a task [x]** — this is the most-skipped step and it is mandatory
|
|
157
|
+
- If a task has subtasks (e.g., 4.1, 4.2), complete them in order
|
|
158
|
+
- If you encounter blockers, document them and move to another task
|
|
159
|
+
|
|
160
|
+
**Tools to Use:**
|
|
161
|
+
- spec-status: Check overall progress
|
|
162
|
+
- Bash (grep/ripgrep): CRITICAL - Search existing implementations before coding (step 4)
|
|
163
|
+
- Read: Examine markdown implementation log files directly (step 4)
|
|
164
|
+
- log-implementation: MANDATORY - Record implementation details with artifacts BEFORE marking task complete (step 6)
|
|
165
|
+
- Edit: Directly update task markers in tasks.md file
|
|
166
|
+
- Read/Write/Edit: Implement the actual code changes
|
|
167
|
+
- Bash: Run tests and verify implementation
|
|
168
|
+
|
|
169
|
+
**View Implementation Logs:**
|
|
170
|
+
- All logged implementations appear in the "Logs" tab of the dashboard
|
|
171
|
+
- Filter by spec, task ID, or search by summary
|
|
172
|
+
- View detailed statistics including files changed and lines modified
|
|
173
|
+
- Or search directly using grep on markdown files in .spec-workflow/specs/{specName}/Implementation Logs/
|
|
174
|
+
|
|
175
|
+
**Context Budget:** This session supports ~80-100 task dispatches with reviews (~800k tokens on 1M context models).
|
|
176
|
+
After completing 60+ tasks, consider using a handoff to relay to a fresh session.
|
|
177
|
+
Save handoff context: spec name, completed tasks, in-progress state, next task ID.
|
|
178
|
+
|
|
179
|
+
Please proceed with implementing ${taskId ? `task ${taskId}` : 'the next task'} following this workflow.`
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
];
|
|
183
|
+
return messages;
|
|
184
|
+
}
|
|
185
|
+
export const implementTaskPrompt = {
|
|
186
|
+
prompt,
|
|
187
|
+
handler
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=implement-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-task.js","sourceRoot":"","sources":["../../src/prompts/implement-task.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,2PAA2P;IACxQ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB,aAAa,QAAQ;;;aAGtF,OAAO,CAAC,WAAW;aACnB,QAAQ;EACnB,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;EACpC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;+CAKrB,QAAQ;iCACtB,QAAQ;gBACzB,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,uCAAuC;;;iCAGlD,QAAQ;;;;;;;;;;;;;;;iFAewC,QAAQ;;;;;4DAK7B,QAAQ;;;mDAGjB,QAAQ;;;2DAGA,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8C/C,QAAQ;iBACX,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8BzC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAgCN,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC,eAAe,2BAA2B;aAClG;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Prompt, ListPromptsResult, GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { ToolContext } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get all registered prompts
|
|
5
|
+
*/
|
|
6
|
+
export declare function registerPrompts(): Prompt[];
|
|
7
|
+
/**
|
|
8
|
+
* Handle prompts/list request
|
|
9
|
+
*/
|
|
10
|
+
export declare function handlePromptList(): Promise<ListPromptsResult>;
|
|
11
|
+
/**
|
|
12
|
+
* Handle prompts/get request
|
|
13
|
+
*/
|
|
14
|
+
export declare function handlePromptGet(name: string, args: Record<string, any> | undefined, context: ToolContext): Promise<GetPromptResult>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,iBAAiB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuB1C;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAInE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAK,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CAa1B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Import individual prompt definitions
|
|
2
|
+
import { createSpecPrompt } from './create-spec.js';
|
|
3
|
+
import { createSteeringDocPrompt } from './create-steering-doc.js';
|
|
4
|
+
import { implementTaskPrompt } from './implement-task.js';
|
|
5
|
+
import { specStatusPrompt } from './spec-status.js';
|
|
6
|
+
import { injectSpecWorkflowGuidePrompt } from './inject-spec-workflow-guide.js';
|
|
7
|
+
import { injectSteeringGuidePrompt } from './inject-steering-guide.js';
|
|
8
|
+
import { refreshTasksPrompt } from './refresh-tasks.js';
|
|
9
|
+
// Registry of all prompts
|
|
10
|
+
const promptDefinitions = [
|
|
11
|
+
createSpecPrompt,
|
|
12
|
+
createSteeringDocPrompt,
|
|
13
|
+
implementTaskPrompt,
|
|
14
|
+
specStatusPrompt,
|
|
15
|
+
injectSpecWorkflowGuidePrompt,
|
|
16
|
+
injectSteeringGuidePrompt,
|
|
17
|
+
refreshTasksPrompt
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Get all registered prompts
|
|
21
|
+
*/
|
|
22
|
+
export function registerPrompts() {
|
|
23
|
+
return promptDefinitions.map(def => def.prompt);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Handle prompts/list request
|
|
27
|
+
*/
|
|
28
|
+
export async function handlePromptList() {
|
|
29
|
+
return {
|
|
30
|
+
prompts: registerPrompts()
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Handle prompts/get request
|
|
35
|
+
*/
|
|
36
|
+
export async function handlePromptGet(name, args = {}, context) {
|
|
37
|
+
const promptDef = promptDefinitions.find(def => def.prompt.name === name);
|
|
38
|
+
if (!promptDef) {
|
|
39
|
+
throw new Error(`Prompt not found: ${name}`);
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const messages = await promptDef.handler(args, context);
|
|
43
|
+
return { messages };
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw new Error(`Failed to generate prompt messages: ${error.message}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAIA,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,0BAA0B;AAC1B,MAAM,iBAAiB,GAAuB;IAC5C,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,kBAAkB;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO;QACL,OAAO,EAAE,eAAe,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,OAA4B,EAAE,EAC9B,OAAoB;IAEpB,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAE1E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-spec-workflow-guide.d.ts","sourceRoot":"","sources":["../../src/prompts/inject-spec-workflow-guide.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkD9C,eAAO,MAAM,6BAA6B,EAAE,gBAG3C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { specWorkflowGuideHandler } from '../tools/spec-workflow-guide.js';
|
|
2
|
+
const prompt = {
|
|
3
|
+
name: 'inject-spec-workflow-guide',
|
|
4
|
+
title: 'Inject Spec Workflow Guide into Context',
|
|
5
|
+
description: 'Injects the complete spec-driven development workflow guide into the conversation context. This provides immediate access to all workflow phases, tools, and best practices without requiring separate tool calls.'
|
|
6
|
+
};
|
|
7
|
+
async function handler(args, context) {
|
|
8
|
+
// Call the spec-workflow-guide tool to get the full guide
|
|
9
|
+
const toolResponse = await specWorkflowGuideHandler({}, context);
|
|
10
|
+
// Extract the guide content from the tool response
|
|
11
|
+
const guide = toolResponse.data?.guide || '';
|
|
12
|
+
const dashboardUrl = toolResponse.data?.dashboardUrl;
|
|
13
|
+
const nextSteps = toolResponse.nextSteps || [];
|
|
14
|
+
const messages = [
|
|
15
|
+
{
|
|
16
|
+
role: 'user',
|
|
17
|
+
content: {
|
|
18
|
+
type: 'text',
|
|
19
|
+
text: `Please review and follow this comprehensive spec-driven development workflow guide:
|
|
20
|
+
|
|
21
|
+
${guide}
|
|
22
|
+
|
|
23
|
+
**Current Context:**
|
|
24
|
+
- Project: ${context.projectPath}
|
|
25
|
+
${dashboardUrl ? `- Dashboard: ${dashboardUrl}` : '- Dashboard: Please start the dashboard or use VS Code extension "Spec Workflow MCP"'}
|
|
26
|
+
|
|
27
|
+
**Next Steps:**
|
|
28
|
+
${nextSteps.map(step => `- ${step}`).join('\n')}
|
|
29
|
+
|
|
30
|
+
**Important Instructions:**
|
|
31
|
+
1. This guide has been injected into your context for immediate reference
|
|
32
|
+
2. Follow the workflow sequence exactly: Requirements → Design → Tasks → Implementation
|
|
33
|
+
3. Use the MCP tools mentioned in the guide to execute each phase
|
|
34
|
+
4. Always request approval between phases using the approvals tool
|
|
35
|
+
5. Never proceed to the next phase without successful approval cleanup
|
|
36
|
+
|
|
37
|
+
Please acknowledge that you've reviewed this workflow guide and are ready to help with spec-driven development.`
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
];
|
|
41
|
+
return messages;
|
|
42
|
+
}
|
|
43
|
+
export const injectSpecWorkflowGuidePrompt = {
|
|
44
|
+
prompt,
|
|
45
|
+
handler
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=inject-spec-workflow-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-spec-workflow-guide.js","sourceRoot":"","sources":["../../src/prompts/inject-spec-workflow-guide.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,yCAAyC;IAChD,WAAW,EAAE,oNAAoN;CAClO,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,0DAA0D;IAC1D,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAEjE,mDAAmD;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;;EAEZ,KAAK;;;aAGM,OAAO,CAAC,WAAW;EAC9B,YAAY,CAAC,CAAC,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC,CAAC,sFAAsF;;;EAGtI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;gHASiE;aACzG;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAqB;IAC7D,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-steering-guide.d.ts","sourceRoot":"","sources":["../../src/prompts/inject-steering-guide.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsD9C,eAAO,MAAM,yBAAyB,EAAE,gBAGvC,CAAC"}
|