@motivation-labs/crosscheck 0.8.0 → 0.9.0-beta.16
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 +45 -214
- package/README.zh.md +51 -176
- package/crosscheck.config.example.yml +13 -17
- package/dist/__tests__/loader.test.js +51 -2
- package/dist/__tests__/loader.test.js.map +1 -1
- package/dist/__tests__/onboard-preservation.test.js +1 -0
- package/dist/__tests__/onboard-preservation.test.js.map +1 -1
- package/dist/__tests__/optimize.test.js +2 -5
- package/dist/__tests__/optimize.test.js.map +1 -1
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +5 -2
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/onboard.d.ts +1 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +53 -24
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +8 -11
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +6 -10
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +11 -17
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +7 -18
- package/dist/commands/watch.js.map +1 -1
- package/dist/config/loader.d.ts +1 -2
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +11 -11
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +27 -54
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +15 -12
- package/dist/config/schema.js.map +1 -1
- package/dist/lib/board.d.ts +7 -0
- package/dist/lib/board.d.ts.map +1 -1
- package/dist/lib/board.js +150 -57
- package/dist/lib/board.js.map +1 -1
- package/dist/lib/clone.d.ts +12 -0
- package/dist/lib/clone.d.ts.map +1 -0
- package/dist/lib/clone.js +30 -0
- package/dist/lib/clone.js.map +1 -0
- package/dist/lib/runner.d.ts +3 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +44 -51
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/workflow.d.ts.map +1 -1
- package/dist/lib/workflow.js +9 -2
- package/dist/lib/workflow.js.map +1 -1
- package/dist/reviewers/claude.d.ts.map +1 -1
- package/dist/reviewers/claude.js +3 -9
- package/dist/reviewers/claude.js.map +1 -1
- package/get-started.md +24 -14
- package/get-started.zh.md +422 -52
- package/package.json +1 -1
package/get-started.md
CHANGED
|
@@ -786,7 +786,7 @@ If no errors are found in recent logs, crosscheck prints `No errors found in rec
|
|
|
786
786
|
|
|
787
787
|
On re-runs, `onboard` updates only the fields it collected answers for. Everything else survives unchanged.
|
|
788
788
|
|
|
789
|
-
**Updated on every run:** `deployment`, `orgs`, `repos`, `mode`, `vendors.*.enabled`, `vendors.*.effort`, `quality.tier`, `tunnel.*`, `post_review.auto_fix.*`
|
|
789
|
+
**Updated on every run:** `deployment`, `orgs`, `repos`, `mode`, `clone_protocol`, `vendors.*.enabled`, `vendors.*.effort`, `quality.tier`, `tunnel.*`, `post_review.auto_fix.*`
|
|
790
790
|
|
|
791
791
|
**Initialised on first run, never overwritten:** `routing.allowed_authors`, `routing.author_routes`, `routing.fallback_reviewer`
|
|
792
792
|
|
|
@@ -798,9 +798,9 @@ On re-runs, `onboard` updates only the fields it collected answers for. Everythi
|
|
|
798
798
|
|
|
799
799
|
crosscheck stores its config in `~/.crosscheck/config.yml` by default — persistent across projects, no per-repo file needed. It also looks in these locations (first found wins):
|
|
800
800
|
|
|
801
|
-
1.
|
|
802
|
-
2.
|
|
803
|
-
3.
|
|
801
|
+
1. `~/.crosscheck/config.yml` ← **default location**
|
|
802
|
+
2. `./crosscheck.config.yml`
|
|
803
|
+
3. `./.crosscheck.yml`
|
|
804
804
|
|
|
805
805
|
Run `crosscheck init` to generate `~/.crosscheck/config.yml` with all options documented.
|
|
806
806
|
|
|
@@ -820,6 +820,13 @@ Logs are written to `~/.crosscheck/logs/YYYY-MM-DD.ndjson` and retained for 30 d
|
|
|
820
820
|
# cross-vendor: Claude ↔ Codex review each other
|
|
821
821
|
mode: cross-vendor
|
|
822
822
|
|
|
823
|
+
# ── Clone protocol ────────────────────────────────────────────────────────────
|
|
824
|
+
# ssh — git@github.com:owner/repo.git (uses local SSH keys)
|
|
825
|
+
# https — https://github.com/owner/repo.git (uses GitHub token)
|
|
826
|
+
# Pick https if you have multi-account SSH setup or your default SSH key
|
|
827
|
+
# cannot access target repos. Independent of `gh config get git_protocol`.
|
|
828
|
+
clone_protocol: ssh
|
|
829
|
+
|
|
823
830
|
# ── Vendors ───────────────────────────────────────────────────────────────────
|
|
824
831
|
vendors:
|
|
825
832
|
codex:
|
|
@@ -915,17 +922,10 @@ impact:
|
|
|
915
922
|
defect_cost_usd: 150 # per issue caught, for --money estimate
|
|
916
923
|
|
|
917
924
|
# ── Post-review auto-fix ──────────────────────────────────────────────────────
|
|
918
|
-
#
|
|
919
|
-
#
|
|
920
|
-
# PR updates automatically.
|
|
925
|
+
# Controls HOW fixes are delivered. Step sequencing (which steps run, when,
|
|
926
|
+
# and with which vendor) is configured in ~/.crosscheck/workflow.yml.
|
|
921
927
|
post_review:
|
|
922
928
|
auto_fix:
|
|
923
|
-
enabled: true
|
|
924
|
-
trigger: on_issues # on_issues | always | never
|
|
925
|
-
min_severity: warning # error | warning | info — skip cosmetic findings
|
|
926
|
-
# same-as-author: the vendor that wrote the PR also applies the fix
|
|
927
|
-
# In cross-vendor mode: Claude-authored → Claude fixes; Codex-authored → Codex fixes
|
|
928
|
-
fixer: same-as-author # same-as-author | same-as-reviewer | codex | claude
|
|
929
929
|
delivery:
|
|
930
930
|
mode: pull_request # pull_request | commit | comment
|
|
931
931
|
# pull_request → fix PR targets original branch; human approves before merge
|
|
@@ -934,6 +934,16 @@ post_review:
|
|
|
934
934
|
pr_title: "fix: address CR issues in #{original_pr_title}"
|
|
935
935
|
label: cr-autofix # GitHub label applied to the fix PR
|
|
936
936
|
|
|
937
|
+
# ── Backtrace ─────────────────────────────────────────────────────────────────
|
|
938
|
+
# On startup, scan all open PRs in the monitored scope and review any that
|
|
939
|
+
# haven't received a [crosscheck] comment yet. Off by default.
|
|
940
|
+
# Enable with:
|
|
941
|
+
# backtrace.enabled: true (persistent — runs every startup)
|
|
942
|
+
# --backtrace flag (this session only)
|
|
943
|
+
# --no-backtrace flag (suppress even when enabled: true)
|
|
944
|
+
# backtrace:
|
|
945
|
+
# enabled: true
|
|
946
|
+
|
|
937
947
|
# ── Server ────────────────────────────────────────────────────────────────────
|
|
938
948
|
server:
|
|
939
949
|
port: 7891
|
|
@@ -1080,7 +1090,7 @@ GitHub can fire both `opened` and `synchronize` events for the same push. crossc
|
|
|
1080
1090
|
- **Webhook signature** — every request verified with HMAC-SHA256 before parsing
|
|
1081
1091
|
- **Temp isolation** — each PR cloned into a fresh temp dir, deleted after review
|
|
1082
1092
|
- **Read-only tools** — Claude restricted to `git diff` and `git log` only
|
|
1083
|
-
- **
|
|
1093
|
+
- **Temp credential isolation** — with `clone_protocol: ssh` (default) no tokens touch disk; with `clone_protocol: https` a short-lived token is embedded in the temp clone's remote URL and removed when the temp dir is deleted after review
|
|
1084
1094
|
|
|
1085
1095
|
---
|
|
1086
1096
|
|