diffowl 0.3.0 → 0.3.2
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 +13 -10
- package/dist/cli.js +3355 -942
- package/dist/cli.js.map +1 -1
- package/package.json +10 -16
package/README.md
CHANGED
|
@@ -7,19 +7,22 @@
|
|
|
7
7
|
" "
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
> **
|
|
10
|
+
> **The verification layer for agent-written code.**
|
|
11
11
|
>
|
|
12
|
-
>
|
|
12
|
+
> An independent reviewer that runs locally on every commit — on the model you already use, no matter which agent (or human) wrote the code.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Coding agents now write much of the code, but the agent that wrote a patch shouldn't be its only reviewer. DiffOwl is a separate, independent review pass: it builds bounded local context from your diff and asks a model for structured, durable findings. It works the same whether the change came from Claude Code, Cursor, OpenCode, or your own hands.
|
|
15
|
+
|
|
16
|
+
Under the hood it drives a headless [OpenCode](https://opencode.ai/docs/server/) session for model execution, so you bring your own provider and pay no one but them — no DiffOwl account, no service in the loop.
|
|
15
17
|
|
|
16
18
|
---
|
|
17
19
|
|
|
18
20
|
## Features
|
|
19
21
|
|
|
20
|
-
- **
|
|
22
|
+
- **Agent-Agnostic**: Reviews code from any source — Claude Code, Cursor, OpenCode, or a human. The reviewer stays independent from whoever wrote the patch.
|
|
23
|
+
- **Provider-Neutral**: Runs on whatever model and provider you have configured in OpenCode (Copilot, OpenAI, local, and more). No separate keys, no DiffOwl account, no per-seat bill.
|
|
21
24
|
- **First-Class TypeScript Support**: Automatically extracts modified TypeScript AST nodes (functions, classes, interfaces, types, enums, methods, properties, and top-level const declarations) to feed rich, structured context to the AI reviewer.
|
|
22
|
-
- **
|
|
25
|
+
- **Automatic Git Hooks**: Reviews run on every commit and stay out of your way — results land in `.diffowl/` when they are ready.
|
|
23
26
|
- **Review Chat Handoff**: Reopen the OpenCode session behind the latest or any selected review with `diffowl chat`.
|
|
24
27
|
- **Review Depth Profiles**: Choose `shallow` or `default` context strategies to match fast hooks or normal reviews.
|
|
25
28
|
- **Intelligent File Filtering**: Supports `include` and `exclude` glob patterns to focus reviews on source directories while skipping build artifacts, lockfiles, and node modules.
|
|
@@ -36,7 +39,7 @@ DiffOwl is a lightweight CLI that integrates into your Git workflow to provide h
|
|
|
36
39
|
|
|
37
40
|
### 1. Prerequisites
|
|
38
41
|
|
|
39
|
-
1. **Verify Node.js 22.14.0 is installed**:
|
|
42
|
+
1. **Verify Node.js 22.14.0 or newer is installed**:
|
|
40
43
|
```bash
|
|
41
44
|
node --version
|
|
42
45
|
```
|
|
@@ -224,7 +227,7 @@ View or interactively change the active AI model.
|
|
|
224
227
|
diffowl model
|
|
225
228
|
|
|
226
229
|
# Manually set a model
|
|
227
|
-
diffowl model opencode
|
|
230
|
+
diffowl model opencode/big-pickle
|
|
228
231
|
```
|
|
229
232
|
|
|
230
233
|
### `diffowl chat [report]`
|
|
@@ -280,7 +283,7 @@ diffowl server stop
|
|
|
280
283
|
|
|
281
284
|
### `diffowl findings [list] | show | dismiss | defer | fix | reopen`
|
|
282
285
|
|
|
283
|
-
Inspect and manage the durable findings backlog stored in `.diffowl/state.db`.
|
|
286
|
+
Inspect and manage the durable findings backlog stored in the repo's shared `.diffowl/state.db`.
|
|
284
287
|
|
|
285
288
|
```bash
|
|
286
289
|
# List unresolved findings (open and regressed)
|
|
@@ -312,7 +315,7 @@ Your `.diffowl.yml` configures everything for DiffOwl in your project:
|
|
|
312
315
|
|
|
313
316
|
```yaml
|
|
314
317
|
# Model to use for reviews (provider/model)
|
|
315
|
-
model: opencode
|
|
318
|
+
model: opencode/big-pickle
|
|
316
319
|
|
|
317
320
|
# OpenCode server settings
|
|
318
321
|
server:
|
|
@@ -370,7 +373,7 @@ rules:
|
|
|
370
373
|
|
|
371
374
|
## Review Files
|
|
372
375
|
|
|
373
|
-
Each completed review starts with a timestamped report and an ephemeral `latest.md` copy. The optional resolution skill moves fully handled timestamped reports into the resolved archive:
|
|
376
|
+
Each completed review starts with a timestamped report and an ephemeral `latest.md` copy. Durable state and reports are anchored to the repository's primary checkout, so linked Git worktrees share one backlog. Checkout-scoped runtime files such as hook status, hook logs, and `server.pid` stay in that checkout's local `.diffowl/`. The optional resolution skill moves fully handled timestamped reports into the resolved archive:
|
|
374
377
|
|
|
375
378
|
```text
|
|
376
379
|
.diffowl/state.db # Authoritative review and finding state (0.3+)
|