openqodex 0.4.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/README.md +15 -10
- package/dist/bin.js +4223 -2269
- package/docs/agents.md +33 -22
- package/docs/cli.md +17 -30
- package/docs/config.md +4 -2
- package/docs/github-action.md +34 -8
- package/docs/index.md +1 -1
- package/docs/internal-reviewer-drivers.md +143 -0
- package/docs/llms.txt +1 -0
- package/docs/plumbing.md +22 -6
- package/docs/quickstart.md +13 -10
- package/docs/security.md +20 -5
- package/package.json +1 -1
- package/skills/openqodex/SKILL.md +27 -105
- package/templates/README.md +2 -2
- package/templates/cline/openqodex.md +3 -3
- package/templates/cursor/openqodex.mdc +3 -3
- package/templates/instructions-section.md +1 -1
- package/templates/repo/team-section.md +2 -2
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://github.com/openqodex/openqodex/actions/workflows/ci.yml)
|
|
8
8
|
|
|
9
|
-
OpenQodex is open source code review that runs
|
|
9
|
+
OpenQodex is open source code review that runs before you push, from your coding agent or your terminal. One command, `openqodex review`, works out your change: the commits not yet pushed plus everything uncommitted. It runs the scanners that fit the changed files and keeps only findings on the lines you changed. Then it starts its own reviewer, a separate Claude Code process that reads a frozen copy of the change and nothing else. The reviewer checks every scanner finding and reads every changed line. OpenQodex checks its answer with scripts and prints one report. It needs Claude Code installed and logged in, and no other key, account or server.
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ For humans, in your terminal:
|
|
|
16
16
|
npx openqodex init
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
`init` finds Claude Code, Cursor, Codex CLI and Cline on your machine. It prints every file it will write and asks once. Then say to your agent
|
|
19
|
+
`init` finds Claude Code, Cursor, Codex CLI and Cline on your machine. It prints every file it will write and asks once. Then it reviews your change, or asks what to review when there is none. After that, say to your agent "review my change with openqodex", or run `openqodex review` yourself.
|
|
20
20
|
|
|
21
21
|
For agents:
|
|
22
22
|
|
|
@@ -39,20 +39,24 @@ OpenQodex needs Node 22 or newer and git. It runs on macOS and Linux. On Windows
|
|
|
39
39
|
|
|
40
40
|
Four commands: `init`, `review`, `update` and `trust`. The commands hooks and agents call are listed in [docs/plumbing.md](docs/plumbing.md).
|
|
41
41
|
|
|
42
|
-
- `openqodex review
|
|
43
|
-
- `openqodex review --
|
|
44
|
-
- `
|
|
45
|
-
-
|
|
42
|
+
- `openqodex review` runs the whole review in one command: a frozen copy of the change, the scanners, the code graph, a reviewer process OpenQodex starts, script checks of its answer, and one report in the terminal and in `report.md`, `report.json` and `report.sarif`.
|
|
43
|
+
- `openqodex review --all` reviews the whole repository. `openqodex review <branch>` and `openqodex review '#42'` review a branch or a pull request that is not your current work. OpenQodex fetches it, checks it out in a temporary folder and reviews what it added since it left its base.
|
|
44
|
+
- The reviewer is Claude Code (`claude -p`), started with read, search and list tools only, inside the copy of the change, with none of your settings, hooks, plugins, memory or instruction files. Codex and Cursor cannot be held to that yet, so they are not used as reviewers: [docs/internal-reviewer-drivers.md](docs/internal-reviewer-drivers.md) says why.
|
|
45
|
+
- A review is complete only when every stage ran, every scanner finding was raised or dropped with a reason, and every changed line was read. Anything else prints "Review incomplete" with what is missing, and exits 2.
|
|
46
46
|
- A change that only deletes code, such as a removed check, can still carry a finding: the lines next to a deletion count as changed.
|
|
47
47
|
- Thirteen built-in scanners. Every downloaded scanner is pinned to one version. Each runs only when the change holds a file it reads.
|
|
48
48
|
- Any scanner by its GitHub link, after you approve it with `openqodex trust`.
|
|
49
|
-
- A push gate for Claude Code and Codex.
|
|
50
|
-
- A GitHub Action and a pre-commit hook that run `openqodex scan
|
|
49
|
+
- A push gate for Claude Code and Codex, and an optional git pre-push hook. Both look for a review of exactly what is pushed; neither scans or reviews by itself. They warn by default and block only when `.openqodex.yaml` sets `review.block_on_severity`.
|
|
50
|
+
- A GitHub Action and a pre-commit hook that run the scanners only (`openqodex scan`). They are not a review.
|
|
51
51
|
- `npx openqodex demo` builds a small repo with planted bugs and scans it.
|
|
52
52
|
|
|
53
53
|
## What it does not do yet
|
|
54
54
|
|
|
55
|
-
-
|
|
55
|
+
- The separate reviewer process needs Claude Code today. Without it, `review` prints "Full review unavailable", says what is missing, saves the unchecked scanner findings to a file it names, and names the command with which the agent you are in reviews the change itself (`review --agent`). That report says which agent reviewed.
|
|
56
|
+
- No Codex or Cursor reviewer. Codex always loads your own `~/.codex/AGENTS.md` and does not show every command it runs in its event stream. `cursor-agent` has no way to limit its tools to reading or to skip your rules and settings.
|
|
57
|
+
- A review takes one to three minutes and uses your own Claude Code plan.
|
|
58
|
+
- No review finds everything. The promise is that every stage runs, every scanner finding is checked, every changed line is read, and anything skipped is named.
|
|
59
|
+
- No review on your own API key without Claude Code.
|
|
56
60
|
- No tool server for agents (MCP).
|
|
57
61
|
- No Homebrew formula, no install script and no Docker image. Install through npm.
|
|
58
62
|
- No Windows support outside WSL.
|
|
@@ -116,6 +120,7 @@ npx openqodex trust
|
|
|
116
120
|
- Scanner downloads on first use: GitHub release files checked against pinned sha256 sums, and pinned packages from PyPI, npm and RubyGems.
|
|
117
121
|
- Semgrep rule packs (`p/default`, `p/security-audit`, `p/secrets`), fetched from the Semgrep registry on each run.
|
|
118
122
|
- When the change holds a lockfile, osv-scanner sends dependency names and versions to osv.dev. It never sends code.
|
|
123
|
+
- The reviewer: Claude Code sends the review brief and the files it reads from the copy of the change to the model your Claude Code login uses. It has no web tool unless you set `reviewer_web: on` in `~/.openqodex/config.yaml`.
|
|
119
124
|
|
|
120
125
|
- `openqodex trust` reads the custom scanner's release from the GitHub API and downloads it.
|
|
121
126
|
- `openqodex review <branch>` or `review '#<number>'` fetches that branch or pull request from your remote with git, and asks `gh` for the pull request's base when `gh` is installed.
|
|
@@ -123,7 +128,7 @@ npx openqodex trust
|
|
|
123
128
|
|
|
124
129
|
`--offline` skips osv-scanner and semgrep and turns scanner downloads, the version check, and the fetch and `gh` call of a branch or pull request review off.
|
|
125
130
|
|
|
126
|
-
The built-in scanners send no code anywhere.
|
|
131
|
+
The built-in scanners send no code anywhere. The reviewer's model sees the brief and what the reviewer reads, as with any Claude Code session. A custom scanner you approved does whatever its own command does. [docs/security.md](docs/security.md) gives the full list.
|
|
127
132
|
|
|
128
133
|
## Updates
|
|
129
134
|
|