@humanbased/crosscheck 0.15.0-beta.103 → 0.15.0-beta.145
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/ISSUE.md +1 -1
- package/LICENSE +1 -1
- package/README.md +45 -5
- package/README.zh.md +1 -1
- package/crosscheck.config.example.yml +1 -1
- package/dist/__tests__/diagnose.test.js +36 -0
- package/dist/__tests__/diagnose.test.js.map +1 -1
- package/dist/__tests__/error-classification.test.d.ts +2 -0
- package/dist/__tests__/error-classification.test.d.ts.map +1 -0
- package/dist/__tests__/error-classification.test.js +36 -0
- package/dist/__tests__/error-classification.test.js.map +1 -0
- package/dist/__tests__/issue.test.js +2 -2
- package/dist/__tests__/issue.test.js.map +1 -1
- package/dist/__tests__/review-models.test.js +17 -0
- package/dist/__tests__/review-models.test.js.map +1 -1
- package/dist/__tests__/scopes.test.js +11 -11
- package/dist/__tests__/scopes.test.js.map +1 -1
- package/dist/commands/diagnose.d.ts +1 -1
- package/dist/commands/diagnose.d.ts.map +1 -1
- package/dist/commands/diagnose.js +30 -1
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/kickass.d.ts +10 -0
- package/dist/commands/kickass.d.ts.map +1 -1
- package/dist/commands/kickass.js +82 -26
- package/dist/commands/kickass.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +10 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/lib/board.d.ts.map +1 -1
- package/dist/lib/board.js +7 -5
- package/dist/lib/board.js.map +1 -1
- package/dist/lib/logger.d.ts +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +12 -2
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/review-models.d.ts +2 -2
- package/dist/lib/review-models.d.ts.map +1 -1
- package/dist/lib/review-models.js +6 -1
- package/dist/lib/review-models.js.map +1 -1
- package/dist/lib/runner.js +2 -2
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/scopes.js +1 -1
- package/dist/lib/scopes.js.map +1 -1
- package/dist/reviewers/claude.js +1 -1
- package/dist/reviewers/claude.js.map +1 -1
- package/docs/fixture-pr.md +112 -0
- package/docs/proof-demo.md +102 -0
- package/get-started.md +73 -27
- package/package.json +4 -2
package/get-started.md
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
- [Prerequisites](#prerequisites)
|
|
10
10
|
- [Install](#install)
|
|
11
11
|
- [Environment variables](#environment-variables)
|
|
12
|
-
- [Step 1 — Check your
|
|
13
|
-
- [Step 2 —
|
|
12
|
+
- [Step 1 — Check your setup](#step-1--check-your-setup)
|
|
13
|
+
- [Step 2 — Get one useful review](#step-2--get-one-useful-review)
|
|
14
14
|
- [Step 3 — Choose a deployment mode](#step-3--choose-a-deployment-mode)
|
|
15
15
|
- [Step 4 — Verify it's working](#step-4--verify-its-working)
|
|
16
16
|
- [Commands](#commands)
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
## Prerequisites
|
|
36
36
|
|
|
37
|
-
You need
|
|
37
|
+
You need GitHub CLI and at least one authenticated AI reviewer CLI before crosscheck can run a one-shot review. Install both Claude Code and Codex only if you want cross-vendor review routing.
|
|
38
38
|
|
|
39
39
|
### Claude Code
|
|
40
40
|
|
|
@@ -143,40 +143,50 @@ export CROSSCHECK_WEBHOOK_SECRET=your-secret
|
|
|
143
143
|
|
|
144
144
|
---
|
|
145
145
|
|
|
146
|
-
## Step 1 —
|
|
146
|
+
## Step 1 — Check your setup
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
|
-
crosscheck
|
|
149
|
+
crosscheck status
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
`crosscheck
|
|
152
|
+
`crosscheck status` prints the active config path, GitHub auth source, usable reviewer CLIs, webhook-secret handling, and current logs. A webhook secret is auto-managed for `watch` and `serve`, so it does not need to be set before a one-shot review.
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
> If you prefer to skip the wizard and configure manually, run `crosscheck init` to generate a starter config, then edit `~/.crosscheck/config.yml` directly.
|
|
154
|
+
If you prefer to create a starter config without the full wizard:
|
|
157
155
|
|
|
158
|
-
|
|
156
|
+
```bash
|
|
157
|
+
crosscheck init
|
|
158
|
+
```
|
|
159
159
|
|
|
160
|
-
## Step 2 —
|
|
160
|
+
## Step 2 — Get one useful review
|
|
161
161
|
|
|
162
|
-
Before running continuously, verify end-to-end with one PR:
|
|
162
|
+
Before running continuously, verify end-to-end with one low-risk PR:
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
165
|
crosscheck review https://github.com/owner/repo/pull/123 --reviewer codex
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
-
This clones the PR branch, runs Codex review against the base branch, and posts a comment to the PR. If
|
|
169
|
-
|
|
170
|
-
Try Claude as reviewer too:
|
|
168
|
+
This clones the PR branch, runs Codex review against the base branch, and posts a comment to the PR. If Claude Code is your authenticated reviewer, use:
|
|
171
169
|
|
|
172
170
|
```bash
|
|
173
171
|
crosscheck review https://github.com/owner/repo/pull/123 --reviewer claude
|
|
174
172
|
```
|
|
175
173
|
|
|
176
|
-
|
|
174
|
+
If this step fails, fix the specific auth, clone, reviewer, or comment-posting error before enabling `watch` or `serve`.
|
|
177
175
|
|
|
178
176
|
## Step 3 — Choose a deployment mode
|
|
179
177
|
|
|
178
|
+
After one-shot review works, run the guided setup:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
crosscheck onboard
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
`crosscheck onboard` checks your CLIs, walks you through deployment mode, repo selection, review mode, workflow pipeline, and connection settings, then writes a ready-to-use config. See the [`crosscheck onboard`](#crosscheck-onboard) command reference for the full walkthrough.
|
|
185
|
+
|
|
186
|
+
Once it completes, go straight to `crosscheck watch`. There is no separate init step required.
|
|
187
|
+
|
|
188
|
+
> If you prefer to skip the wizard and configure manually, run `crosscheck init` to generate a starter config, then edit `~/.crosscheck/config.yml` directly.
|
|
189
|
+
|
|
180
190
|
### Personal vs team
|
|
181
191
|
|
|
182
192
|
On first run, `crosscheck watch` (or `crosscheck serve`) will ask how you're using it:
|
|
@@ -344,7 +354,7 @@ crosscheck init
|
|
|
344
354
|
crosscheck init --config /path/to/crosscheck.config.yml
|
|
345
355
|
```
|
|
346
356
|
|
|
347
|
-
What it checks: `codex` CLI, `claude` CLI, `gh` CLI, `
|
|
357
|
+
What it checks: `codex` CLI, `claude` CLI, `gh` CLI, GitHub auth, and webhook-secret handling. The webhook secret is auto-managed at `~/.crosscheck/webhook-secret` for `watch` and `serve`.
|
|
348
358
|
|
|
349
359
|
| Flag | Description |
|
|
350
360
|
|---|---|
|
|
@@ -354,7 +364,7 @@ What it checks: `codex` CLI, `claude` CLI, `gh` CLI, `GITHUB_TOKEN`, `CROSSCHECK
|
|
|
354
364
|
|
|
355
365
|
### `crosscheck onboard`
|
|
356
366
|
|
|
357
|
-
The recommended first-time setup command. Walks through
|
|
367
|
+
The recommended first-time setup command. Walks through ten steps interactively and writes a ready-to-use config.
|
|
358
368
|
|
|
359
369
|
```bash
|
|
360
370
|
crosscheck onboard
|
|
@@ -364,7 +374,7 @@ crosscheck onboard --team # force team mode for this session
|
|
|
364
374
|
crosscheck onboard --reconfigure # re-run setup even if config already exists
|
|
365
375
|
```
|
|
366
376
|
|
|
367
|
-
**The
|
|
377
|
+
**The ten steps:**
|
|
368
378
|
|
|
369
379
|
**Step 1 — Environment check.** Verifies codex CLI, claude CLI, gh CLI, and GitHub token. At least one AI CLI must be authenticated; gh auth is always required. Prints ✓/✗ with fix hints.
|
|
370
380
|
|
|
@@ -378,7 +388,11 @@ crosscheck onboard --reconfigure # re-run setup even if config already exists
|
|
|
378
388
|
- `cross-vendor` — Claude reviews Codex PRs; Codex reviews Claude PRs (recommended when using both agents)
|
|
379
389
|
- `single-vendor` — one AI reviews all PRs (default when only one CLI is installed)
|
|
380
390
|
|
|
381
|
-
**Step 5 —
|
|
391
|
+
**Step 5 — Primary author.** In personal cross-vendor mode, choose which agent usually authors your PRs so Crosscheck can route reviews to the other vendor.
|
|
392
|
+
|
|
393
|
+
**Step 6 — Review quality.** Choose the speed/thoroughness tier for review prompts and reviewer timeouts.
|
|
394
|
+
|
|
395
|
+
**Step 7 — Workflow pipeline.** Choose what happens after a review:
|
|
382
396
|
|
|
383
397
|
```
|
|
384
398
|
[1] review only — AI posts a comment; you handle fixes
|
|
@@ -388,11 +402,17 @@ crosscheck onboard --reconfigure # re-run setup even if config already exists
|
|
|
388
402
|
|
|
389
403
|
The `review → fix → re-check` option writes a `~/.crosscheck/workflow.yml` with all three pipeline steps configured.
|
|
390
404
|
|
|
391
|
-
**Step
|
|
405
|
+
**Step 8 — Fix -> recheck rounds.** When the full loop is selected, choose how many fix/recheck rounds Crosscheck can run before stopping.
|
|
406
|
+
|
|
407
|
+
**Step 9 — Auto conflict-resolve.** Optionally add a merge-conflict resolution step before review.
|
|
408
|
+
|
|
409
|
+
**Step 10 — Connection type.** Choose how GitHub webhooks reach your local server:
|
|
392
410
|
- `localhost.run` — zero-config SSH tunnel; reconnects automatically, no install required *(default)*
|
|
393
411
|
- `smee.io` — webhook relay; events queued while offline, stable channel URL (requires `npm install -g smee-client` and `tunnel.smee_channel` in config)
|
|
394
412
|
|
|
395
|
-
**Step
|
|
413
|
+
**Step 11 — Git clone protocol.** Choose SSH or HTTPS for PR checkout.
|
|
414
|
+
|
|
415
|
+
**Step 12 — Review and write config.** Shows a summary of all choices and writes `~/.crosscheck/config.yml` and `~/.crosscheck/workflow.yml`.
|
|
396
416
|
|
|
397
417
|
```
|
|
398
418
|
crosscheck onboard
|
|
@@ -417,21 +437,45 @@ crosscheck onboard
|
|
|
417
437
|
[1] cross-vendor [2] single-vendor
|
|
418
438
|
Choice [1]: 1
|
|
419
439
|
|
|
420
|
-
Step 5 —
|
|
440
|
+
Step 5 — primary author
|
|
441
|
+
[1] Claude [2] Codex [3] both
|
|
442
|
+
Choice [3]: 3
|
|
443
|
+
|
|
444
|
+
Step 6 — review quality
|
|
445
|
+
[1] fast [2] balanced [3] thorough
|
|
446
|
+
Choice [2]: 2
|
|
447
|
+
|
|
448
|
+
Step 7 — workflow pipeline
|
|
421
449
|
[1] review only [2] review → fix [3] review → fix → re-check
|
|
422
450
|
Choice [2]: 3
|
|
423
451
|
|
|
424
|
-
Step
|
|
452
|
+
Step 8 — fix → re-check rounds
|
|
453
|
+
[1] 1 round [2] 2 rounds [3] 3 rounds
|
|
454
|
+
Choice [1]: 1
|
|
455
|
+
|
|
456
|
+
Step 9 — auto conflict-resolve
|
|
457
|
+
[1] disabled [2] enabled
|
|
458
|
+
Choice [1]: 1
|
|
459
|
+
|
|
460
|
+
Step 10 — connection type
|
|
425
461
|
[1] localhost.run [2] smee.io
|
|
426
462
|
Choice [1]: 1
|
|
427
463
|
|
|
428
|
-
Step
|
|
464
|
+
Step 11 — git clone protocol
|
|
465
|
+
[1] SSH [2] HTTPS
|
|
466
|
+
Choice [1]: 1
|
|
467
|
+
|
|
468
|
+
Step 12 — review and write config
|
|
429
469
|
deployment personal
|
|
430
470
|
connection localhost.run
|
|
471
|
+
clone ssh
|
|
431
472
|
orgs humanbased-ai
|
|
432
473
|
users your-github-login (8 repos)
|
|
433
474
|
mode cross-vendor
|
|
475
|
+
quality balanced
|
|
434
476
|
pipeline review-fix-recheck
|
|
477
|
+
max rounds 1
|
|
478
|
+
conflict-resolve no
|
|
435
479
|
config ~/.crosscheck/config.yml
|
|
436
480
|
|
|
437
481
|
✓ config written to ~/.crosscheck/config.yml
|
|
@@ -484,7 +528,7 @@ crosscheck run https://github.com/owner/repo/pull/123 --crazy # loop until APP
|
|
|
484
528
|
crosscheck run https://github.com/owner/repo/pull/123 --halfcrazy
|
|
485
529
|
```
|
|
486
530
|
|
|
487
|
-
The workflow executed is loaded from `.crosscheck/workflow.yml` in the repo root
|
|
531
|
+
The workflow executed is loaded from `.crosscheck/workflow.yml` in the operator repo root if present, then `~/.crosscheck/workflow.yml`, and otherwise falls back to the built-in default pipeline: review, then fix when the verdict is not `APPROVE`. Use `crosscheck run` to test your full pipeline end-to-end against a real PR.
|
|
488
532
|
|
|
489
533
|
| Flag | Description |
|
|
490
534
|
|---|---|
|
|
@@ -575,7 +619,7 @@ crosscheck watch
|
|
|
575
619
|
- A posted review fires an `issue_comment` webhook → `watch` starts the fix step.
|
|
576
620
|
- A fix commit fires a `synchronize` webhook → `watch` starts the recheck step.
|
|
577
621
|
|
|
578
|
-
No second `kickass` run is needed. Once `kickass` kicks the first step, the pipeline advances on its own as long as `watch` is running. (Introduced in [#193](https://github.com/
|
|
622
|
+
No second `kickass` run is needed. Once `kickass` kicks the first step, the pipeline advances on its own as long as `watch` is running. (Introduced in [#193](https://github.com/Motivation-Labs/crosscheck/pull/193).)
|
|
579
623
|
|
|
580
624
|
---
|
|
581
625
|
|
|
@@ -890,6 +934,8 @@ crosscheck stores its config in `~/.crosscheck/config.yml` by default — persis
|
|
|
890
934
|
2. `./crosscheck.config.yml`
|
|
891
935
|
3. `./.crosscheck.yml`
|
|
892
936
|
|
|
937
|
+
If `~/.crosscheck/config.yml` exists, it wins over local project files. Pass `--config ./crosscheck.config.yml` when you deliberately want to test a project-local config.
|
|
938
|
+
|
|
893
939
|
Run `crosscheck init` to generate `~/.crosscheck/config.yml` with all options documented.
|
|
894
940
|
|
|
895
941
|
Logs are written to `~/.crosscheck/logs/YYYY-MM-DD.ndjson` and retained for 30 days by default.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@humanbased/crosscheck",
|
|
3
|
-
"version": "0.15.0-beta.
|
|
3
|
+
"version": "0.15.0-beta.145",
|
|
4
4
|
"description": "AI code review pipeline that turns agent-written PRs into merge-ready patches",
|
|
5
5
|
"bin": {
|
|
6
6
|
"crosscheck": "dist/cli.js",
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
"README.zh.md",
|
|
17
17
|
"get-started.md",
|
|
18
18
|
"get-started.zh.md",
|
|
19
|
+
"docs/fixture-pr.md",
|
|
20
|
+
"docs/proof-demo.md",
|
|
19
21
|
"assets"
|
|
20
22
|
],
|
|
21
23
|
"engines": {
|
|
@@ -70,6 +72,6 @@
|
|
|
70
72
|
"bugs": {
|
|
71
73
|
"url": "https://github.com/humanbased-ai/crosscheck/issues"
|
|
72
74
|
},
|
|
73
|
-
"author": "
|
|
75
|
+
"author": "Humanbased PTE LTD",
|
|
74
76
|
"license": "MIT"
|
|
75
77
|
}
|