dv-review 0.34.36

A terminal diff viewer for reviewing GitHub PRs: Helix keys, rust-analyzer, inline review comments, and Claude Code reviews
 dv list keys                                                                        any key closes

 j k, Up Down         move
   gg ge                first / last PR
   Ctrl-d Ctrl-u        half a page down / up
   Tab                  todo (what needs you, ranked) / open PRs / PRs with a local worktree
                        (<repo>-N, as dv N -w makes) / replacements (Claude's drafts, unpublished)
                        On todo: a PR or replacement waiting on you (Claude's review or answers,
                        your review requested or none yet, pushed since you reviewed, ready to
                        merge, a replacement to publish or close for), in the order Claude puts
                        them (once you have it rank them: r r), with why and what next; a a
                        there has Claude do its part on one (answer your replies, update its
                        review, or review it)
   Enter                review the PR (with dv list's flags; from the worktrees tab, in its
                        worktree as it was made); q there comes back here
   /                    filter (Enter keeps it, Esc clears it); terms must all match:
                          text            number, title, author, branch, labels
                          author: label: base: branch:   part of that field
                          is:draft  review:approved|changes|required|none
                          ci:pass|fail|pending|none     -term excludes
   Esc                  clear the filter
   o O                  next sort order (created, the default; number, size, updated) / reverse
   m                    mark the PR (again: unmark), for Claude to review; marks are kept, for
                        going through them a PR at a time (quitting dv list too)
   U U                  unmark all
   C                    auto on / off (top bar; git config dv.auto): Claude does its part as
                        things come in, CI-green drafts go ready, replacements close what they
                        replace, the todo list is ranked again
   a a                  Claude reviews the marked PRs (or this one) in the background, two at a
                        time, each in its worktree (<repo>-N, made if need be); cards show how
                        it's going, and claude ✓ once a PR has a review
   A A                  Claude drafts a replacement for this PR, on a branch of its own in
                        <repo>-replace-N, unpublished, for you to review first (replacements
                        tab); for marked PRs, it first suggests which go together (one
                        replacement each group), which you edit; then your instructions
   b b                  ask the PR's author for a rebase: a comment saying it needs one (in your
                        editor first); on the todo tab it's then deferred until it changes
                        (their push brings it back)
   M M                  merge the PR with github-merge.py (Bitcoin Core's script, built into dv;
                        git config dv.mergescript <path> runs your own copy), in the main
                        checkout: its worktree goes first, unless something in it is unpushed;
                        in a zellij pane of its own, or in this terminal
   N N                  Claude drafts a new PR: your editor opens for what it should do (issues
                        by #N, which Claude reads); on a branch of its own (dv/new-K, in
                        <repo>-new-K), unpublished, on the drafts tab: Enter reviews it, S publishe
   W W                  approve the workflow runs waiting on the PR (GitHub holds a first-time
                        contributor's until a maintainer does): its card says '⏸ N to approve'
   D D                  worktrees tab: remove the PR's worktree (not with local changes in it;
                        its branch stays); replacements tab: remove the replacement (the same)
   R                    refresh (from GitHub; no Claude)
   s                    todo: defer the item (then 1 an hour, 4 four hours, d a day, w a week,
                        or u until something happens: #N merged, CI green, an approval, ...):
                        to the bottom till then, or till what it needs changes; s on a
                        deferred one brings it back. p posts what it waits on as a comment
                        (Waiting on: #N is merged.), which dv reads back for everyone: a
                        comment like that (by you or anyone with write access) defers the PR
                        till then, until a later Unblocked
   r r                  todo: Claude ranks what needs you (one Claude run: the header says what
                        the last cost and what's changed since, to judge if it's worth it)