@motivation-labs/crosscheck 0.10.0-beta.40 → 0.10.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 +59 -28
- package/assets/screenshot-watch.png +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,18 +10,30 @@
|
|
|
10
10
|
|
|
11
11
|
# crosscheck
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img src="./assets/screenshot-watch.png" alt="crosscheck watch — live pipeline view" width="860" />
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<sub>
|
|
19
|
+
<b>①</b> Session header — profile, orgs, config path, and registered webhooks at a glance. |
|
|
20
|
+
<b>②</b> Per-PR event row — origin detection (<code>via=commits</code>), assigned reviewer, and elapsed time. |
|
|
21
|
+
<b>③</b> Live pipeline stripe — PR size · CR verdict · Fix count · Recheck status, updating in real time.
|
|
22
|
+
</sub>
|
|
23
|
+
</p>
|
|
14
24
|
|
|
15
|
-
|
|
25
|
+
**Auto Code Review Pipeline — customizable PR → Review → Fix → Recheck loop, single-vendor or cross-vendor, zero new infrastructure.**
|
|
26
|
+
|
|
27
|
+
Define the review pipeline in `workflow.yml`: review-only, review + fix, or the full review + fix + recheck cycle. Each step runs through the `claude` or `codex` CLI against your existing subscriptions — no API keys, no per-review cost.
|
|
16
28
|
|
|
17
29
|
---
|
|
18
30
|
|
|
19
31
|
## Highlights
|
|
20
32
|
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
33
|
+
- **Configurable pipeline** — compose steps in `workflow.yml`: a `review` step, an optional `fix` step, and an optional `recheck` step. Add per-step `instructions:` and `when:` conditions to control exactly what runs and when.
|
|
34
|
+
- **Single-vendor and cross-vendor modes** — single-vendor uses whatever AI you have enabled. Cross-vendor routes each PR to the rival AI for an independent review (Claude reviews Codex PRs, Codex reviews Claude PRs). Switch with one config line.
|
|
23
35
|
- **Subscription-funded, not token-billed** — runs through the `claude` and `codex` CLIs against your Claude Pro/Max and ChatGPT Plus/Pro plans. No API keys, no per-review cost.
|
|
24
|
-
- **`watch` for personal use, `serve` for your team** — `crosscheck watch` runs on your laptop
|
|
36
|
+
- **`watch` for personal use, `serve` for your team** — `crosscheck watch` runs on your laptop with an auto-tunnel, ideal for solo use. `crosscheck serve` binds to a fixed port on a shared machine so the whole team is covered.
|
|
25
37
|
|
|
26
38
|
---
|
|
27
39
|
|
|
@@ -54,8 +66,8 @@ $ crosscheck watch
|
|
|
54
66
|
"Move fast and review things."
|
|
55
67
|
|
|
56
68
|
profile personal · cross-vendor · balanced
|
|
69
|
+
pipeline review → fix → recheck
|
|
57
70
|
users your-github-login (5 repos)
|
|
58
|
-
auto-fix on_issues · same-as-author · pull_request
|
|
59
71
|
config ./crosscheck.config.yml
|
|
60
72
|
|
|
61
73
|
✓ tunnel ready: https://abc123.lhr.life
|
|
@@ -64,15 +76,13 @@ $ crosscheck watch
|
|
|
64
76
|
|
|
65
77
|
PR #47 opened: add retry logic for flaky network calls
|
|
66
78
|
origin=claude reviewer=codex
|
|
67
|
-
codex reviewing... (12s)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
fix PR #48 opened → github.com/your-org/your-repo/pull/48
|
|
79
|
+
codex reviewing... (12s) NEEDS WORK (8.4K)
|
|
80
|
+
claude fixing... fixed ✓ (11.2K)
|
|
81
|
+
codex rechecking... (9s) APPROVE (6.1K)
|
|
71
82
|
|
|
72
83
|
PR #49 opened: implement caching layer
|
|
73
84
|
origin=codex reviewer=claude
|
|
74
|
-
claude reviewing... (18s)
|
|
75
|
-
APPROVE
|
|
85
|
+
claude reviewing... (18s) APPROVE (9.8K)
|
|
76
86
|
```
|
|
77
87
|
|
|
78
88
|
---
|
|
@@ -101,7 +111,31 @@ crosscheck issue # draft and file a bug report from recent er
|
|
|
101
111
|
|
|
102
112
|
## Configuration
|
|
103
113
|
|
|
104
|
-
|
|
114
|
+
### Pipeline (`workflow.yml`)
|
|
115
|
+
|
|
116
|
+
The pipeline lives in `workflow.yml` alongside your config. Compose `review`, `fix`, and `recheck` steps in any order and add per-step instructions and `when:` conditions.
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
# workflow.yml — define the review pipeline
|
|
120
|
+
steps:
|
|
121
|
+
- name: review
|
|
122
|
+
type: review
|
|
123
|
+
reviewer: auto # auto | claude | codex | origin
|
|
124
|
+
|
|
125
|
+
- name: fix
|
|
126
|
+
type: fix
|
|
127
|
+
reviewer: origin # fix with the same vendor that wrote the PR
|
|
128
|
+
when: review.verdict != 'APPROVE'
|
|
129
|
+
|
|
130
|
+
- name: recheck
|
|
131
|
+
type: recheck
|
|
132
|
+
reviewer: auto
|
|
133
|
+
when: fix.applied_count > 0
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Config (`crosscheck.config.yml`)
|
|
137
|
+
|
|
138
|
+
Config lives at `~/.crosscheck/config.yml` — one file covers all your repos. Run `crosscheck init` to generate it, or let `crosscheck onboard` write it for you.
|
|
105
139
|
|
|
106
140
|
```yaml
|
|
107
141
|
orgs:
|
|
@@ -111,21 +145,18 @@ routing:
|
|
|
111
145
|
allowed_authors:
|
|
112
146
|
- your-github-login
|
|
113
147
|
|
|
114
|
-
|
|
115
|
-
tier: balanced # fast | balanced | thorough
|
|
116
|
-
|
|
117
|
-
# Which protocol crosscheck uses when cloning PR repos for review
|
|
118
|
-
# ssh — uses your local SSH keys (default)
|
|
119
|
-
# https — uses your GitHub token; pick if SSH cannot reach target repos
|
|
120
|
-
clone_protocol: ssh
|
|
148
|
+
mode: cross-vendor # cross-vendor | single-vendor
|
|
121
149
|
|
|
122
|
-
|
|
123
|
-
|
|
150
|
+
vendors:
|
|
151
|
+
claude:
|
|
124
152
|
enabled: true
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
153
|
+
codex:
|
|
154
|
+
enabled: true
|
|
155
|
+
|
|
156
|
+
quality:
|
|
157
|
+
tier: balanced # fast | balanced | thorough
|
|
158
|
+
|
|
159
|
+
clone_protocol: ssh # ssh (default) | https
|
|
129
160
|
```
|
|
130
161
|
|
|
131
162
|
Full reference: [get-started.md](./get-started.md)
|
|
@@ -134,9 +165,9 @@ Full reference: [get-started.md](./get-started.md)
|
|
|
134
165
|
|
|
135
166
|
## Deployment
|
|
136
167
|
|
|
137
|
-
**Personal (`crosscheck watch`)** — runs on your laptop. SSH tunnel through `localhost.run` handles
|
|
168
|
+
**Personal (`crosscheck watch`)** — runs on your laptop. An SSH tunnel through `localhost.run` handles GitHub webhook delivery automatically — no port-forwarding, no cloud account needed. Reconnects if the tunnel drops.
|
|
138
169
|
|
|
139
|
-
**Team (`crosscheck serve`)** — bind to a fixed port on a machine with a public IP. Register the webhook once
|
|
170
|
+
**Team (`crosscheck serve`)** — bind to a fixed port on a machine with a public IP or behind a reverse proxy. Register the webhook once; the whole team is covered without anyone's laptop staying on.
|
|
140
171
|
|
|
141
172
|
---
|
|
142
173
|
|
|
Binary file
|