@diffohq/diffo 0.10.0 → 0.11.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/README.md +19 -29
- package/dist/cli.mjs +635 -45
- package/dist/client/assets/{abnfDiagram-O67JEVCF-DBlSJW53.js → abnfDiagram-O67JEVCF-BP5iCFkM.js} +1 -1
- package/dist/client/assets/{arc-BZZ_ET2N.js → arc-C87wOYz0.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-CsHR0ILn.js +1 -0
- package/dist/client/assets/{architectureDiagram-NJMV4G6O-CmS7e2K4.js → architectureDiagram-NJMV4G6O-Ch5MdO5l.js} +1 -1
- package/dist/client/assets/{blockDiagram-BEXU5L5S-Kj8H2ODF.js → blockDiagram-BEXU5L5S-CFc74J_K.js} +1 -1
- package/dist/client/assets/{c4Diagram-YGBWAQC7-CixbFJxb.js → c4Diagram-YGBWAQC7-ClsjpVUP.js} +1 -1
- package/dist/client/assets/channel-DQRWLOSk.js +1 -0
- package/dist/client/assets/{chunk-3FUC2YCW-CRdo0Gw5.js → chunk-3FUC2YCW-N2ZkdF_f.js} +1 -1
- package/dist/client/assets/{chunk-5DYCD2WN-Bw9n6qPh.js → chunk-5DYCD2WN-5muGfxCV.js} +1 -1
- package/dist/client/assets/{chunk-742MDFTN-BsvOSyDz.js → chunk-742MDFTN-C5vBH3An.js} +1 -1
- package/dist/client/assets/{chunk-7INBJB4K-ie7EoCoW.js → chunk-7INBJB4K-DPMhysil.js} +1 -1
- package/dist/client/assets/{chunk-7M6MHVWA-DJlbYDLH.js → chunk-7M6MHVWA-D5sd2f7K.js} +1 -1
- package/dist/client/assets/{chunk-7PRAP22T-Hs5y39V8.js → chunk-7PRAP22T-CI_sV34J.js} +1 -1
- package/dist/client/assets/{chunk-GTNCS2PH-DNq6Ojc7.js → chunk-GTNCS2PH-DfNZcIoa.js} +1 -1
- package/dist/client/assets/{chunk-GWA4HPMP-vgn0kxbp.js → chunk-GWA4HPMP-DQAQRo6A.js} +1 -1
- package/dist/client/assets/{chunk-MBY4JIJT-C7fMuqSl.js → chunk-MBY4JIJT-BaSwxH2J.js} +1 -1
- package/dist/client/assets/{chunk-NETBCI7D-ZJtjvGwt.js → chunk-NETBCI7D-7ynGMJbY.js} +1 -1
- package/dist/client/assets/{chunk-O7XYJQB3-DESjnZZT.js → chunk-O7XYJQB3-B6zthtTM.js} +1 -1
- package/dist/client/assets/{chunk-UA2S7LBM-Cmf087s8.js → chunk-UA2S7LBM-C5XT36wS.js} +1 -1
- package/dist/client/assets/{chunk-WEXAMYUT-U1TW5ZAF.js → chunk-WEXAMYUT-DKSfnXN1.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-D1B1IYm1.js → chunk-XXDRQBXY-C_bd9P3S.js} +1 -1
- package/dist/client/assets/{chunk-Z7XXMR3K-D3BUH0qv.js → chunk-Z7XXMR3K-DX8Rrfc1.js} +1 -1
- package/dist/client/assets/{chunk-ZIGJFQKS-Bx6yZhwg.js → chunk-ZIGJFQKS-DYXH6dfg.js} +1 -1
- package/dist/client/assets/{classDiagram-v2-NBCMYWYE-sjiBGJdD.js → classDiagram-v2-NBCMYWYE-ppwXe7vx.js} +1 -1
- package/dist/client/assets/{core-6IJUkucC.js → core-Cg_mWgd2.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-xaMCCs4V.js → cose-bilkent-JH36ORCC-DBThhQUN.js} +1 -1
- package/dist/client/assets/{cynefin-OW5HDTMX-C5k9L5NF.js → cynefin-OW5HDTMX-BzSaDndh.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-VND7K2PF-BqiILl4G.js → cynefinDiagram-VND7K2PF-D7pfZG6I.js} +1 -1
- package/dist/client/assets/{dagre-6A5THRUB-BtgX5KvU.js → dagre-6A5THRUB-C09fFRAG.js} +1 -1
- package/dist/client/assets/{diagram-22UHCM2B-BcDIKY8C.js → diagram-22UHCM2B-Ch1ZxAj-.js} +1 -1
- package/dist/client/assets/{diagram-3UASUU5V-C-DrBJ6K.js → diagram-3UASUU5V-BgHiK8FV.js} +1 -1
- package/dist/client/assets/{diagram-ATOU4E4O-B0W6FX6y.js → diagram-ATOU4E4O-Bo77_UMN.js} +1 -1
- package/dist/client/assets/{diagram-CDSNMT55-D1O9NYQ3.js → diagram-CDSNMT55--hmHMcni.js} +1 -1
- package/dist/client/assets/{diagram-MLGK6HIB-WC8izmk2.js → diagram-MLGK6HIB-D9F7Il7J.js} +1 -1
- package/dist/client/assets/{diagram-MPIPVDR6-D5ko9V-k.js → diagram-MPIPVDR6-D3d07JsR.js} +1 -1
- package/dist/client/assets/{dist-BBmACywa.js → dist-CAR9vYXv.js} +1 -1
- package/dist/client/assets/{dist-Bss8uvIz.js → dist-Dgznis65.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-ZINNZB2B-BFIYDkrv.js → ebnfDiagram-ZINNZB2B-Bso144Pp.js} +1 -1
- package/dist/client/assets/{elk-276RUBZZ-WsSc0CyB.js → elk-276RUBZZ-DsWB0IFq.js} +1 -1
- package/dist/client/assets/{engine-oniguruma-DmL6leO7.js → engine-oniguruma-BDu3jbE4.js} +1 -1
- package/dist/client/assets/{erDiagram-OPXOYQCR-CjaKeGKh.js → erDiagram-OPXOYQCR-DFcxAkd4.js} +1 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-Dy8DiEN2.js +1 -0
- package/dist/client/assets/flowDiagram-KWPJA3E3-CNCW86am.js +1 -0
- package/dist/client/assets/{ganttDiagram-FUAMR5RP-22OFMoat.js → ganttDiagram-FUAMR5RP-DZ8yDc0-.js} +1 -1
- package/dist/client/assets/{gitGraph-4MIJSDKK-BP0idayz.js → gitGraph-4MIJSDKK-jziaCjGb.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-X574FWY7-Cx5rPzjc.js → gitGraphDiagram-X574FWY7-DCRBeaGE.js} +1 -1
- package/dist/client/assets/index-C4VoHKyI.css +1 -0
- package/dist/client/assets/index-CWGB-mch.js +93 -0
- package/dist/client/assets/{info-A6RAGUB7-BvZZu8IY.js → info-A6RAGUB7-CVherEOw.js} +1 -1
- package/dist/client/assets/{infoDiagram-VRGFBTTK-Bbk1aZco.js → infoDiagram-VRGFBTTK-0xq1jhrR.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-OU5B5YK6-DbyWrUBY.js → ishikawaDiagram-OU5B5YK6-BOs1zS14.js} +1 -1
- package/dist/client/assets/{journeyDiagram-ZHPQQLJL-Ka7zlagO.js → journeyDiagram-ZHPQQLJL-D0Ozyf-O.js} +1 -1
- package/dist/client/assets/{kanban-definition-PNTS6WVX-Q_NAEdRt.js → kanban-definition-PNTS6WVX-DRE_uQjW.js} +1 -1
- package/dist/client/assets/{line-SDAA9fEr.js → line-DaN3iy15.js} +1 -1
- package/dist/client/assets/{linear-BPf2OGUv.js → linear-CRCMQGaX.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-BjLzFSoy.js → mermaid-parser.core-oN6M_WEa.js} +3 -3
- package/dist/client/assets/{mermaid.core-vvUsQbpX.js → mermaid.core-YJctE5LN.js} +4 -4
- package/dist/client/assets/{mindmap-definition-NLK3R4M7-DuVzu_4M.js → mindmap-definition-NLK3R4M7-C6eqCgee.js} +1 -1
- package/dist/client/assets/{packet-AYTQ26CC-A66za-wc.js → packet-AYTQ26CC-D09KC4vR.js} +1 -1
- package/dist/client/assets/{pegDiagram-GJSIUBJH-ClH92MDY.js → pegDiagram-GJSIUBJH-CbKH-rBq.js} +1 -1
- package/dist/client/assets/{pie-WAS4IAKB-sJ2H2jF4.js → pie-WAS4IAKB-whtC2UUK.js} +1 -1
- package/dist/client/assets/{pieDiagram-5QR66LMP-BmlcB4fD.js → pieDiagram-5QR66LMP-Dvc9m9wg.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-O4NWA36T-BUdNHhtc.js → quadrantDiagram-O4NWA36T-D0G-xgdx.js} +1 -1
- package/dist/client/assets/{radar-RG4KPBEZ-B3MRkz7l.js → radar-RG4KPBEZ-UErkZb84.js} +1 -1
- package/dist/client/assets/{railroad-74A4TZTK-CPQddZw9.js → railroad-74A4TZTK-CQBJHfzO.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-BedGOWtg.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-DudE8AEK.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DlrQn7uw.js +1 -0
- package/dist/client/assets/{railroadDiagram-XR7U4H2S-B2wicmNk.js → railroadDiagram-XR7U4H2S-DVT-lJ4r.js} +1 -1
- package/dist/client/assets/{requirementDiagram-PLB6GJNP-4fGmNry2.js → requirementDiagram-PLB6GJNP-BWJZJJlR.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-IPEJSGJF-ByuhL9nO.js → sankeyDiagram-IPEJSGJF-CEh_PdFx.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-PO4LG4MO-CHeFXNrS.js → sequenceDiagram-PO4LG4MO-DodtYIMU.js} +1 -1
- package/dist/client/assets/{src-DuEx6MBc.js → src-1v74j3tV.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-GCMORJYK-Dsfly8rU.js → stateDiagram-v2-GCMORJYK-kMbRFMI8.js} +1 -1
- package/dist/client/assets/{swimlanes-2SLR337P-DDb1xXAV.js → swimlanes-2SLR337P-D6NL4heU.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-TC7HE7FX-CC02q6Vu.js +8 -0
- package/dist/client/assets/{timeline-definition-EJHVYXUP-iC4lxMiK.js → timeline-definition-EJHVYXUP-DBiPEcaq.js} +1 -1
- package/dist/client/assets/{treeView-Q6P3EWNA-zXF3RWVa.js → treeView-Q6P3EWNA-B4A_X6Ee.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-BvA719M0.js → treemap-WGGIJYW6-BKfnTV1e.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-POWQR4AR-CXzh5cdW.js → usecaseDiagram-POWQR4AR-C-wOJ0sN.js} +1 -1
- package/dist/client/assets/{vennDiagram-UO4OBE2U-BuMQeNKp.js → vennDiagram-UO4OBE2U-CgBX6mVG.js} +1 -1
- package/dist/client/assets/{wardley-WFR3VGLG-m1zZI6-6.js → wardley-WFR3VGLG-Ca0IxSXR.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VNRHLVJA-DiB2QtGU.js → wardleyDiagram-VNRHLVJA-BtiwsIrq.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PMCCYNJV-CKRPoaV8.js → xychartDiagram-PMCCYNJV-BYZTngs6.js} +1 -1
- package/dist/client/favicon.svg +15 -7
- package/dist/client/index.html +2 -2
- package/package.json +2 -1
- package/plugin.json +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-Cds-sOVr.js +0 -1
- package/dist/client/assets/channel-BI4dhOPo.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-DE5ql6lo.js +0 -1
- package/dist/client/assets/flowDiagram-KWPJA3E3-CObKVtKJ.js +0 -1
- package/dist/client/assets/index-CL4K6Y07.css +0 -1
- package/dist/client/assets/index-DXMhk4ok.js +0 -93
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CijG3JBn.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-CNgXgJgc.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-BkwGmMtj.js +0 -1
- package/dist/client/assets/swimlanesDiagram-TC7HE7FX-DXpYpXP-.js +0 -8
package/README.md
CHANGED
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
<a href="https://diffohq.github.io/diffo/">
|
|
4
4
|
<picture>
|
|
5
|
-
<source media="(prefers-color-scheme: dark)" srcset="assets/
|
|
6
|
-
<img src="assets/
|
|
5
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/readme-hero-dark.svg">
|
|
6
|
+
<img src="assets/readme-hero.svg" alt="Diffo: the human way to review agent-written code" width="100%">
|
|
7
7
|
</picture>
|
|
8
8
|
</a>
|
|
9
9
|
|
|
10
|
-
# Diffo
|
|
11
|
-
|
|
12
|
-
### The human way to review agent-written code.
|
|
13
|
-
|
|
14
10
|
Ask your agent for a review. You get the change in **layers**, in the order it should be
|
|
15
11
|
read, and **the agent on the other end of every comment**: it answers on the line and fixes
|
|
16
12
|
while you read. Hand it a pull request instead, and it reads beside you and sends your
|
|
@@ -18,26 +14,19 @@ review to GitHub.
|
|
|
18
14
|
|
|
19
15
|
[Quick start](#quick-start) · [The conversation](#talk-to-the-agent-on-the-line) · [Layers](#read-it-in-layers) · [Pull requests](#review-a-pull-request) · [Docs](#docs) · [Contributing](#contributing)
|
|
20
16
|
|
|
21
|
-
[](https://github.com/DiffoHQ/diffo/actions/workflows/ci.yml)
|
|
22
|
-
[](https://diffohq.github.io/diffo/)
|
|
26
|
-
[](#contributing)
|
|
17
|
+
[](https://github.com/DiffoHQ/diffo/actions/workflows/ci.yml)
|
|
18
|
+
[](https://www.npmjs.com/package/@diffohq/diffo)
|
|
19
|
+
[](LICENSE)
|
|
20
|
+
[](https://diffohq.github.io/diffo/)
|
|
27
21
|
|
|
28
22
|
</div>
|
|
29
23
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<!-- Light-theme only. The clip opens once the session has finished writing the change:
|
|
36
|
-
waiting on the agent is fast-forwarded — the badge in the session's corner says so
|
|
37
|
-
while it runs — and nothing else is cut. -->
|
|
38
|
-
<img alt="One take of the whole loop. A Claude Code session has just written natural-language due dates into a todo app; the reviewer types /diffo, and the session opens a live review and hands over its localhost URL, which opens beside the session. The reviewer leaves a question on the weekday line (a bare weekday always lands next week, should it mean today?) and the agent's answer appears in the thread while they watch." src="docs/assets/loop.gif" width="100%">
|
|
24
|
+
<picture>
|
|
25
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme-demo-dark.svg">
|
|
26
|
+
<img alt="The Diffo loop. In the agent's terminal you type /diffo and the review opens beside it. You ask a question on line 14, and it flies to the agent; the agent fixes the code and answers, and the answer and the fix fly back, landing in the thread and in the diff you are reading." src="docs/assets/readme-demo.svg" width="100%">
|
|
27
|
+
</picture>
|
|
39
28
|
|
|
40
|
-
<p align="center"><sub>The whole loop
|
|
29
|
+
<p align="center"><sub>The whole loop: type <code>/diffo</code>, ask on the line, and the answer and the fix come back into the diff you're reading.</sub></p>
|
|
41
30
|
|
|
42
31
|
---
|
|
43
32
|
|
|
@@ -96,11 +85,11 @@ the next. Anything the agent touches after posting gathers in a *Since your revi
|
|
|
96
85
|
so nothing hides outside the plan.
|
|
97
86
|
|
|
98
87
|
<picture>
|
|
99
|
-
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/layers-dark.
|
|
100
|
-
<img alt="
|
|
88
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme-layers-dark.svg">
|
|
89
|
+
<img alt="Layers in Diffo. The header chip reads agent · suggests layers and the reviewer accepts. The request crosses to the agent's terminal, which outlines the 13-file change as four ordered steps and posts them with diffo layers. Four layers land in the rail; the first layer's card draws its diagram, its files are read and ticked, and ] steps to the second and third layers." src="docs/assets/readme-layers.svg" width="100%">
|
|
101
90
|
</picture>
|
|
102
91
|
|
|
103
|
-
<p align="center"><sub>
|
|
92
|
+
<p align="center"><sub>Thirteen files, alphabetical, become four steps to read in order.</sub></p>
|
|
104
93
|
|
|
105
94
|
## Review a pull request
|
|
106
95
|
|
|
@@ -111,11 +100,12 @@ you as a copilot for code it did not write. Every comment has two tabs. **Commen
|
|
|
111
100
|
goes to the author, as one review when you finish. **Ask agent** stays on your machine:
|
|
112
101
|
the agent can run the tests and answer with evidence, and it never posts to GitHub.
|
|
113
102
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<img alt="
|
|
103
|
+
<picture>
|
|
104
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/readme-pr-dark.svg">
|
|
105
|
+
<img alt="A pull request in Diffo: you hand the PR link to your agent and it is checked out in a worktree of its own; a Private question on line 13 crosses to your agent, which runs the tests and answers in the thread; a PR comment waits as a draft until Submit review, and then the review crosses to GitHub, while the private thread stays on your machine." src="docs/assets/readme-pr.svg" width="100%">
|
|
106
|
+
</picture>
|
|
117
107
|
|
|
118
|
-
<p align="center"><sub>
|
|
108
|
+
<p align="center"><sub>Two destinations: a <b>Private</b> question goes to your agent and never leaves your machine; a <b>PR comment</b> waits as a draft and goes to GitHub when you submit.</sub></p>
|
|
119
109
|
|
|
120
110
|
## Where it fits
|
|
121
111
|
|