@fullstackhouse/cerber 0.10.1 → 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 CHANGED
@@ -8,9 +8,7 @@ verdict with a confidence score. You go through it in a local web cockpit.
8
8
  write is the Send button (plus opt-in daemon auto-send you turn on yourself) —
9
9
  reviewing is 100% local and read-only.
10
10
 
11
- Named after Cerberus, the gatekeeper — and a sibling of
12
- [cezar](https://github.com/open-mercato/cezar): cezar runs coding agents,
13
- cerber guards what gets merged.
11
+ Named after Cerberus, the gatekeeper: cerber guards what gets merged.
14
12
 
15
13
  ## Quick start
16
14
 
@@ -37,9 +35,11 @@ npx @fullstackhouse/cerber serve # → http://127.0.0.1:4820
37
35
  Sending stays a human click. Tame it with `--no-auto-review` (list awaiting
38
36
  PRs, review on click) or `--no-poll` (no GitHub polling at all) — or flip the
39
37
  same two switches in the cockpit's Settings, which persist in
40
- `~/.cerber/config.json` and apply on the next poll. Merged and closed PRs are
41
- archived out of the queue automatically, and PRs in archived repos are never
42
- picked up at all — the repo is read-only, so a review could never be sent.
38
+ `~/.cerber/config.json` and apply on the next poll. The queue only lists what
39
+ still wants you: anything you have settled drops into a drawer under it — one
40
+ for reviews you sent, one for the ones you marked reviewed or skipped, one for
41
+ merged and closed PRs — and PRs in archived repos are never picked up at all,
42
+ since the repo is read-only and a review could never be sent.
43
43
 
44
44
  ## What a review looks like
45
45
 
@@ -59,6 +59,13 @@ Each review is a plain JSON artifact in `~/.cerber/reviews/` (override with
59
59
  The cockpit (`cerber serve`) renders the queue and the per-PR walkthrough with
60
60
  diffs. Artifacts are plain JSON you can `cat`, edit, or pipe into anything.
61
61
 
62
+ The queue is meant to be walked, not clicked through: `j`/`k` move the cursor
63
+ and the strip under the table explains whatever it lands on — the verdict's own
64
+ reasoning, what the run read, how it sits against the auto-send bar — so most
65
+ rows can be judged without opening them. `↵` opens one, `r` drafts (or
66
+ re-drafts) it. Inside a review, `[` and `]` walk to the previous/next PR still
67
+ awaiting you, `n` steps through the chapters, and `s` sends.
68
+
62
69
  ### It reviews the code, not just the diff
63
70
 
64
71
  Cerber checks the PR's head out locally and lets the review read it. That
@@ -301,4 +308,4 @@ Web cockpit dev with hot reload: `pnpm dev serve` in one terminal,
301
308
 
302
309
  ## License
303
310
 
304
- MIT © Full Stack House
311
+ MIT © [Full Stack House](https://fullstack.house)
@@ -144,10 +144,19 @@ export async function buildApp(opts) {
144
144
  additions: a.pr.additions,
145
145
  deletions: a.pr.deletions,
146
146
  changedFiles: a.pr.changedFiles,
147
+ // The queue's cursor row explains itself without opening the review,
148
+ // so the list carries what that explanation is made of.
149
+ baseRefName: a.pr.baseRefName,
150
+ headRefName: a.pr.headRefName,
147
151
  },
148
152
  verdict: a.verdict,
149
153
  commentCount: a.comments.filter((cm) => cm.status !== "dropped").length,
154
+ driftedCount: a.comments.filter((cm) => cm.status !== "dropped" && cm.drifted).length,
150
155
  costUsd: a.run?.costUsd ?? null,
156
+ withSource: a.run?.withSource ?? null,
157
+ trusted: a.run?.trusted ?? null,
158
+ runError: a.run?.error ?? null,
159
+ sent: a.sent ? { at: a.sent.at, event: a.sent.event, url: a.sent.url, auto: a.sent.auto ?? false } : null,
151
160
  })));
152
161
  });
153
162
  app.get("/api/reviews/:key", async (c) => {
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@fullstackhouse/cerber",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "AI code-review cockpit: Claude reviews your PRs into local artifacts; nothing reaches GitHub until you say so.",
5
5
  "license": "MIT",
6
+ "author": "Full Stack House (https://fullstack.house)",
6
7
  "repository": "github:fullstackhouse/cerber",
7
8
  "type": "module",
8
9
  "packageManager": "pnpm@10.33.2",