dw-mc 0.3.0 → 0.5.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/NOTICE.md CHANGED
@@ -5,7 +5,7 @@ someone else is listed here.
5
5
 
6
6
  ## The reviewer persona
7
7
 
8
- `src/domain/persona.ts` holds the review prompt the `prompt` runner opens on. Its
8
+ `src/domain/persona.ts` holds the review prompt a run with no slash command opens on. Its
9
9
  body is derived from the `code-reviewer` agent of
10
10
  [`addyosmani/agent-skills`](https://github.com/addyosmani/agent-skills)
11
11
  (`agents/code-reviewer.md`, commit `be4e44a`), by Addy Osmani, MIT licensed.
package/README.md CHANGED
@@ -7,11 +7,11 @@
7
7
  [![license](https://img.shields.io/npm/l/dw-mc.svg?color=0b7285)](./LICENSE)
8
8
  [![node](https://img.shields.io/node/v/dw-mc.svg?color=0b7285)](https://nodejs.org)
9
9
 
10
- `dw-mc` keeps what it knows about each of your open pull requests on disk, reads GitHub through your own `gh`, runs code reviews through local agent CLIs, and sorts every pull request into the one bucket that says what it waits on.
10
+ `dw-mc` keeps what it knows about each of your open pull requests on disk, reads GitHub through your own `gh`, runs code reviews through your local Claude Code, and sorts every pull request into the one bucket that says what it waits on.
11
11
 
12
12
  - **One bucket per pull request** — _needs me_, _needs review run_, _waiting on others_, _ready_. Never two at once.
13
- - **Reviews on the agent CLIs you already have** — Claude Code, the Codex CLI, or one as your bar and the other as a second opinion.
14
- - **Nothing leaves the machine** — no server, no GitHub App, no webhooks. Only the GitHub calls you would have made yourself, and whatever the agent CLIs send their own providers.
13
+ - **Reviews on the Claude Code you already have** — its own `/code-review`, your own review brief, or both at once.
14
+ - **Nothing leaves the machine** — no server, no GitHub App, no webhooks. Only the GitHub calls you would have made yourself, and whatever Claude Code sends Anthropic.
15
15
  - **State in plain files** — JSON and Markdown under XDG paths, readable without the tool.
16
16
  - **A prompt, not a TUI** — the picker runs the command you would have typed, so nothing it does is hidden from you.
17
17
 
@@ -45,7 +45,7 @@ To look before installing, `pnpm dlx dw-mc --help` runs the same binary from a t
45
45
  - Node 24 or newer
46
46
  - [`gh`](https://cli.github.com), authenticated: `gh auth login`
47
47
  - `git`
48
- - [Claude Code](https://claude.com/claude-code) as `claude`, or the [Codex CLI](https://developers.openai.com/codex/cli) as `codex` — at least one, for review runs and the sessions they open
48
+ - [Claude Code](https://claude.com/claude-code) as `claude`, for review runs and the sessions they open
49
49
 
50
50
  ## Quick start
51
51
 
@@ -55,35 +55,35 @@ dw-mc # the picker: every tracked PR under its bucket, and the command
55
55
  dw-mc review 62 # or drive any command straight
56
56
  ```
57
57
 
58
- `init` asks which runner is your bar and whether Codex should give a second opinion beside it, then writes both answers to one file you can keep in your dotfiles.
58
+ `init` asks nothing: it writes the defaults to one file you can keep in your dotfiles, and what a review opens on is two keys in it — `review.command` and `review.prompt`.
59
59
 
60
60
  Every command that takes a pull request takes it as `62` inside the repository, or as `owner/name#62` from anywhere.
61
61
 
62
62
  ## Commands
63
63
 
64
- | Command | Flags | What it does |
65
- | --------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------- |
66
- | `dw-mc` | — | Opens the picker: every tracked pull request under its bucket, and what moves the one you choose. |
67
- | `dw-mc init` | `--runner`, `--codex`, `--effort`, `--base` | Sets this machine up and registers the repository you are in. |
68
- | `dw-mc sweep` | — | Refreshes what mission control knows about every tracked pull request. It only reads. |
69
- | `dw-mc status` | — | Shows which bucket every tracked pull request sits in, and which ones you have stamped. |
70
- | `dw-mc comments <pr>` | `--all` | Prints the conversation on a pull request, and what in it is waiting on you. |
71
- | `dw-mc review <pr>` | `--effort`, `--force` | Reviews one pull request on the configured runners, in a throwaway worktree. |
72
- | `dw-mc findings <pr>` | `--runner`, `--json` | Prints what the current review run found. |
73
- | `dw-mc fix <pr>` | `--print`, `--commit` | Opens a session on the findings you pick, in a worktree that outlives it. |
74
- | `dw-mc stamp <pr>` | `--withdraw` | Prints your stamp on a pull request, or withdraws it by hand. |
75
- | `dw-mc rebase <pr>` | — | Rebases a branch onto its base and pushes it with a lease. |
76
- | `dw-mc resolve <pr>` | `--print` | Opens a session on the conflict that stopped a rebase. |
77
- | `dw-mc rerun <pr>` | — | Runs a flaky red CI again, once per head. |
78
- | `dw-mc merge <pr>` | — | Squash-merges a Ready, stamped pull request of yours and deletes its branch. |
79
- | `dw-mc cleanup` | `--yes` | Takes back the disk spent on clones and review worktrees, and keeps everything you decided. |
80
- | `dw-mc uninstall` | `--config`, `--force`, `--yes` | Removes everything the tool wrote on this machine, and says how to remove the binary. |
64
+ | Command | Flags | What it does |
65
+ | --------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
66
+ | `dw-mc` | — | Opens the picker: every tracked pull request under its bucket, and what moves the one you choose. |
67
+ | `dw-mc init` | `--effort`, `--base` | Sets this machine up and registers the repository you are in. |
68
+ | `dw-mc sweep` | — | Refreshes what mission control knows about every tracked pull request. It only reads. |
69
+ | `dw-mc status` | — | Shows which bucket every tracked pull request sits in, and which ones you have stamped. |
70
+ | `dw-mc comments <pr>` | `--all` | Prints the conversation on a pull request, and what in it is waiting on you. |
71
+ | `dw-mc review <pr>` | `--command`, `--prompt`, `--effort`, `--model`, `--prompt-only`, `--command-only`, `--force` | Reviews one pull request on Claude Code, in a throwaway worktree. |
72
+ | `dw-mc findings <pr>` | `--json` | Prints what the current review run found. |
73
+ | `dw-mc fix <pr>` | `--print`, `--commit` | Opens a session on the findings you pick, in a worktree that outlives it. |
74
+ | `dw-mc stamp <pr>` | `--withdraw` | Prints your stamp on a pull request, or withdraws it by hand. |
75
+ | `dw-mc rebase <pr>` | — | Rebases a branch onto its base and pushes it with a lease. |
76
+ | `dw-mc resolve <pr>` | `--print` | Opens a session on the conflict that stopped a rebase. |
77
+ | `dw-mc rerun <pr>` | — | Runs a flaky red CI again, once per head. |
78
+ | `dw-mc merge <pr>` | — | Squash-merges a Ready, stamped pull request of yours and deletes its branch. |
79
+ | `dw-mc cleanup` | `--yes` | Takes back the disk spent on clones and review worktrees, and keeps everything you decided. |
80
+ | `dw-mc uninstall` | `--config`, `--force`, `--yes` | Removes everything the tool wrote on this machine, and says how to remove the binary. |
81
81
 
82
82
  `dw-mc <command> --help` prints the flags and what each one is worth.
83
83
 
84
84
  ## How it works
85
85
 
86
- A **bucket** is the one place a pull request sits at a time, named for what it waits on. The rules are tried in order and the first that claims the pull request wins, so a pull request that both needs a review run and has changes requested is yours to move, not the runner's.
86
+ A **bucket** is the one place a pull request sits at a time, named for what it waits on. The rules are tried in order and the first that claims the pull request wins, so a pull request that both needs a review run and has changes requested is yours to move, not the review's.
87
87
 
88
88
  | Bucket | Marker | It waits on |
89
89
  | ----------------- | ------ | --------------------------------------------------------------------------------------- |
@@ -109,16 +109,14 @@ Every other word this tool uses is defined in [`CONTEXT.md`](./CONTEXT.md), and
109
109
  launcher:
110
110
  command: [claude] # program + argument prefix that starts Claude Code
111
111
  fix_args: [] # flags only a fix session gets
112
- codex: [codex] # program + argument prefix that starts the Codex CLI
113
112
  defaults:
114
113
  base: null # the default branch from gh when null
115
114
  review:
116
- runners: [builtin] # one or more of builtin | prompt | codex
117
- effort: low # builtin only
118
- model: null # prompt and codex only
119
- skill: null # passed through as the first line of the tool's own prompt
115
+ command: /code-review # the slash command a run opens on; null for none
116
+ effort: low # the word after the command: low | medium | high | xhigh | max
117
+ prompt: null # your own review brief
118
+ model: null
120
119
  docs_only: ["**/*.md", "docs/**"]
121
- path_instructions: [] # [{ path: glob, instructions: text }]
122
120
  ci:
123
121
  ignore: [] # check names that do not count towards green
124
122
  flaky_patterns: []
@@ -128,7 +126,6 @@ defaults:
128
126
  enabled: false
129
127
  stamp:
130
128
  blocks_on: error
131
- supporting_blocks: false # whether a supporting runner's findings block
132
129
  repos:
133
130
  owner/name:
134
131
  # the same keys, overriding defaults