@a9n-shoji/rvw 0.1.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 +22 -0
- package/LICENSE +21 -0
- package/README.md +305 -0
- package/SECURITY.md +27 -0
- package/dist/cli-THIRD_PARTY_NOTICES.txt +1073 -0
- package/dist/cli.mjs +34989 -0
- package/dist/cli.mjs.map +7 -0
- package/dist/web/THIRD_PARTY_NOTICES.txt +5302 -0
- package/dist/web/assets/DocumentViewer-Bpo61duW.js +1560 -0
- package/dist/web/assets/MarkdownImagePlaceholder-6RCNwzwM.js +36 -0
- package/dist/web/assets/WalkthroughViewer-B5mozyWo.js +2 -0
- package/dist/web/assets/abap-CLvhMVsD.js +1 -0
- package/dist/web/assets/abnfDiagram-N423BO3Z-BK5Jn86N.js +1 -0
- package/dist/web/assets/actionscript-3-Cs6JJXT5.js +1 -0
- package/dist/web/assets/ada-C5qYipkI.js +1 -0
- package/dist/web/assets/ahk-CA9gdOdF.js +1 -0
- package/dist/web/assets/ahk2-_6rzW9BS.js +1 -0
- package/dist/web/assets/andromeeda-vGVdxbeo.js +1 -0
- package/dist/web/assets/angular-html-B8mrqUL5.js +1 -0
- package/dist/web/assets/angular-ts-Bzix210W.js +1 -0
- package/dist/web/assets/apache-U0d_L8uA.js +1 -0
- package/dist/web/assets/apex-KFGFyKwG.js +1 -0
- package/dist/web/assets/apl-Dhin1L29.js +1 -0
- package/dist/web/assets/applescript-CCn79oCD.js +1 -0
- package/dist/web/assets/ara-4CJ0cIlV.js +1 -0
- package/dist/web/assets/arc-Pry-7G1_.js +1 -0
- package/dist/web/assets/architecture-TIHT7OUA-CNniK53V.js +1 -0
- package/dist/web/assets/architectureDiagram-T3A2C74G-C4e8BOKi.js +36 -0
- package/dist/web/assets/array-BifhSqXX.js +1 -0
- package/dist/web/assets/asciidoc-SCjQUq34.js +1 -0
- package/dist/web/assets/asm-Cmm7eHzH.js +1 -0
- package/dist/web/assets/astro-B-4NNgOP.js +1 -0
- package/dist/web/assets/aurora-x-CDeNXAV0.js +1 -0
- package/dist/web/assets/awk-BWXHIvNe.js +1 -0
- package/dist/web/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/dist/web/assets/ayu-light-C3h-C4tm.js +1 -0
- package/dist/web/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/dist/web/assets/ballerina-B7ZEbQpA.js +1 -0
- package/dist/web/assets/bat-qdxAdBWQ.js +1 -0
- package/dist/web/assets/beancount-D-usSTwE.js +1 -0
- package/dist/web/assets/berry-DKpUyyne.js +1 -0
- package/dist/web/assets/bibtex-Ci_nEsc7.js +1 -0
- package/dist/web/assets/bicep-CUHmPFLl.js +1 -0
- package/dist/web/assets/bird2-CYIUgYqB.js +1 -0
- package/dist/web/assets/blade-C6Gedziy.js +1 -0
- package/dist/web/assets/blockDiagram-VBNYF7ZC-vGkPzqEX.js +132 -0
- package/dist/web/assets/bsl-_VjlB9mv.js +1 -0
- package/dist/web/assets/c-iCihek07.js +1 -0
- package/dist/web/assets/c3-D0apG41V.js +1 -0
- package/dist/web/assets/c4Diagram-5PPSVZJV-CFw7KfN7.js +10 -0
- package/dist/web/assets/cadence-CQ2zXKGN.js +1 -0
- package/dist/web/assets/cairo-DLTphjLi.js +1 -0
- package/dist/web/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
- package/dist/web/assets/catppuccin-latte-CtsyrtPq.js +1 -0
- package/dist/web/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
- package/dist/web/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
- package/dist/web/assets/channel-D9mpRLqV.js +1 -0
- package/dist/web/assets/chapel-DmtgEXO_.js +1 -0
- package/dist/web/assets/chunk-2GRJ4B5K-CGyf7P1B.js +1 -0
- package/dist/web/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist/web/assets/chunk-4I5QYGJK-B9gVU0IX.js +1 -0
- package/dist/web/assets/chunk-5RXB4S5H-CxKRHj4A.js +231 -0
- package/dist/web/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/dist/web/assets/chunk-6Q2QTUOP-wTr3poCO.js +88 -0
- package/dist/web/assets/chunk-7BUUIJ7U-Bb538aSH.js +1 -0
- package/dist/web/assets/chunk-7Z6QIM7H-DO3-rKs9.js +10 -0
- package/dist/web/assets/chunk-GF5L2VYU-Hf7UNoHx.js +206 -0
- package/dist/web/assets/chunk-I66GZJ75-BsgBf6m-.js +127 -0
- package/dist/web/assets/chunk-JQJVKLGR-C8FDquLg.js +156 -0
- package/dist/web/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist/web/assets/chunk-KBJHAD2P-32ugraBx.js +1 -0
- package/dist/web/assets/chunk-KEIR6QF5-BICK3FdT.js +161 -0
- package/dist/web/assets/chunk-NSK5VX7P-BRGpsxOZ.js +2 -0
- package/dist/web/assets/chunk-QR6OTTB3-C1LfXMA9.js +62 -0
- package/dist/web/assets/chunk-RYQCIY6F-BsoV8yK2.js +1 -0
- package/dist/web/assets/chunk-UBXNYLIW-CjykxAbY.js +1 -0
- package/dist/web/assets/chunk-W5SLKNZC-DTzd_oWg.js +1 -0
- package/dist/web/assets/chunk-WRU74C26-BOKlupGY.js +70 -0
- package/dist/web/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
- package/dist/web/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist/web/assets/clarity-CtfBBspg.js +1 -0
- package/dist/web/assets/classDiagram-JCYQIIEL-1i-imYTn.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-1i-imYTn.js +1 -0
- package/dist/web/assets/clojure-DqKBuwfJ.js +1 -0
- package/dist/web/assets/cmake-Bj61d0ZC.js +1 -0
- package/dist/web/assets/cobol-Cw2-KvLW.js +1 -0
- package/dist/web/assets/codeowners-C8r90Shi.js +1 -0
- package/dist/web/assets/codeql-oeQT6MSM.js +1 -0
- package/dist/web/assets/coffee-CiiSLhB6.js +1 -0
- package/dist/web/assets/common-lisp-Cv5bFMCO.js +1 -0
- package/dist/web/assets/coq-DuBRPxYg.js +1 -0
- package/dist/web/assets/cose-bilkent-JH36ORCC-lJEhNiw_.js +1 -0
- package/dist/web/assets/cpp-71xkOQct.js +1 -0
- package/dist/web/assets/crystal-DGPAtLeY.js +1 -0
- package/dist/web/assets/csharp-oqKa8noW.js +1 -0
- package/dist/web/assets/css-CNuuLpMC.js +1 -0
- package/dist/web/assets/csv-Dx-8-gkx.js +1 -0
- package/dist/web/assets/cue-CE9AQfxI.js +1 -0
- package/dist/web/assets/cynefin-VYW2F7L2-FyhSpENE.js +1 -0
- package/dist/web/assets/cynefinDiagram-MW4NZA55-uFUTQ3i8.js +62 -0
- package/dist/web/assets/cypher-ClKdZ_lG.js +1 -0
- package/dist/web/assets/cytoscape.esm-B-NFISlW.js +321 -0
- package/dist/web/assets/d-qD-0Kul2.js +1 -0
- package/dist/web/assets/dagre-Buvkdvvj.js +1 -0
- package/dist/web/assets/dagre-VZM6K2ZE-BlESSHVb.js +4 -0
- package/dist/web/assets/dark-plus-Cs2F2srj.js +1 -0
- package/dist/web/assets/dart-CnvKMtbv.js +1 -0
- package/dist/web/assets/dax-BkyTk9wS.js +1 -0
- package/dist/web/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist/web/assets/desktop-Dlh5hvp9.js +1 -0
- package/dist/web/assets/diagram-7IWD3JNH-CVtjyPlA.js +30 -0
- package/dist/web/assets/diagram-B4RE2ZJO-B3alEF-G.js +3 -0
- package/dist/web/assets/diagram-LBJQPF4R-Dz-CRzSx.js +24 -0
- package/dist/web/assets/diagram-Q27KOJAE-B7x_WZC5.js +24 -0
- package/dist/web/assets/diagram-UB23O5K3-Di7vh04u.js +41 -0
- package/dist/web/assets/diff-woXpYk--.js +1 -0
- package/dist/web/assets/dist-v5Q1xZ2K.js +1 -0
- package/dist/web/assets/docker-IyjqRm3v.js +1 -0
- package/dist/web/assets/dotenv-_5a1GRtc.js +1 -0
- package/dist/web/assets/dracula-BHWKrbxM.js +1 -0
- package/dist/web/assets/dracula-soft-5eyTD99u.js +1 -0
- package/dist/web/assets/dream-maker-DW3nJb8Q.js +1 -0
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-CVXtwzOH.js +1 -0
- package/dist/web/assets/edge-DCY0a-ow.js +1 -0
- package/dist/web/assets/elixir-DP304Xio.js +1 -0
- package/dist/web/assets/elm-o4NJxfws.js +1 -0
- package/dist/web/assets/emacs-lisp-c_oH4hRZ.js +1 -0
- package/dist/web/assets/erDiagram-JOGREHBK-C73ySvzv.js +85 -0
- package/dist/web/assets/erb-C7MPl934.js +1 -0
- package/dist/web/assets/erlang-Cphh6RMH.js +1 -0
- package/dist/web/assets/eventmodeling-45OFAUF4-lqF-K7-h.js +1 -0
- package/dist/web/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/dist/web/assets/everforest-light-Df2xbC6M.js +1 -0
- package/dist/web/assets/fennel-DQxkIbk2.js +1 -0
- package/dist/web/assets/fish-BJitypiv.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-BjY-fuKE.js +1 -0
- package/dist/web/assets/fluent-C03EYrpw.js +1 -0
- package/dist/web/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
- package/dist/web/assets/fortran-free-form-CYNrtFtB.js +1 -0
- package/dist/web/assets/fsharp-D13ZGOAj.js +1 -0
- package/dist/web/assets/ganttDiagram-PKOTCBZU-DnFdkwyo.js +292 -0
- package/dist/web/assets/gdresource-xMC7jr7x.js +1 -0
- package/dist/web/assets/gdscript-DYvRD3hg.js +1 -0
- package/dist/web/assets/gdshader-CBce3t8t.js +1 -0
- package/dist/web/assets/genie-CV2tkWYe.js +1 -0
- package/dist/web/assets/gherkin-DExj1W_8.js +1 -0
- package/dist/web/assets/git-commit-BSykSTBG.js +1 -0
- package/dist/web/assets/git-rebase-BDPpS8w6.js +1 -0
- package/dist/web/assets/gitGraph-TEB2WS4Q-D9IlUiGc.js +1 -0
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-C8RcHadx.js +106 -0
- package/dist/web/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/web/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/dist/web/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/dist/web/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/dist/web/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/web/assets/github-light-default-BXViO-2h.js +1 -0
- package/dist/web/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/dist/web/assets/gleam-CSRkHgEL.js +1 -0
- package/dist/web/assets/glimmer-js-BONyzAsu.js +1 -0
- package/dist/web/assets/glimmer-ts-f9c0GCOe.js +1 -0
- package/dist/web/assets/glsl-D5MA2a_X.js +1 -0
- package/dist/web/assets/gn-ilITqXS6.js +1 -0
- package/dist/web/assets/gnuplot-7GGW24-e.js +1 -0
- package/dist/web/assets/go-rLFTqkRN.js +1 -0
- package/dist/web/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/web/assets/graphql-Ctjuxyvl.js +1 -0
- package/dist/web/assets/groovy-CacY0gHj.js +1 -0
- package/dist/web/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/dist/web/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/dist/web/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/dist/web/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/dist/web/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/dist/web/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/dist/web/assets/hack-Dh_ZLRbs.js +1 -0
- package/dist/web/assets/haml-CwEpbK1d.js +1 -0
- package/dist/web/assets/handlebars-ryMP1rBR.js +1 -0
- package/dist/web/assets/haskell-D8IpX4py.js +1 -0
- package/dist/web/assets/haxe-C8oCnwJJ.js +1 -0
- package/dist/web/assets/hcl-Dh228itO.js +1 -0
- package/dist/web/assets/hjson-CxZEssPk.js +1 -0
- package/dist/web/assets/hlsl-Cvrh5tZx.js +1 -0
- package/dist/web/assets/horizon-CE9ld1lL.js +1 -0
- package/dist/web/assets/horizon-bright-DSNQnXHK.js +1 -0
- package/dist/web/assets/houston-CsvMBhTu.js +1 -0
- package/dist/web/assets/html-XwrE-1r6.js +1 -0
- package/dist/web/assets/html-derivative-i4STDFnl.js +1 -0
- package/dist/web/assets/http-kmH8AyfE.js +1 -0
- package/dist/web/assets/hurl-DCZHXKU4.js +1 -0
- package/dist/web/assets/hxml-Dcm88srW.js +1 -0
- package/dist/web/assets/hy-CZbG8q4J.js +1 -0
- package/dist/web/assets/imba-DsUTQ-LC.js +1 -0
- package/dist/web/assets/index-B8_aim9s.css +1 -0
- package/dist/web/assets/index-BWaG4LjN.js +355 -0
- package/dist/web/assets/info-DKCQHKI2-D8vjRWaN.js +1 -0
- package/dist/web/assets/infoDiagram-6WML65LV-JfN0KNPZ.js +2 -0
- package/dist/web/assets/ini-B5eOa1yu.js +1 -0
- package/dist/web/assets/init-C-OQMol4.js +1 -0
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-C2AwcyHY.js +70 -0
- package/dist/web/assets/java-DdHNQ9hk.js +1 -0
- package/dist/web/assets/javascript-obGGvMPs.js +1 -0
- package/dist/web/assets/jinja-B-tLrNsM.js +1 -0
- package/dist/web/assets/jison-CBjhYtSs.js +1 -0
- package/dist/web/assets/journeyDiagram-NVQOT4AX-spVPyB4C.js +139 -0
- package/dist/web/assets/json-DAgxKhMr.js +1 -0
- package/dist/web/assets/json5-BR5RXkoi.js +1 -0
- package/dist/web/assets/jsonc-CYpm1nAK.js +1 -0
- package/dist/web/assets/jsonl-CmCQp5Yx.js +1 -0
- package/dist/web/assets/jsonnet-CJTPZ8u_.js +1 -0
- package/dist/web/assets/jssm-DXw9l8Rf.js +1 -0
- package/dist/web/assets/jsx-gTgmArGx.js +1 -0
- package/dist/web/assets/julia-CXJVy74_.js +1 -0
- package/dist/web/assets/just-B9Xn_Dp4.js +1 -0
- package/dist/web/assets/kanagawa-dragon-Bozd7klA.js +1 -0
- package/dist/web/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
- package/dist/web/assets/kanagawa-wave-BML5mF2J.js +1 -0
- package/dist/web/assets/kanban-definition-27J2QSJJ-DovZ9YwS.js +89 -0
- package/dist/web/assets/katex-CXMH3UgJ.js +257 -0
- package/dist/web/assets/kdl-CsD5j6eV.js +1 -0
- package/dist/web/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/web/assets/kusto-C7mF5XQf.js +1 -0
- package/dist/web/assets/laserwave-C_8bwKvT.js +1 -0
- package/dist/web/assets/latex-o9DRzaEe.js +1 -0
- package/dist/web/assets/lean-CewbzKMR.js +1 -0
- package/dist/web/assets/less-DVTAwKKz.js +1 -0
- package/dist/web/assets/light-plus-DVQuIRkW.js +1 -0
- package/dist/web/assets/line-CLgOPnWr.js +1 -0
- package/dist/web/assets/linear-DmucvK78.js +1 -0
- package/dist/web/assets/liquid-G0MH4h_m.js +1 -0
- package/dist/web/assets/llvm-DqHOMS-s.js +1 -0
- package/dist/web/assets/log-BNLmms1o.js +1 -0
- package/dist/web/assets/logo-Cluzi2Zq.js +1 -0
- package/dist/web/assets/lua-FONpmTUP.js +1 -0
- package/dist/web/assets/luau-C2pBCSgt.js +1 -0
- package/dist/web/assets/make-Dixweg8N.js +1 -0
- package/dist/web/assets/map-BaFkSB1l.js +1 -0
- package/dist/web/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/web/assets/marko-DV5GrDmo.js +1 -0
- package/dist/web/assets/material-theme-Bm3Qr25_.js +1 -0
- package/dist/web/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/dist/web/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/dist/web/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/dist/web/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/dist/web/assets/matlab-D7qyCx1q.js +1 -0
- package/dist/web/assets/mdc-BKfPFPZw.js +1 -0
- package/dist/web/assets/mdx-DQZ5AkYe.js +1 -0
- package/dist/web/assets/mermaid-BxpfTIzt.js +1 -0
- package/dist/web/assets/mermaid-parser.core-DyixRB1x.js +7 -0
- package/dist/web/assets/mermaid.core-BqpBcETK.js +42 -0
- package/dist/web/assets/min-dark-BSWPekZh.js +1 -0
- package/dist/web/assets/min-light-DDpmG2fV.js +1 -0
- package/dist/web/assets/mindmap-definition-FAOFIHXS-BbPO8pns.js +96 -0
- package/dist/web/assets/mipsasm-BMqwQI7S.js +1 -0
- package/dist/web/assets/mojo-CFuIV2fl.js +1 -0
- package/dist/web/assets/monokai-B_bV9PQ9.js +1 -0
- package/dist/web/assets/moonbit-DgjMoLWr.js +1 -0
- package/dist/web/assets/move-BYnGhZoM.js +1 -0
- package/dist/web/assets/narrat-_X_XdTYD.js +1 -0
- package/dist/web/assets/nextflow-BJtWHP5T.js +1 -0
- package/dist/web/assets/nextflow-groovy-DJMQeKeT.js +1 -0
- package/dist/web/assets/nginx-BTMw9COX.js +1 -0
- package/dist/web/assets/night-owl-DhmEMT88.js +1 -0
- package/dist/web/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/dist/web/assets/nim-B6yJ_yaC.js +1 -0
- package/dist/web/assets/nix-IvuFDN5E.js +1 -0
- package/dist/web/assets/nord-Cb4Vim4T.js +1 -0
- package/dist/web/assets/nsis-CjNLYCLg.js +1 -0
- package/dist/web/assets/nushell-DHYfO66s.js +1 -0
- package/dist/web/assets/objective-c-D1A_Heim.js +1 -0
- package/dist/web/assets/objective-cpp-BsSzOQcm.js +1 -0
- package/dist/web/assets/ocaml-O90oeIOV.js +1 -0
- package/dist/web/assets/odin-B1RWQWA5.js +1 -0
- package/dist/web/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/dist/web/assets/one-light-D7Lr4KcI.js +1 -0
- package/dist/web/assets/openscad-BUDT5pXO.js +1 -0
- package/dist/web/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dist/web/assets/org-Ddi8Gs6E.js +1 -0
- package/dist/web/assets/packet-7NZHBO7P-aNovgfCM.js +1 -0
- package/dist/web/assets/pascal-4ZHwLPI5.js +1 -0
- package/dist/web/assets/path-fybaL0A-.js +1 -0
- package/dist/web/assets/pegDiagram-VL7TDLO6-2e4z4Op-.js +1 -0
- package/dist/web/assets/perl-DEgXgjuC.js +1 -0
- package/dist/web/assets/php-B9UPq-vz.js +1 -0
- package/dist/web/assets/pie-RZYD4A2V-DNId-ti0.js +1 -0
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-D5ZE6kTv.js +39 -0
- package/dist/web/assets/pierre-dark-CpLgRqie.js +1 -0
- package/dist/web/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +1 -0
- package/dist/web/assets/pierre-dark-soft-kZQmAZld.js +1 -0
- package/dist/web/assets/pierre-dark-tritanopia-CpjhbsIL.js +1 -0
- package/dist/web/assets/pierre-dark-vibrant-CpQYzh95.js +1 -0
- package/dist/web/assets/pierre-light-CoaEpmwp.js +1 -0
- package/dist/web/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +1 -0
- package/dist/web/assets/pierre-light-soft-lWLdNTOI.js +1 -0
- package/dist/web/assets/pierre-light-tritanopia-CEbqgOJL.js +1 -0
- package/dist/web/assets/pierre-light-vibrant-D80Fkn33.js +1 -0
- package/dist/web/assets/pkl-ot-7Btpt.js +1 -0
- package/dist/web/assets/plastic-DQwYfKfQ.js +1 -0
- package/dist/web/assets/plsql-DGHpHOYJ.js +1 -0
- package/dist/web/assets/po-BiJDBrnU.js +1 -0
- package/dist/web/assets/poimandres-DRFjx7u4.js +1 -0
- package/dist/web/assets/polar-C7UOKdEL.js +1 -0
- package/dist/web/assets/postcss-BXeXVLqQ.js +1 -0
- package/dist/web/assets/powerquery-DNMTfnFr.js +1 -0
- package/dist/web/assets/powershell-CCSX75yM.js +1 -0
- package/dist/web/assets/prisma-DMgNhnYS.js +1 -0
- package/dist/web/assets/prolog-iXnhIJG7.js +1 -0
- package/dist/web/assets/proto-DB4EqR-F.js +1 -0
- package/dist/web/assets/pug-DkgDHZci.js +1 -0
- package/dist/web/assets/puppet-CDv2pdJW.js +1 -0
- package/dist/web/assets/purescript-9MfHhQsQ.js +1 -0
- package/dist/web/assets/python-gzcpVVnB.js +1 -0
- package/dist/web/assets/qml-_a-QhfPD.js +1 -0
- package/dist/web/assets/qmldir-DCQb3MpD.js +1 -0
- package/dist/web/assets/qss-Fe1Jh2GI.js +1 -0
- package/dist/web/assets/quadrantDiagram-CIZ2JOQS-BwxDvFqg.js +7 -0
- package/dist/web/assets/r-BHcO8Vjq.js +1 -0
- package/dist/web/assets/racket-DcIDlBhZ.js +1 -0
- package/dist/web/assets/radar-I7S5WNFK-C2R9CqOg.js +1 -0
- package/dist/web/assets/railroad-3IZDKUUU-BcNatsBm.js +1 -0
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BZPZwTjc.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CpdNBsnS.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-R8jDubES.js +1 -0
- package/dist/web/assets/railroadDiagram-AXF67PYL-CGJ_SZmV.js +1 -0
- package/dist/web/assets/raku-B3gFvitq.js +1 -0
- package/dist/web/assets/razor-BMJ0eI3p.js +1 -0
- package/dist/web/assets/rbs-C0MpOrj4.js +1 -0
- package/dist/web/assets/red-DX1BQOs8.js +1 -0
- package/dist/web/assets/reg-CRGYupPL.js +1 -0
- package/dist/web/assets/regexp-DR20uMnK.js +1 -0
- package/dist/web/assets/rel-BtDbiS_P.js +1 -0
- package/dist/web/assets/requirementDiagram-LRYGKXZP-BedGrIx6.js +84 -0
- package/dist/web/assets/riscv-Ckw8ddFX.js +1 -0
- package/dist/web/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/web/assets/ron-VUp2lXgN.js +1 -0
- package/dist/web/assets/rose-pine-aMsaMD1D.js +1 -0
- package/dist/web/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
- package/dist/web/assets/rose-pine-moon-DO-qXg-I.js +1 -0
- package/dist/web/assets/rosmsg-CAekHB0j.js +1 -0
- package/dist/web/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dist/web/assets/rst-BQCbfb9V.js +1 -0
- package/dist/web/assets/ruby-B8JcIHv0.js +1 -0
- package/dist/web/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/web/assets/sankeyDiagram-W5VNT64P-zK0XX_8d.js +40 -0
- package/dist/web/assets/sas-CBpMWA2M.js +1 -0
- package/dist/web/assets/sass-DXrisJhu.js +1 -0
- package/dist/web/assets/scala-BiFt_7mu.js +1 -0
- package/dist/web/assets/scheme-DQCgrYNe.js +1 -0
- package/dist/web/assets/scss-YesllqfO.js +1 -0
- package/dist/web/assets/sdbl-bTVj8UrX.js +1 -0
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-DbI4quME.js +162 -0
- package/dist/web/assets/shaderlab-TOUzSsQk.js +1 -0
- package/dist/web/assets/shellscript-Da78Ox-3.js +1 -0
- package/dist/web/assets/shellsession-CVsQGYfZ.js +1 -0
- package/dist/web/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
- package/dist/web/assets/slack-dark-DnToyrRv.js +1 -0
- package/dist/web/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/dist/web/assets/smalltalk-BHpQb5nM.js +1 -0
- package/dist/web/assets/smithy-Dgaz7aur.js +1 -0
- package/dist/web/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/dist/web/assets/solarized-dark-UdsmMDCL.js +1 -0
- package/dist/web/assets/solarized-light-C1IUL_tW.js +1 -0
- package/dist/web/assets/solidity-Bj7E1mRn.js +1 -0
- package/dist/web/assets/soy-DEd-qcad.js +1 -0
- package/dist/web/assets/sparql-D_iOobhT.js +1 -0
- package/dist/web/assets/splunk-BC2Px7Mm.js +1 -0
- package/dist/web/assets/sql-DdD7vxS4.js +1 -0
- package/dist/web/assets/src-B6xuSHsQ.js +1 -0
- package/dist/web/assets/ssh-config-BgfXC-Er.js +1 -0
- package/dist/web/assets/stata-CMv7m7Gi.js +1 -0
- package/dist/web/assets/stateDiagram-OKZ733FA-5dL9K4ba.js +1 -0
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-ChRa8APT.js +1 -0
- package/dist/web/assets/stylus-B6D30XZt.js +1 -0
- package/dist/web/assets/surrealql-BZoq2lXR.js +1 -0
- package/dist/web/assets/svelte-Bj3Hmc9F.js +1 -0
- package/dist/web/assets/swift-CyEgAFGc.js +1 -0
- package/dist/web/assets/swimlanes-SLNWSIFB-CnNbnSFl.js +2 -0
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-QmkQO3yp.js +8 -0
- package/dist/web/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/dist/web/assets/system-verilog-Dh5ihWbf.js +1 -0
- package/dist/web/assets/systemd-BxMlprV5.js +1 -0
- package/dist/web/assets/talonscript-CohzipZa.js +1 -0
- package/dist/web/assets/tasl-DMoTqEGO.js +1 -0
- package/dist/web/assets/tcl-CZd0xW_V.js +1 -0
- package/dist/web/assets/templ-TjxbArHn.js +1 -0
- package/dist/web/assets/terraform-DswuEJGm.js +1 -0
- package/dist/web/assets/tex-BK-H2Wn4.js +1 -0
- package/dist/web/assets/timeline-definition-Z64GVDOM-ht7Pc9Lh.js +120 -0
- package/dist/web/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/dist/web/assets/toml-CcmNWLt0.js +1 -0
- package/dist/web/assets/treeView-QDETBFTQ-B-GVm6gh.js +1 -0
- package/dist/web/assets/treemap-6X3UGDF4-DZ5ImJjV.js +1 -0
- package/dist/web/assets/ts-tags-Cc5do7zu.js +1 -0
- package/dist/web/assets/tsv-sltzmVWM.js +1 -0
- package/dist/web/assets/tsx-CUOciP0b.js +1 -0
- package/dist/web/assets/turtle-ByJddavk.js +1 -0
- package/dist/web/assets/twig-BVSnuTf-.js +1 -0
- package/dist/web/assets/typescript-BydbNFcO.js +1 -0
- package/dist/web/assets/typespec-BRdr0IET.js +1 -0
- package/dist/web/assets/typst-DI99ib-x.js +1 -0
- package/dist/web/assets/v-DBj4K9d_.js +1 -0
- package/dist/web/assets/vala-zf12oZj6.js +1 -0
- package/dist/web/assets/vb-DOwzaHZ0.js +1 -0
- package/dist/web/assets/vennDiagram-T6HMQDX7-DVnsZuuc.js +34 -0
- package/dist/web/assets/verilog-B2gwz-sJ.js +1 -0
- package/dist/web/assets/vesper-DdrHHSXu.js +1 -0
- package/dist/web/assets/vhdl-BroJfC0k.js +1 -0
- package/dist/web/assets/viml-DvXPmvsu.js +1 -0
- package/dist/web/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/dist/web/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/dist/web/assets/vitesse-light-VbXTXTou.js +1 -0
- package/dist/web/assets/vue-BNQF7r6F.js +1 -0
- package/dist/web/assets/vue-html-DkKkQnZL.js +1 -0
- package/dist/web/assets/vue-vine-DFaKYU4X.js +1 -0
- package/dist/web/assets/vyper-CgoNMtux.js +1 -0
- package/dist/web/assets/wardley-OPB4EBWU-CLk0x8RD.js +1 -0
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-BgtlhJqk.js +78 -0
- package/dist/web/assets/wasm-BnjxR4X6.js +1 -0
- package/dist/web/assets/wasm-ByWQv1Qj.js +1 -0
- package/dist/web/assets/wenyan-C8pVoKbM.js +1 -0
- package/dist/web/assets/wgsl-BsKzXJz4.js +1 -0
- package/dist/web/assets/wikitext-ClFFjSW2.js +1 -0
- package/dist/web/assets/wit-DdvCle-K.js +1 -0
- package/dist/web/assets/wolfram-DLL8P-h_.js +1 -0
- package/dist/web/assets/xml-BlnrEAEy.js +1 -0
- package/dist/web/assets/xsl-BOPS8gLt.js +1 -0
- package/dist/web/assets/xychartDiagram-ELKLHX3M-CXEN46LP.js +7 -0
- package/dist/web/assets/yaml-Du_6cdrH.js +1 -0
- package/dist/web/assets/zenscript-BnlCZFoB.js +1 -0
- package/dist/web/assets/zig-CMLA9XwU.js +1 -0
- package/dist/web/index.html +15 -0
- package/migrations/001_initial.sql +96 -0
- package/migrations/002_commit_model.sql +120 -0
- package/migrations/003_editable_comment_posts.sql +36 -0
- package/migrations/004_walkthroughs.sql +25 -0
- package/migrations/005_walkthrough_comments.sql +53 -0
- package/migrations/006_theme_preference.sql +2 -0
- package/migrations/007_file_level_walkthrough_references.sql +24 -0
- package/migrations/008_walkthrough_line_comments.sql +62 -0
- package/package.json +92 -0
- package/skills/rvw/SKILL.md +133 -0
- package/skills/rvw/agents/openai.yaml +4 -0
- package/skills/rvw-walkthrough/SKILL.md +106 -0
- package/skills/rvw-walkthrough/agents/openai.yaml +4 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
CREATE TABLE comment_targets_v4 (
|
|
2
|
+
comment_id TEXT PRIMARY KEY REFERENCES comments(id) ON DELETE CASCADE,
|
|
3
|
+
target_kind TEXT NOT NULL CHECK(target_kind IN ('pull_request', 'document', 'walkthrough')),
|
|
4
|
+
document_kind TEXT CHECK(document_kind IN ('pull_request_markdown', 'repository_file')),
|
|
5
|
+
source_oid TEXT,
|
|
6
|
+
file_path TEXT,
|
|
7
|
+
source_document_hash TEXT,
|
|
8
|
+
quoted_text TEXT,
|
|
9
|
+
walkthrough_id TEXT REFERENCES walkthroughs(id),
|
|
10
|
+
start_line INTEGER,
|
|
11
|
+
end_line INTEGER,
|
|
12
|
+
CHECK(start_line IS NULL OR start_line >= 1),
|
|
13
|
+
CHECK(end_line IS NULL OR end_line >= start_line),
|
|
14
|
+
CHECK(
|
|
15
|
+
(target_kind = 'pull_request' AND document_kind IS NULL AND source_oid IS NULL AND file_path IS NULL AND source_document_hash IS NULL AND quoted_text IS NULL AND walkthrough_id IS NULL AND start_line IS NULL AND end_line IS NULL)
|
|
16
|
+
OR
|
|
17
|
+
(target_kind = 'document' AND document_kind = 'pull_request_markdown' AND source_oid IS NULL AND file_path IS NULL AND source_document_hash IS NOT NULL AND walkthrough_id IS NULL)
|
|
18
|
+
OR
|
|
19
|
+
(target_kind = 'document' AND document_kind = 'repository_file' AND source_oid IS NOT NULL AND file_path IS NOT NULL AND source_document_hash IS NULL AND quoted_text IS NULL AND walkthrough_id IS NULL)
|
|
20
|
+
OR
|
|
21
|
+
(
|
|
22
|
+
target_kind = 'walkthrough' AND document_kind IS NULL AND source_oid IS NULL AND file_path IS NULL AND walkthrough_id IS NOT NULL
|
|
23
|
+
AND (
|
|
24
|
+
(start_line IS NULL AND end_line IS NULL AND quoted_text IS NULL)
|
|
25
|
+
OR
|
|
26
|
+
(start_line IS NOT NULL AND end_line IS NOT NULL AND source_document_hash IS NOT NULL AND quoted_text IS NOT NULL)
|
|
27
|
+
)
|
|
28
|
+
)
|
|
29
|
+
),
|
|
30
|
+
CHECK((start_line IS NULL AND end_line IS NULL) OR (start_line IS NOT NULL AND end_line IS NOT NULL))
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
INSERT INTO comment_targets_v4(
|
|
34
|
+
comment_id,
|
|
35
|
+
target_kind,
|
|
36
|
+
document_kind,
|
|
37
|
+
source_oid,
|
|
38
|
+
file_path,
|
|
39
|
+
source_document_hash,
|
|
40
|
+
quoted_text,
|
|
41
|
+
walkthrough_id,
|
|
42
|
+
start_line,
|
|
43
|
+
end_line
|
|
44
|
+
)
|
|
45
|
+
SELECT
|
|
46
|
+
comment_id,
|
|
47
|
+
target_kind,
|
|
48
|
+
document_kind,
|
|
49
|
+
source_oid,
|
|
50
|
+
file_path,
|
|
51
|
+
source_document_hash,
|
|
52
|
+
quoted_text,
|
|
53
|
+
walkthrough_id,
|
|
54
|
+
start_line,
|
|
55
|
+
end_line
|
|
56
|
+
FROM comment_targets;
|
|
57
|
+
|
|
58
|
+
DROP TABLE comment_targets;
|
|
59
|
+
ALTER TABLE comment_targets_v4 RENAME TO comment_targets;
|
|
60
|
+
|
|
61
|
+
CREATE INDEX comment_targets_document ON comment_targets(document_kind, source_oid, file_path);
|
|
62
|
+
CREATE INDEX comment_targets_walkthrough ON comment_targets(walkthrough_id);
|
package/package.json
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@a9n-shoji/rvw",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Human-centered repository viewer for understanding and refining GitHub pull request changes",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"code-review",
|
|
7
|
+
"developer-tools",
|
|
8
|
+
"github",
|
|
9
|
+
"local-first",
|
|
10
|
+
"pull-request"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"homepage": "https://github.com/a9n-shoji/rvw#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/a9n-shoji/rvw/issues"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/a9n-shoji/rvw.git"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public",
|
|
23
|
+
"registry": "https://registry.npmjs.org/"
|
|
24
|
+
},
|
|
25
|
+
"type": "module",
|
|
26
|
+
"bin": {
|
|
27
|
+
"rvw": "dist/cli.mjs"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"migrations",
|
|
32
|
+
"skills",
|
|
33
|
+
"CHANGELOG.md",
|
|
34
|
+
"README.md",
|
|
35
|
+
"SECURITY.md",
|
|
36
|
+
"LICENSE"
|
|
37
|
+
],
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=24.15.0",
|
|
40
|
+
"pnpm": "11.21.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@eslint/js": "^10.0.1",
|
|
44
|
+
"@hono/node-server": "^2.1.0",
|
|
45
|
+
"@pierre/diffs": "1.3.5",
|
|
46
|
+
"@pierre/vscode-icons": "^0.0.9",
|
|
47
|
+
"@playwright/test": "^1.62.1",
|
|
48
|
+
"@tanstack/react-query": "^5.101.4",
|
|
49
|
+
"@types/node": "^26.2.0",
|
|
50
|
+
"@types/react": "^19.2.18",
|
|
51
|
+
"@types/react-dom": "^19.2.4",
|
|
52
|
+
"@vitejs/plugin-react": "^6.0.5",
|
|
53
|
+
"commander": "^15.0.0",
|
|
54
|
+
"diff": "9.0.0",
|
|
55
|
+
"env-paths": "^4.0.0",
|
|
56
|
+
"esbuild": "^0.28.1",
|
|
57
|
+
"eslint": "^10.8.1",
|
|
58
|
+
"fuzzysort": "^3.1.0",
|
|
59
|
+
"globals": "^17.9.0",
|
|
60
|
+
"hono": "^4.13.1",
|
|
61
|
+
"mdast-util-from-markdown": "^2.0.3",
|
|
62
|
+
"mermaid": "^11.16.1",
|
|
63
|
+
"npm": "11.19.0",
|
|
64
|
+
"open": "^11.0.0",
|
|
65
|
+
"prettier": "^3.9.6",
|
|
66
|
+
"react": "^19.2.8",
|
|
67
|
+
"react-dom": "^19.2.8",
|
|
68
|
+
"react-markdown": "^10.1.0",
|
|
69
|
+
"rehype-raw": "^7.0.0",
|
|
70
|
+
"rehype-sanitize": "^6.0.0",
|
|
71
|
+
"remark-breaks": "^4.0.0",
|
|
72
|
+
"remark-gfm": "^4.0.1",
|
|
73
|
+
"tsx": "^4.23.11",
|
|
74
|
+
"typescript": "^6.0.3",
|
|
75
|
+
"typescript-eslint": "^8.66.0",
|
|
76
|
+
"vite": "^8.2.1",
|
|
77
|
+
"vitest": "^4.1.10",
|
|
78
|
+
"zod": "^4.4.3"
|
|
79
|
+
},
|
|
80
|
+
"scripts": {
|
|
81
|
+
"dev": "tsx src/cli/main.ts open --no-open",
|
|
82
|
+
"check": "tsc --noEmit && eslint . && prettier --check .",
|
|
83
|
+
"test": "vitest run",
|
|
84
|
+
"test:watch": "vitest",
|
|
85
|
+
"test:e2e": "node scripts/build.mjs && playwright test",
|
|
86
|
+
"test:package": "node scripts/package-smoke.mjs",
|
|
87
|
+
"build": "node scripts/build.mjs",
|
|
88
|
+
"start": "node dist/cli.mjs",
|
|
89
|
+
"release:verify": "tsx scripts/verify-release.ts",
|
|
90
|
+
"format": "prettier --write ."
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rvw
|
|
3
|
+
description: Inspect, address, reply to, resolve, reopen, and synchronize rvw review comments through the local rvw CLI. Use when a request contains rvw://comment references, asks to handle feedback recorded in rvw, or asks to synchronize rvw after pushed changes. Do not use this Skill to publish implementation walkthroughs; use rvw-walkthrough for that task.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# rvw review comments
|
|
7
|
+
|
|
8
|
+
Use only the `rvw` CLI protocol to access rvw state. Never read or edit the SQLite database directly. Require a local Agent with access to the saved repository. A running rvw viewer can provide database access through its user-only Unix socket; require direct rvw data-directory access only when that route is unavailable. Do not guess comment contents when required access is unavailable.
|
|
9
|
+
|
|
10
|
+
## Preflight
|
|
11
|
+
|
|
12
|
+
1. Run `rvw protocol --json` and parse stdout as JSON.
|
|
13
|
+
2. Require `protocolVersion` 2, `agent.transport`, and every task capability needed for the task.
|
|
14
|
+
3. Run `rvw agent status --json`. Read `socketPath`, `connectionResult`, `selectedDatabasePath`, `selectedTransport`, and `fallbackReason`. If `selectedTransport` is `unavailable`, stop and report the diagnostic; an explicitly configured `RVW_AGENT_SOCKET_PATH` never falls back to direct database access. Otherwise use the reported transport without overriding it.
|
|
15
|
+
4. Prefer the CLI's transparent Unix-socket route when a normally launched rvw viewer is running.
|
|
16
|
+
Explain the exact local permission needed only if both the socket route and direct CLI access are
|
|
17
|
+
unavailable. `RVW_DATABASE_PATH` selects an explicitly managed database path; the CLI uses a
|
|
18
|
+
running viewer only when it reports that same database.
|
|
19
|
+
|
|
20
|
+
## Read comments
|
|
21
|
+
|
|
22
|
+
When the user asks for unresolved feedback without supplying individual comment references, run:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
rvw comment list <PULL_REQUEST> --state unresolved --limit 50 --offset 0 --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The default state is `unresolved`; use `--state resolved` or `--state all` only when the request needs
|
|
29
|
+
those threads. Require the `comment.list` capability before discovery. Continue with
|
|
30
|
+
`--offset <nextOffset>` while the page has `hasMore: true`; never assume the first page is complete.
|
|
31
|
+
Each item contains a bounded root-post preview, post count, target summary, and service-derived
|
|
32
|
+
`latestPlacement`, but omits replies, exact target evidence, and source excerpts. Run `comment get`
|
|
33
|
+
for every listed thread that you will inspect or address; never act from the preview alone. Collect
|
|
34
|
+
the URIs from every page before replying, resolving, or reopening because those writes can reorder or
|
|
35
|
+
remove entries from later offset pages.
|
|
36
|
+
|
|
37
|
+
Run the following for every supplied `rvw://comment/<uuid>` reference:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
rvw comment get <COMMENT_URI> --json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Use `pullRequest.localRepositoryPath` as the repository to inspect or modify. Read the latest PR title,
|
|
44
|
+
base/head branch names and OIDs, the exact target, all posts, `createdHeadOid`, `latestHeadOid`,
|
|
45
|
+
`latestPlacement`, and `exactSource` before deciding what the comment requests. The default response
|
|
46
|
+
omits `pullRequest.body`. Group the fetched comments by Pull Request. If any comment in a group targets
|
|
47
|
+
the PR or PR Markdown, or any thread in that group cannot be understood without PR-level intent, rerun
|
|
48
|
+
`comment get` for exactly one representative URI in that group with `--include-pr-body`. Reuse that
|
|
49
|
+
latest successfully synchronized body for every comment from the same Pull Request; never request the
|
|
50
|
+
same PR body once per comment. When supplied references span multiple Pull Requests, fetch the body at
|
|
51
|
+
most once for each group that needs it. `latestPlacement` is rvw's authoritative derived placement at
|
|
52
|
+
the latest head; never infer Outdated by comparing OIDs.
|
|
53
|
+
|
|
54
|
+
When the task needs to distinguish the cached snapshot from current GitHub state, use
|
|
55
|
+
`rvw comment get <COMMENT_URI> --live --json`. Read `githubState.staleAgainstGitHub` and live metadata;
|
|
56
|
+
this lookup is read-only and does not make the cached PR current. Without `--live`, null live fields mean
|
|
57
|
+
GitHub was not checked.
|
|
58
|
+
|
|
59
|
+
- For a repository-file target, inspect its recorded source OID and path even when it is Outdated.
|
|
60
|
+
`exactSource.excerpt` contains the selected lines with bounded context when available, and its
|
|
61
|
+
truncation fields say whether more of the exact document must be read from the repository. Treat the
|
|
62
|
+
excerpt as an entry point, not a substitute for inspecting relevant surrounding code.
|
|
63
|
+
`exactSource.availability` is exactly `available`, `binary`, `too-large`, or `missing`; only
|
|
64
|
+
`available` has a non-null excerpt.
|
|
65
|
+
- For a PR-Markdown target, combine its quoted text with the latest `Pull Request.md`; request that
|
|
66
|
+
body through the group's single representative `comment get <COMMENT_URI> --include-pr-body --json`
|
|
67
|
+
call if it has not already been loaded. rvw does not retain the complete historical PR body; never
|
|
68
|
+
treat `createdHeadOid` as a PR-body revision.
|
|
69
|
+
- For a Walkthrough target, read the complete current `walkthrough` object returned by `comment get`, including its body, source OID, diagram bindings, and code references. Whole-document comments remain attached when that Walkthrough is updated in place.
|
|
70
|
+
|
|
71
|
+
## Address comments
|
|
72
|
+
|
|
73
|
+
1. Confirm the authorized scope from the prompt and comment thread.
|
|
74
|
+
2. Inspect the current worktree and relevant surrounding code. Preserve unrelated user changes.
|
|
75
|
+
3. Implement only authorized changes and run proportionate tests.
|
|
76
|
+
4. Reply with concrete findings when no code change is needed.
|
|
77
|
+
5. Resolve only when the user requested resolution or the thread is demonstrably satisfied. A reply alone does not resolve a thread.
|
|
78
|
+
|
|
79
|
+
When feedback asks to improve the explanation rather than the code, use the `rvw-walkthrough` Skill to update the same Walkthrough URI after understanding the full thread. Do not publish a duplicate as an implicit version. Return to this Skill for any authorized reply or resolution.
|
|
80
|
+
|
|
81
|
+
Every `--stdin` command reads until EOF before parsing JSON. Supply the complete object and close stdin in the same non-interactive invocation. Prefer an execution API that accepts stdin and closes it after writing; in a shell, use a quoted heredoc. Never start the command in an interactive PTY and send only JSON plus a newline because a newline is not EOF.
|
|
82
|
+
|
|
83
|
+
To add a standalone reply, use one closed-stdin invocation:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
rvw comment reply '<COMMENT_URI>' --stdin --json <<'RVW_JSON'
|
|
87
|
+
{
|
|
88
|
+
"body": "Investigation result or completed change",
|
|
89
|
+
"authorLabel": "Agent name",
|
|
90
|
+
"relatedCommitOid": null
|
|
91
|
+
}
|
|
92
|
+
RVW_JSON
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Set `authorLabel` to an accurate current Agent name when known; otherwise omit it. This command is not idempotent. After an uncertain failure, re-read the comment before retrying to avoid a duplicate reply.
|
|
96
|
+
|
|
97
|
+
A resolved thread accepts replies, and replying does not reopen it. Likewise, a `pr sync` reply leaves
|
|
98
|
+
the current state unchanged unless its update has `resolve: true`. Use `comment reopen` as a separate,
|
|
99
|
+
explicit state change when the user requests reopening; never assume that a reply changed the state.
|
|
100
|
+
|
|
101
|
+
Use `rvw comment resolve <COMMENT_URI> --json` and `rvw comment reopen <COMMENT_URI> --json` for explicit state changes.
|
|
102
|
+
|
|
103
|
+
## Synchronize pushed changes
|
|
104
|
+
|
|
105
|
+
Synchronize only GitHub-visible state. Complete authorized code changes, tests, commit, push, and any required PR title or body update first. Never represent uncommitted or unpushed local changes as synchronized state.
|
|
106
|
+
|
|
107
|
+
Pass one JSON object and close stdin in the same invocation:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
rvw pr sync --stdin --json <<'RVW_JSON'
|
|
111
|
+
{
|
|
112
|
+
"pullRequest": "https://github.com/owner/repo/pull/123",
|
|
113
|
+
"commentUpdates": [
|
|
114
|
+
{
|
|
115
|
+
"commentRef": "rvw://comment/uuid",
|
|
116
|
+
"reply": "Change included in the pushed commit",
|
|
117
|
+
"resolve": false
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
RVW_JSON
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Prefer this atomic path when the GitHub refresh and comment updates belong to the same operation. Successful replies are linked to the synchronized head commit. The command is not idempotent when it adds replies; re-read affected comments before retrying an uncertain result.
|
|
125
|
+
|
|
126
|
+
If the saved checkout is dirty but a clean worktree in the same Git common directory exists, pass
|
|
127
|
+
`--repository <PATH>`. Inspect every reported dirty entry before deciding whether untracked files are
|
|
128
|
+
irrelevant; only then may you explicitly pass `--allow-untracked`. Never use that option to ignore
|
|
129
|
+
tracked changes. A clean local PR branch that is merely behind GitHub is acceptable and rvw will not
|
|
130
|
+
move its checkout. To change only the saved worktree path without starting a viewer, use
|
|
131
|
+
`rvw pr attach <PULL_REQUEST> --repository <PATH> --json`.
|
|
132
|
+
|
|
133
|
+
If rvw reports `LOCAL_STATE_INCONSISTENT`, report its reset guidance and deletion counts. Never run `rvw pr reset ... --yes` without explicit authorization because it permanently removes local comments, Walkthroughs, and retained rvw refs.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rvw-walkthrough
|
|
3
|
+
description: Read, publish, improve in place, or explicitly delete a commit-fixed Markdown explanation with exact code references and optional Mermaid bindings through the local rvw CLI. Use when the user asks to create, present, publish, revise, update, or remove an implementation, surrounding-code, flow, or architecture walkthrough in rvw. Do not use this Skill for rvw comment handling or PR synchronization.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# rvw Walkthrough management
|
|
7
|
+
|
|
8
|
+
Turn the explanation appropriate to the current request and repository into a verifiable rvw artifact. Leave the document's organization, emphasis, granularity, and use of diagrams to the current session; do not impose fixed headings or a narrative template.
|
|
9
|
+
|
|
10
|
+
Use only the `rvw` CLI protocol. Never access the SQLite database directly or control a viewer through browser automation.
|
|
11
|
+
|
|
12
|
+
## Preflight
|
|
13
|
+
|
|
14
|
+
1. Run `rvw protocol --json` and parse stdout as JSON.
|
|
15
|
+
2. Require `protocolVersion` 2, `agent.transport`, and the `walkthrough.read` capability plus every publish, update, or delete capability needed for the task.
|
|
16
|
+
3. Run `rvw agent status --json`. Read `socketPath`, `connectionResult`, `selectedDatabasePath`, `selectedTransport`, and `fallbackReason`. If `selectedTransport` is `unavailable`, stop and report the diagnostic; an explicitly configured `RVW_AGENT_SOCKET_PATH` never falls back to direct database access. Otherwise use the reported transport without overriding it.
|
|
17
|
+
4. Require local access to the saved repository. When a normally launched rvw viewer is running, the
|
|
18
|
+
CLI can route database reads and writes through its user-only Unix socket; otherwise direct rvw data
|
|
19
|
+
access is required. `RVW_DATABASE_PATH` selects an explicitly managed database; the CLI uses a
|
|
20
|
+
running viewer only when it reports that same database.
|
|
21
|
+
|
|
22
|
+
## Read the current artifact
|
|
23
|
+
|
|
24
|
+
For an existing `rvw://walkthrough/<uuid>` reference, run:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
rvw walkthrough get <WALKTHROUGH_URI> --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Read the complete current body, source OID, diagram bindings, references, and Pull Request repository location before revising or deleting it. Walkthroughs have one current value and no local revision history.
|
|
31
|
+
|
|
32
|
+
## Prepare the artifact
|
|
33
|
+
|
|
34
|
+
1. Inspect the user's requested scope and the relevant committed repository state.
|
|
35
|
+
2. Choose one exact commit containing every referenced path. Do not publish an explanation of uncommitted code.
|
|
36
|
+
3. Compose the explanation in the structure best suited to the current task. Make material boundaries and uncertainty explicit.
|
|
37
|
+
4. Link important code claims with Markdown URLs of the form `rvw-ref:<referenceId>`.
|
|
38
|
+
5. Define every reference with a repository-relative path and, when useful, an inclusive line range at the chosen `sourceOid`. Prefer the smallest meaningful multi-line range that lets the reader verify a code block or flow; include the signature and relevant body instead of pointing only at its first line. Use a single-line range only for a genuinely line-local claim such as one constant or declaration. Omit both `startLine` and `endLine` when the claim concerns the file as a whole. Keep IDs unique and stable within the publication.
|
|
39
|
+
6. Add Mermaid only when it helps the explanation. Bind only elements that should open code. rvw renders Mermaid-supported diagram types, while interactive binding is currently guaranteed for flowchart nodes and class-diagram classes.
|
|
40
|
+
7. Ensure every supplied reference is used by at least one Markdown `rvw-ref:` link or a Mermaid binding whose key is an actual flowchart node or classDiagram class in the body, and ensure every link and binding names a supplied reference. Never invent a binding key merely to mark a reference as used. For a line reference, supply both `startLine` and `endLine`; for a file reference, omit both. Let the CLI reject invalid commits, paths, ranges, IDs, unused references, or bindings; never silently omit a failed reference.
|
|
41
|
+
|
|
42
|
+
## Send JSON without interactive input
|
|
43
|
+
|
|
44
|
+
Every `--stdin` command reads until EOF before parsing JSON. Supply the complete object and close stdin in the same non-interactive invocation. Prefer an execution API that accepts stdin and closes it after writing; in a shell, use a quoted heredoc as shown below. Never start the command in an interactive PTY and send only JSON plus a newline: a newline is not EOF, so the command will keep waiting.
|
|
45
|
+
|
|
46
|
+
## Publish
|
|
47
|
+
|
|
48
|
+
Pass exactly one JSON object and close stdin. This shell form closes it at the heredoc delimiter:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
rvw walkthrough publish --stdin --json <<'RVW_JSON'
|
|
52
|
+
{
|
|
53
|
+
"pullRequest": "https://github.com/owner/repo/pull/123",
|
|
54
|
+
"sourceOid": "0123456789abcdef0123456789abcdef01234567",
|
|
55
|
+
"title": "Request flow",
|
|
56
|
+
"body": "Start at [the handler](rvw-ref:handler), then inspect the [composition root](rvw-ref:composition).",
|
|
57
|
+
"diagramBindings": { "Handler": "handler" },
|
|
58
|
+
"references": [
|
|
59
|
+
{
|
|
60
|
+
"id": "handler",
|
|
61
|
+
"label": "RequestHandler.execute",
|
|
62
|
+
"path": "src/request-handler.ts",
|
|
63
|
+
"startLine": 10,
|
|
64
|
+
"endLine": 24,
|
|
65
|
+
"description": "Application orchestration boundary"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "composition",
|
|
69
|
+
"label": "Application composition root",
|
|
70
|
+
"path": "src/application.ts",
|
|
71
|
+
"description": "File-wide dependency wiring"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
RVW_JSON
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Set the optional `authorLabel` to an accurate current Agent name when known; otherwise omit it.
|
|
79
|
+
|
|
80
|
+
Parse the successful response and report the returned `rvw://walkthrough/<uuid>` reference. Publication is passive: never claim it opened rvw, activated a document, selected a commit, or changed a tab or scroll position. The human chooses which Walkthrough and code references to open and when.
|
|
81
|
+
|
|
82
|
+
## Improve an existing Walkthrough
|
|
83
|
+
|
|
84
|
+
Use an in-place update when the user or a Walkthrough comment asks for a clearer or more accurate explanation. Read the current artifact first, incorporate the feedback, and send a complete replacement object containing `sourceOid`, `title`, `body`, `diagramBindings`, and every reference. Omit `authorLabel` to preserve it, or set it accurately to a string or `null`. Supply the object and close stdin in the same non-interactive invocation, using the same execution-API or quoted-heredoc pattern as publication. Run:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
rvw walkthrough update '<WALKTHROUGH_URI>' --stdin --json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The successful response keeps the same Walkthrough ID and URI. rvw does not create or retain a previous Walkthrough version. Whole-document comments stay attached to the same identity and resolve to the current body and references. Updating is passive and must not be described as browser navigation.
|
|
91
|
+
|
|
92
|
+
## Delete an unnecessary Walkthrough
|
|
93
|
+
|
|
94
|
+
Deletion permanently removes the Walkthrough, its references, and every comment and reply attached to it. First run the command without `--yes` and inspect the returned counts:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
rvw walkthrough delete <WALKTHROUGH_URI> --json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Only after the user explicitly authorizes deleting that exact Walkthrough and the reported associated feedback, run:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
rvw walkthrough delete <WALKTHROUGH_URI> --yes --json
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Never infer deletion authorization from a request to revise, replace, or republish an explanation. Retained Git commit refs may be shared by other review state and remain managed by `rvw pr reset`.
|