@lbruton/spec-workflow-mcp 2.2.4
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 +373 -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 +11 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +126 -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 +297 -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 +165 -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 +586 -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 +1313 -0
- package/dist/dashboard/multi-server.js.map +1 -0
- package/dist/dashboard/parser.d.ts +18 -0
- package/dist/dashboard/parser.d.ts.map +1 -0
- package/dist/dashboard/parser.js +243 -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-C8LPXB-J.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-RidjsOEy.js +118 -0
- package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/dist/dashboard/public/assets/c4Diagram-c83219d4-CAH3hSpm.js +10 -0
- package/dist/dashboard/public/assets/channel-CmDIZRCD.js +1 -0
- package/dist/dashboard/public/assets/classDiagram-beda092f-Bo46Efmw.js +2 -0
- package/dist/dashboard/public/assets/classDiagram-v2-2358418a-Be57sb3z.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-BiekPeZp.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-YurEYFNx.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--BjsAXwD.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-BLGuJz36.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-C8vD2iEO.js +10 -0
- package/dist/dashboard/public/assets/flowDiagram-50d868cf-BhxgVmOU.js +4 -0
- package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-DvKCh0ha.js +1 -0
- package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-CxOZDcEC.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-vP9JOLba.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-Cw0sm0i1.js +70 -0
- package/dist/dashboard/public/assets/graph-DKTWMcEG.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-1zJPiVa8.js +3 -0
- package/dist/dashboard/public/assets/index-5325376f-DWs4kCT4.js +1 -0
- package/dist/dashboard/public/assets/index-BITJ9OoM.js +1 -0
- package/dist/dashboard/public/assets/index-C38JlXWp.js +1 -0
- package/dist/dashboard/public/assets/index-CCjPelL2.js +2 -0
- package/dist/dashboard/public/assets/index-CD9WQNmE.js +1 -0
- package/dist/dashboard/public/assets/index-CU7K5Zcb.js +1 -0
- package/dist/dashboard/public/assets/index-CXQVOhJV.js +1 -0
- package/dist/dashboard/public/assets/index-CXcaRrZ2.js +1 -0
- package/dist/dashboard/public/assets/index-ChLAL6g5.css +1 -0
- package/dist/dashboard/public/assets/index-D0o1vVOe.js +7 -0
- package/dist/dashboard/public/assets/index-DCsxqRvu.js +1 -0
- package/dist/dashboard/public/assets/index-DL3iiiRz.js +1 -0
- package/dist/dashboard/public/assets/index-DMv2_K2V.js +1 -0
- package/dist/dashboard/public/assets/index-DX7EEJ21.js +1 -0
- package/dist/dashboard/public/assets/index-Dey_HIH7.js +1 -0
- package/dist/dashboard/public/assets/index-DzDTRLhf.js +1 -0
- package/dist/dashboard/public/assets/index-OePkEWBg.js +1 -0
- package/dist/dashboard/public/assets/index-_d82jdTP.js +1 -0
- package/dist/dashboard/public/assets/index-yCKz4OXA.js +319 -0
- package/dist/dashboard/public/assets/infoDiagram-8eee0895-BRq08fZf.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-Cf8D2OC8.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-CVdidYA-.js +1 -0
- package/dist/dashboard/public/assets/line-BdckgA27.js +1 -0
- package/dist/dashboard/public/assets/linear-C9Nh3JLa.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-CK-y1AmO.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-T8V0JN2R.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-CmtVsb5L.js +7 -0
- package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
- package/dist/dashboard/public/assets/requirementDiagram-08caed73-BUcTnzDl.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-FswuxQ9M.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-BJQ15rhX.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-BfyE0DYv.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-pcGOYyiW.js +1 -0
- package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
- package/dist/dashboard/public/assets/styles-b4e223ce--lUviH7V.js +160 -0
- package/dist/dashboard/public/assets/styles-ca3715f6-BXbrD1Av.js +207 -0
- package/dist/dashboard/public/assets/styles-d45a18b0-GyiMrLKu.js +116 -0
- package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
- package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-DI4Z1GTS.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-B1IgohU4.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-B5oRDe_I.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/design-template.md +96 -0
- package/dist/markdown/templates/product-template.md +51 -0
- package/dist/markdown/templates/requirements-template.md +50 -0
- package/dist/markdown/templates/structure-template.md +145 -0
- package/dist/markdown/templates/tasks-template.md +139 -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 +173 -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 +490 -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 +52 -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 +397 -0
- package/dist/tools/log-implementation.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 +178 -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 +291 -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 +172 -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
package/README.ko.md
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# Spec Workflow MCP
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@pimzino/spec-workflow-mcp)
|
|
4
|
+
[](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp)
|
|
5
|
+
|
|
6
|
+
실시간 대시보드와 VSCode 확장 프로그램을 갖춘 구조화된 스펙 기반 개발을 위한 Model Context Protocol(MCP) 서버입니다.
|
|
7
|
+
|
|
8
|
+
## ☕ 이 프로젝트 후원하기
|
|
9
|
+
|
|
10
|
+
<a href="https://buymeacoffee.com/Pimzino" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
|
11
|
+
|
|
12
|
+
## 📺 쇼케이스
|
|
13
|
+
|
|
14
|
+
### 🔄 승인 시스템 작동 영상
|
|
15
|
+
<a href="https://www.youtube.com/watch?v=C-uEa3mfxd0" target="_blank">
|
|
16
|
+
<img src="https://img.youtube.com/vi/C-uEa3mfxd0/maxresdefault.jpg" alt="Approval System Demo" width="600">
|
|
17
|
+
</a>
|
|
18
|
+
|
|
19
|
+
*승인 시스템 작동 방식 확인: 문서 생성, 대시보드를 통한 승인 요청, 피드백 제공, 수정사항 추적.*
|
|
20
|
+
|
|
21
|
+
### 📊 대시보드 및 스펙 관리
|
|
22
|
+
<a href="https://www.youtube.com/watch?v=g9qfvjLUWf8" target="_blank">
|
|
23
|
+
<img src="https://img.youtube.com/vi/g9qfvjLUWf8/maxresdefault.jpg" alt="Dashboard Demo" width="600">
|
|
24
|
+
</a>
|
|
25
|
+
|
|
26
|
+
*실시간 대시보드 탐색: 스펙 보기, 진행 상황 추적, 문서 탐색, 개발 워크플로우 모니터링.*
|
|
27
|
+
|
|
28
|
+
## ✨ 주요 기능
|
|
29
|
+
|
|
30
|
+
- **구조화된 개발 워크플로우** - 순차적 스펙 생성 (요구사항 → 설계 → 작업)
|
|
31
|
+
- **실시간 웹 대시보드** - 실시간 업데이트로 스펙, 작업 및 진행 상황 모니터링
|
|
32
|
+
- **VSCode 확장 프로그램** - VSCode 사용자를 위한 통합 사이드바 대시보드
|
|
33
|
+
- **승인 워크플로우** - 수정사항이 포함된 완전한 승인 프로세스
|
|
34
|
+
- **작업 진행 추적** - 시각적 진행률 표시줄 및 상세 상태
|
|
35
|
+
- **구현 로그** - 코드 통계가 포함된 모든 작업 구현의 검색 가능한 로그
|
|
36
|
+
- **다국어 지원** - 11개 언어로 제공
|
|
37
|
+
|
|
38
|
+
## 🌍 지원 언어
|
|
39
|
+
|
|
40
|
+
🇺🇸 English • 🇯🇵 日本語 • 🇨🇳 中文 • 🇪🇸 Español • 🇧🇷 Português • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇹 Italiano • 🇰🇷 한국어 • 🇸🇦 العربية
|
|
41
|
+
|
|
42
|
+
## 🚀 빠른 시작
|
|
43
|
+
|
|
44
|
+
### 1단계: AI 도구에 추가
|
|
45
|
+
|
|
46
|
+
MCP 구성에 추가 (아래 클라이언트별 설정 참조):
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"mcpServers": {
|
|
51
|
+
"spec-workflow": {
|
|
52
|
+
"command": "npx",
|
|
53
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2단계: 인터페이스 선택
|
|
60
|
+
|
|
61
|
+
**옵션 A: 웹 대시보드** (CLI 사용자 필수)
|
|
62
|
+
대시보드 시작 (기본 포트 5000):
|
|
63
|
+
```bash
|
|
64
|
+
npx -y @pimzino/spec-workflow-mcp@latest --dashboard
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
대시보드는 http://localhost:5000 에서 액세스할 수 있습니다.
|
|
68
|
+
|
|
69
|
+
> **참고:** 하나의 대시보드 인스턴스만 필요합니다. 모든 프로젝트가 동일한 대시보드에 연결됩니다.
|
|
70
|
+
|
|
71
|
+
**옵션 B: VSCode 확장 프로그램** (VSCode 사용자 권장)
|
|
72
|
+
|
|
73
|
+
VSCode 마켓플레이스에서 [Spec Workflow MCP Extension](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp)을 설치하세요.
|
|
74
|
+
|
|
75
|
+
## 📝 사용 방법
|
|
76
|
+
|
|
77
|
+
대화에서 spec-workflow를 언급하기만 하면 됩니다:
|
|
78
|
+
|
|
79
|
+
- **"사용자 인증을 위한 스펙 생성"** - 완전한 스펙 워크플로우 생성
|
|
80
|
+
- **"내 스펙 목록 보기"** - 모든 스펙과 상태 표시
|
|
81
|
+
- **"user-auth 스펙의 작업 1.2 실행"** - 특정 작업 실행
|
|
82
|
+
|
|
83
|
+
[더 많은 예제 보기 →](docs/PROMPTING-GUIDE.md)
|
|
84
|
+
|
|
85
|
+
## 🔧 MCP 클라이언트 설정
|
|
86
|
+
|
|
87
|
+
<details>
|
|
88
|
+
<summary><strong>Augment Code</strong></summary>
|
|
89
|
+
|
|
90
|
+
Augment 설정에서 구성:
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"mcpServers": {
|
|
94
|
+
"spec-workflow": {
|
|
95
|
+
"command": "npx",
|
|
96
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
</details>
|
|
102
|
+
|
|
103
|
+
<details>
|
|
104
|
+
<summary><strong>Claude Code CLI</strong></summary>
|
|
105
|
+
|
|
106
|
+
MCP 구성에 추가:
|
|
107
|
+
```bash
|
|
108
|
+
claude mcp add spec-workflow npx @pimzino/spec-workflow-mcp@latest -- /path/to/your/project
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**중요 참고사항:**
|
|
112
|
+
- `-y` 플래그는 더 원활한 설치를 위해 npm 프롬프트를 우회합니다
|
|
113
|
+
- `--` 구분자는 경로가 npx가 아닌 spec-workflow 스크립트에 전달되도록 합니다
|
|
114
|
+
- `/path/to/your/project`를 실제 프로젝트 디렉터리 경로로 바꾸세요
|
|
115
|
+
|
|
116
|
+
**Windows용 대안 (위 방법이 작동하지 않는 경우):**
|
|
117
|
+
```bash
|
|
118
|
+
claude mcp add spec-workflow cmd.exe /c "npx @pimzino/spec-workflow-mcp@latest /path/to/your/project"
|
|
119
|
+
```
|
|
120
|
+
</details>
|
|
121
|
+
|
|
122
|
+
<details>
|
|
123
|
+
<summary><strong>Claude Desktop</strong></summary>
|
|
124
|
+
|
|
125
|
+
`claude_desktop_config.json`에 추가:
|
|
126
|
+
```json
|
|
127
|
+
{
|
|
128
|
+
"mcpServers": {
|
|
129
|
+
"spec-workflow": {
|
|
130
|
+
"command": "npx",
|
|
131
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> **중요:** MCP 서버를 시작하기 전에 `--dashboard`로 대시보드를 별도로 실행하세요.
|
|
138
|
+
|
|
139
|
+
</details>
|
|
140
|
+
|
|
141
|
+
<details>
|
|
142
|
+
<summary><strong>Cline/Claude Dev</strong></summary>
|
|
143
|
+
|
|
144
|
+
MCP 서버 구성에 추가:
|
|
145
|
+
```json
|
|
146
|
+
{
|
|
147
|
+
"mcpServers": {
|
|
148
|
+
"spec-workflow": {
|
|
149
|
+
"command": "npx",
|
|
150
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
</details>
|
|
156
|
+
|
|
157
|
+
<details>
|
|
158
|
+
<summary><strong>Continue IDE Extension</strong></summary>
|
|
159
|
+
|
|
160
|
+
Continue 구성에 추가:
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"mcpServers": {
|
|
164
|
+
"spec-workflow": {
|
|
165
|
+
"command": "npx",
|
|
166
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
</details>
|
|
172
|
+
|
|
173
|
+
<details>
|
|
174
|
+
<summary><strong>Cursor IDE</strong></summary>
|
|
175
|
+
|
|
176
|
+
Cursor 설정(`settings.json`)에 추가:
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"mcpServers": {
|
|
180
|
+
"spec-workflow": {
|
|
181
|
+
"command": "npx",
|
|
182
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
</details>
|
|
188
|
+
|
|
189
|
+
<details>
|
|
190
|
+
<summary><strong>OpenCode</strong></summary>
|
|
191
|
+
|
|
192
|
+
`opencode.json` 구성 파일에 추가:
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"$schema": "https://opencode.ai/config.json",
|
|
196
|
+
"mcp": {
|
|
197
|
+
"spec-workflow": {
|
|
198
|
+
"type": "local",
|
|
199
|
+
"command": ["npx", "-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"],
|
|
200
|
+
"enabled": true
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
</details>
|
|
206
|
+
|
|
207
|
+
<details>
|
|
208
|
+
<summary><strong>Windsurf</strong></summary>
|
|
209
|
+
|
|
210
|
+
`~/.codeium/windsurf/mcp_config.json` 구성 파일에 추가:
|
|
211
|
+
```json
|
|
212
|
+
{
|
|
213
|
+
"mcpServers": {
|
|
214
|
+
"spec-workflow": {
|
|
215
|
+
"command": "npx",
|
|
216
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
</details>
|
|
222
|
+
|
|
223
|
+
<details>
|
|
224
|
+
<summary><strong>Codex</strong></summary>
|
|
225
|
+
|
|
226
|
+
`~/.codex/config.toml` 구성 파일에 추가:
|
|
227
|
+
```toml
|
|
228
|
+
[mcp_servers.spec-workflow]
|
|
229
|
+
command = "npx"
|
|
230
|
+
args = ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
231
|
+
```
|
|
232
|
+
</details>
|
|
233
|
+
|
|
234
|
+
## 🐳 Docker 배포
|
|
235
|
+
|
|
236
|
+
격리된 배포를 위해 Docker 컨테이너에서 대시보드 실행:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# Docker Compose 사용 (권장)
|
|
240
|
+
cd containers
|
|
241
|
+
docker-compose up --build
|
|
242
|
+
|
|
243
|
+
# 또는 Docker CLI 사용
|
|
244
|
+
docker build -f containers/Dockerfile -t spec-workflow-mcp .
|
|
245
|
+
docker run -p 5000:5000 -v "./workspace/.spec-workflow:/workspace/.spec-workflow:rw" spec-workflow-mcp
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
대시보드는 http://localhost:5000 에서 사용 가능합니다.
|
|
249
|
+
|
|
250
|
+
[Docker 설정 가이드 보기 →](containers/README.md)
|
|
251
|
+
|
|
252
|
+
## 🔒 샌드박스 환경
|
|
253
|
+
|
|
254
|
+
`$HOME`이 읽기 전용인 샌드박스 환경(예: `sandbox_mode=workspace-write`가 있는 Codex CLI)의 경우 `SPEC_WORKFLOW_HOME` 환경 변수를 사용하여 전역 상태 파일을 쓰기 가능한 위치로 리디렉션하세요:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
SPEC_WORKFLOW_HOME=/workspace/.spec-workflow-mcp npx -y @pimzino/spec-workflow-mcp@latest /workspace
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
[구성 가이드 보기 →](docs/CONFIGURATION.md#environment-variables)
|
|
261
|
+
|
|
262
|
+
## 📚 문서
|
|
263
|
+
|
|
264
|
+
- [구성 가이드](docs/CONFIGURATION.md) - 명령줄 옵션, 구성 파일
|
|
265
|
+
- [사용자 가이드](docs/USER-GUIDE.md) - 포괄적인 사용 예제
|
|
266
|
+
- [워크플로우 프로세스](docs/WORKFLOW.md) - 개발 워크플로우 및 모범 사례
|
|
267
|
+
- [인터페이스 가이드](docs/INTERFACES.md) - 대시보드 및 VSCode 확장 프로그램 상세 정보
|
|
268
|
+
- [프롬프팅 가이드](docs/PROMPTING-GUIDE.md) - 고급 프롬프팅 예제
|
|
269
|
+
- [도구 참조](docs/TOOLS-REFERENCE.md) - 완전한 도구 문서
|
|
270
|
+
- [개발](docs/DEVELOPMENT.md) - 기여 및 개발 설정
|
|
271
|
+
- [문제 해결](docs/TROUBLESHOOTING.md) - 일반적인 문제 및 해결책
|
|
272
|
+
|
|
273
|
+
## 📁 프로젝트 구조
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
your-project/
|
|
277
|
+
.spec-workflow/
|
|
278
|
+
approvals/
|
|
279
|
+
archive/
|
|
280
|
+
specs/
|
|
281
|
+
steering/
|
|
282
|
+
templates/
|
|
283
|
+
user-templates/
|
|
284
|
+
config.example.toml
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## 🛠️ 개발
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
# 의존성 설치
|
|
291
|
+
npm install
|
|
292
|
+
|
|
293
|
+
# 프로젝트 빌드
|
|
294
|
+
npm run build
|
|
295
|
+
|
|
296
|
+
# 개발 모드로 실행
|
|
297
|
+
npm run dev
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
[개발 가이드 보기 →](docs/DEVELOPMENT.md)
|
|
301
|
+
|
|
302
|
+
## 📄 라이선스
|
|
303
|
+
|
|
304
|
+
GPL-3.0
|
|
305
|
+
|
|
306
|
+
## ⭐ 스타 히스토리
|
|
307
|
+
|
|
308
|
+
<a href="https://www.star-history.com/#Pimzino/spec-workflow-mcp&Date">
|
|
309
|
+
<picture>
|
|
310
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date&theme=dark" />
|
|
311
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
|
|
312
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
|
|
313
|
+
</picture>
|
|
314
|
+
</a>
|
package/README.md
ADDED
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
# Spec Workflow MCP
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@pimzino/spec-workflow-mcp)
|
|
4
|
+
[](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp)
|
|
5
|
+
|
|
6
|
+
A Model Context Protocol (MCP) server for structured spec-driven development with real-time dashboard and VSCode extension.
|
|
7
|
+
|
|
8
|
+
## ☕ Support This Project
|
|
9
|
+
|
|
10
|
+
<a href="https://buymeacoffee.com/Pimzino" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
|
11
|
+
|
|
12
|
+
## 📺 Showcase
|
|
13
|
+
|
|
14
|
+
### 🔄 Approval System in Action
|
|
15
|
+
<a href="https://www.youtube.com/watch?v=C-uEa3mfxd0" target="_blank">
|
|
16
|
+
<img src="https://img.youtube.com/vi/C-uEa3mfxd0/maxresdefault.jpg" alt="Approval System Demo" width="600">
|
|
17
|
+
</a>
|
|
18
|
+
|
|
19
|
+
*See how the approval system works: create documents, request approval through the dashboard, provide feedback, and track revisions.*
|
|
20
|
+
|
|
21
|
+
### 📊 Dashboard & Spec Management
|
|
22
|
+
<a href="https://www.youtube.com/watch?v=g9qfvjLUWf8" target="_blank">
|
|
23
|
+
<img src="https://img.youtube.com/vi/g9qfvjLUWf8/maxresdefault.jpg" alt="Dashboard Demo" width="600">
|
|
24
|
+
</a>
|
|
25
|
+
|
|
26
|
+
*Explore the real-time dashboard: view specs, track progress, navigate documents, and monitor your development workflow.*
|
|
27
|
+
|
|
28
|
+
## ✨ Key Features
|
|
29
|
+
|
|
30
|
+
- **Structured Development Workflow** - Sequential spec creation (Requirements → Design → Tasks)
|
|
31
|
+
- **Real-Time Web Dashboard** - Monitor specs, tasks, and progress with live updates
|
|
32
|
+
- **VSCode Extension** - Integrated sidebar dashboard for VSCode users
|
|
33
|
+
- **Approval Workflow** - Complete approval process with revisions
|
|
34
|
+
- **Task Progress Tracking** - Visual progress bars and detailed status
|
|
35
|
+
- **Implementation Logs** - Searchable logs of all task implementations with code statistics
|
|
36
|
+
- **Multi-Language Support** - Available in 11 languages
|
|
37
|
+
|
|
38
|
+
## 🌍 Supported Languages
|
|
39
|
+
|
|
40
|
+
🇺🇸 English • 🇯🇵 日本語 • 🇨🇳 中文 • 🇪🇸 Español • 🇧🇷 Português • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇹 Italiano • 🇰🇷 한국어 • 🇸🇦 العربية
|
|
41
|
+
|
|
42
|
+
**📖 Documentation in your language:**
|
|
43
|
+
|
|
44
|
+
[English](README.md) | [日本語](README.ja.md) | [中文](README.zh.md) | [Español](README.es.md) | [Português](README.pt.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Русский](README.ru.md) | [Italiano](README.it.md) | [한국어](README.ko.md) | [العربية](README.ar.md)
|
|
45
|
+
|
|
46
|
+
## 🚀 Quick Start
|
|
47
|
+
|
|
48
|
+
### Step 1: Add to your AI tool
|
|
49
|
+
|
|
50
|
+
Add to your MCP configuration (see client-specific setup below):
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"mcpServers": {
|
|
55
|
+
"spec-workflow": {
|
|
56
|
+
"command": "npx",
|
|
57
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 2: Choose your interface
|
|
64
|
+
|
|
65
|
+
**Option A: Web Dashboard** (Required for CLI users)
|
|
66
|
+
Start the dashboard (runs on port 5000 by default):
|
|
67
|
+
```bash
|
|
68
|
+
npx -y @pimzino/spec-workflow-mcp@latest --dashboard
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The dashboard will be accessible at: http://localhost:5000
|
|
72
|
+
|
|
73
|
+
> **Note:** Only one dashboard instance is needed. All your projects will connect to the same dashboard.
|
|
74
|
+
|
|
75
|
+
**Option B: VSCode Extension** (Recommended for VSCode users)
|
|
76
|
+
|
|
77
|
+
Install [Spec Workflow MCP Extension](https://marketplace.visualstudio.com/items?itemName=Pimzino.spec-workflow-mcp) from the VSCode marketplace.
|
|
78
|
+
|
|
79
|
+
## 📝 How to Use
|
|
80
|
+
|
|
81
|
+
Simply mention spec-workflow in your conversation:
|
|
82
|
+
|
|
83
|
+
- **"Create a spec for user authentication"** - Creates complete spec workflow
|
|
84
|
+
- **"List my specs"** - Shows all specs and their status
|
|
85
|
+
- **"Execute task 1.2 in spec user-auth"** - Runs a specific task
|
|
86
|
+
|
|
87
|
+
[See more examples →](docs/PROMPTING-GUIDE.md)
|
|
88
|
+
|
|
89
|
+
## 🔧 MCP Client Setup
|
|
90
|
+
|
|
91
|
+
<details>
|
|
92
|
+
<summary><strong>Augment Code</strong></summary>
|
|
93
|
+
|
|
94
|
+
Configure in your Augment settings:
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"spec-workflow": {
|
|
99
|
+
"command": "npx",
|
|
100
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
</details>
|
|
106
|
+
|
|
107
|
+
<details>
|
|
108
|
+
<summary><strong>Claude Code CLI</strong></summary>
|
|
109
|
+
|
|
110
|
+
Add to your MCP configuration:
|
|
111
|
+
```bash
|
|
112
|
+
claude mcp add spec-workflow npx @pimzino/spec-workflow-mcp@latest -- /path/to/your/project
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Important Notes:**
|
|
116
|
+
- The `-y` flag bypasses npm prompts for smoother installation
|
|
117
|
+
- The `--` separator ensures the path is passed to the spec-workflow script, not to npx
|
|
118
|
+
- Replace `/path/to/your/project` with your actual project directory path
|
|
119
|
+
|
|
120
|
+
**Alternative for Windows (if the above doesn't work):**
|
|
121
|
+
```bash
|
|
122
|
+
claude mcp add spec-workflow cmd.exe /c "npx @pimzino/spec-workflow-mcp@latest /path/to/your/project"
|
|
123
|
+
```
|
|
124
|
+
</details>
|
|
125
|
+
|
|
126
|
+
<details>
|
|
127
|
+
<summary><strong>Claude Desktop</strong></summary>
|
|
128
|
+
|
|
129
|
+
Add to `claude_desktop_config.json`:
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"mcpServers": {
|
|
133
|
+
"spec-workflow": {
|
|
134
|
+
"command": "npx",
|
|
135
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
> **Important:** Run the dashboard separately with `--dashboard` before starting the MCP server.
|
|
142
|
+
|
|
143
|
+
</details>
|
|
144
|
+
|
|
145
|
+
<details>
|
|
146
|
+
<summary><strong>Cline/Claude Dev</strong></summary>
|
|
147
|
+
|
|
148
|
+
Add to your MCP server configuration:
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"mcpServers": {
|
|
152
|
+
"spec-workflow": {
|
|
153
|
+
"command": "npx",
|
|
154
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
</details>
|
|
160
|
+
|
|
161
|
+
<details>
|
|
162
|
+
<summary><strong>Continue IDE Extension</strong></summary>
|
|
163
|
+
|
|
164
|
+
Add to your Continue configuration:
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"mcpServers": {
|
|
168
|
+
"spec-workflow": {
|
|
169
|
+
"command": "npx",
|
|
170
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
</details>
|
|
176
|
+
|
|
177
|
+
<details>
|
|
178
|
+
<summary><strong>Cursor IDE</strong></summary>
|
|
179
|
+
|
|
180
|
+
Add to your Cursor settings (`settings.json`):
|
|
181
|
+
```json
|
|
182
|
+
{
|
|
183
|
+
"mcpServers": {
|
|
184
|
+
"spec-workflow": {
|
|
185
|
+
"command": "npx",
|
|
186
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
</details>
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary><strong>OpenCode</strong></summary>
|
|
195
|
+
|
|
196
|
+
Add to your `opencode.json` configuration file:
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"$schema": "https://opencode.ai/config.json",
|
|
200
|
+
"mcp": {
|
|
201
|
+
"spec-workflow": {
|
|
202
|
+
"type": "local",
|
|
203
|
+
"command": ["npx", "-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"],
|
|
204
|
+
"enabled": true
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
</details>
|
|
210
|
+
|
|
211
|
+
<details>
|
|
212
|
+
<summary><strong>Windsurf</strong></summary>
|
|
213
|
+
|
|
214
|
+
Add to your `~/.codeium/windsurf/mcp_config.json` configuration file:
|
|
215
|
+
```json
|
|
216
|
+
{
|
|
217
|
+
"mcpServers": {
|
|
218
|
+
"spec-workflow": {
|
|
219
|
+
"command": "npx",
|
|
220
|
+
"args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
</details>
|
|
226
|
+
|
|
227
|
+
<details>
|
|
228
|
+
<summary><strong>Codex</strong></summary>
|
|
229
|
+
|
|
230
|
+
Add to your `~/.codex/config.toml` configuration file:
|
|
231
|
+
```toml
|
|
232
|
+
[mcp_servers.spec-workflow]
|
|
233
|
+
command = "npx"
|
|
234
|
+
args = ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
|
|
235
|
+
```
|
|
236
|
+
</details>
|
|
237
|
+
|
|
238
|
+
## 🐳 Docker Deployment
|
|
239
|
+
|
|
240
|
+
Run the dashboard in a Docker container for isolated deployment:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# Using Docker Compose (recommended)
|
|
244
|
+
cd containers
|
|
245
|
+
docker-compose up --build
|
|
246
|
+
|
|
247
|
+
# Or using Docker CLI
|
|
248
|
+
docker build -f containers/Dockerfile -t spec-workflow-mcp .
|
|
249
|
+
docker run -p 5000:5000 -v "./workspace/.spec-workflow:/workspace/.spec-workflow:rw" spec-workflow-mcp
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
The dashboard will be available at: http://localhost:5000
|
|
253
|
+
|
|
254
|
+
[See Docker setup guide →](containers/README.md)
|
|
255
|
+
|
|
256
|
+
## 🔒 Security
|
|
257
|
+
|
|
258
|
+
Spec-Workflow MCP includes enterprise-grade security features suitable for corporate environments:
|
|
259
|
+
|
|
260
|
+
### ✅ Implemented Security Controls
|
|
261
|
+
|
|
262
|
+
| Feature | Description |
|
|
263
|
+
|---------|-------------|
|
|
264
|
+
| **Localhost Binding** | Binds to `127.0.0.1` by default, preventing network exposure |
|
|
265
|
+
| **Rate Limiting** | 120 requests/minute per client with automatic cleanup |
|
|
266
|
+
| **Audit Logging** | Structured JSON logs with timestamp, actor, action, and result |
|
|
267
|
+
| **Security Headers** | X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, CSP, Referrer-Policy |
|
|
268
|
+
| **CORS Protection** | Restricted to localhost origins by default |
|
|
269
|
+
| **Docker Hardening** | Non-root user, read-only filesystem, dropped capabilities, resource limits |
|
|
270
|
+
|
|
271
|
+
### ⚠️ Not Yet Implemented
|
|
272
|
+
|
|
273
|
+
| Feature | Workaround |
|
|
274
|
+
|---------|------------|
|
|
275
|
+
| **HTTPS/TLS** | Use a reverse proxy (nginx, Apache) with TLS certificates |
|
|
276
|
+
| **User Authentication** | Use a reverse proxy with Basic Auth or OAuth2 Proxy for SSO |
|
|
277
|
+
|
|
278
|
+
### For External/Network Access
|
|
279
|
+
|
|
280
|
+
If you need to expose the dashboard beyond localhost, we recommend:
|
|
281
|
+
|
|
282
|
+
1. **Keep dashboard on localhost** (`127.0.0.1`)
|
|
283
|
+
2. **Use nginx or Apache** as a reverse proxy with:
|
|
284
|
+
- TLS/HTTPS termination
|
|
285
|
+
- Basic authentication or OAuth2
|
|
286
|
+
3. **Configure firewall rules** to restrict access
|
|
287
|
+
|
|
288
|
+
```nginx
|
|
289
|
+
# Example nginx reverse proxy with auth
|
|
290
|
+
server {
|
|
291
|
+
listen 443 ssl;
|
|
292
|
+
server_name dashboard.example.com;
|
|
293
|
+
|
|
294
|
+
ssl_certificate /path/to/cert.pem;
|
|
295
|
+
ssl_certificate_key /path/to/key.pem;
|
|
296
|
+
|
|
297
|
+
auth_basic "Dashboard Access";
|
|
298
|
+
auth_basic_user_file /etc/nginx/.htpasswd;
|
|
299
|
+
|
|
300
|
+
location / {
|
|
301
|
+
proxy_pass http://127.0.0.1:5000;
|
|
302
|
+
proxy_http_version 1.1;
|
|
303
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
304
|
+
proxy_set_header Connection "upgrade";
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
[See Docker security guide →](containers/README.md#security-configuration)
|
|
310
|
+
|
|
311
|
+
## 🔒 Sandboxed Environments
|
|
312
|
+
|
|
313
|
+
For sandboxed environments (e.g., Codex CLI with `sandbox_mode=workspace-write`) where `$HOME` is read-only, use the `SPEC_WORKFLOW_HOME` environment variable to redirect global state files to a writable location:
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
SPEC_WORKFLOW_HOME=/workspace/.spec-workflow-mcp npx -y @pimzino/spec-workflow-mcp@latest /workspace
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
[See Configuration Guide →](docs/CONFIGURATION.md#environment-variables)
|
|
320
|
+
|
|
321
|
+
## 📚 Documentation
|
|
322
|
+
|
|
323
|
+
- [Configuration Guide](docs/CONFIGURATION.md) - Command-line options, config files
|
|
324
|
+
- [User Guide](docs/USER-GUIDE.md) - Comprehensive usage examples
|
|
325
|
+
- [Workflow Process](docs/WORKFLOW.md) - Development workflow and best practices
|
|
326
|
+
- [Interfaces Guide](docs/INTERFACES.md) - Dashboard and VSCode extension details
|
|
327
|
+
- [Prompting Guide](docs/PROMPTING-GUIDE.md) - Advanced prompting examples
|
|
328
|
+
- [Tools Reference](docs/TOOLS-REFERENCE.md) - Complete tools documentation
|
|
329
|
+
- [Development](docs/DEVELOPMENT.md) - Contributing and development setup
|
|
330
|
+
- [Troubleshooting](docs/TROUBLESHOOTING.md) - Common issues and solutions
|
|
331
|
+
|
|
332
|
+
## 📁 Project Structure
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
your-project/
|
|
336
|
+
.spec-workflow/
|
|
337
|
+
approvals/
|
|
338
|
+
archive/
|
|
339
|
+
specs/
|
|
340
|
+
steering/
|
|
341
|
+
templates/
|
|
342
|
+
user-templates/
|
|
343
|
+
config.example.toml
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
## 🛠️ Development
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
# Install dependencies
|
|
350
|
+
npm install
|
|
351
|
+
|
|
352
|
+
# Build the project
|
|
353
|
+
npm run build
|
|
354
|
+
|
|
355
|
+
# Run in development mode
|
|
356
|
+
npm run dev
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
[See development guide →](docs/DEVELOPMENT.md)
|
|
360
|
+
|
|
361
|
+
## 📄 License
|
|
362
|
+
|
|
363
|
+
GPL-3.0
|
|
364
|
+
|
|
365
|
+
## ⭐ Star History
|
|
366
|
+
|
|
367
|
+
<a href="https://www.star-history.com/#Pimzino/spec-workflow-mcp&Date">
|
|
368
|
+
<picture>
|
|
369
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date&theme=dark" />
|
|
370
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
|
|
371
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Pimzino/spec-workflow-mcp&type=Date" />
|
|
372
|
+
</picture>
|
|
373
|
+
</a>
|