JSPM

  • Created
  • Published
  • Downloads 622
  • Score
    100M100P100Q121072F
  • License MIT

AI code review pipeline that turns agent-written PRs into merge-ready patches

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@humanbased/crosscheck) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    crosscheck

    Building crosscheck with crosscheck.

    crosscheck

    crosscheck watch β€” live pipeline view

    Auto Code Review Pipeline β€” customizable PR β†’ Review β†’ Fix β†’ Recheck loop, single-vendor or cross-vendor, zero new infrastructure.

    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.


    Quick start

    # 1. Install crosscheck and the agent CLIs
    npm install -g @humanbased/crosscheck
    npm install -g @anthropic-ai/claude-code && claude        # Claude Pro/Max subscription
    npm install -g @openai/codex && codex login --device-auth # ChatGPT Plus/Pro subscription
    brew install gh && gh auth login                          # GitHub CLI
    
    # 2. Guided setup β€” repos, review mode, workflow pipeline
    crosscheck onboard
    
    # 3. Start watching
    crosscheck watch        # personal laptop
    crosscheck serve        # always-on team server

    Commands

    crosscheck onboard

    Interactive setup wizard. Picks repos/orgs to monitor, selects single-vendor or cross-vendor mode, configures the review pipeline, and writes ~/.crosscheck/config.yml and workflow.yml.

    crosscheck onboard              # guided setup
    crosscheck onboard --personal   # skip persona prompt, go straight to personal mode
    crosscheck onboard --team       # skip persona prompt, go straight to team mode
    crosscheck onboard -y           # accept all defaults non-interactively

    crosscheck watch

    Personal mode. Starts an SSH tunnel (localhost.run), registers GitHub webhooks, and listens for PR events. Everything self-cleans on Ctrl+C.

    crosscheck watch
    crosscheck watch --no-backtrace       # skip startup scan for unreviewed open PRs
    crosscheck watch --reconfigure        # re-run deployment setup before starting

    crosscheck serve

    Team mode. Binds to a fixed port β€” register the webhook once, cover the whole team. Designed for a mac-mini or home server.

    crosscheck serve
    crosscheck serve --no-backtrace       # skip startup scan
    crosscheck serve --personal           # personal scope this session only
    crosscheck serve --reconfigure        # re-run deployment setup

    crosscheck review <pr-url>

    One-shot review of a single PR. Clones, checks out, reviews, and posts the comment.

    crosscheck review https://github.com/org/repo/pull/42
    crosscheck review <pr-url> --reviewer claude    # force Claude regardless of detection
    crosscheck review <pr-url> --reviewer codex     # force Codex regardless of detection

    crosscheck run <pr-url>

    Runs the full configured workflow against one PR: review β†’ fix β†’ recheck. Same logic as watch/serve, but triggered manually.

    crosscheck run <pr-url>
    crosscheck run <pr-url> --steps review           # only the review step
    crosscheck run <pr-url> --steps fix,recheck      # skip initial review
    crosscheck run <pr-url> --reviewer claude        # override reviewer assignment
    crosscheck run <pr-url> --dry-run                # review without posting or fixing

    crosscheck scan

    Scans every open PR in the configured monitor scope and reports where each one is in the crosscheck workflow. Results are cached for 60 seconds.

    States: PR (needs review) Β· APPROVE Β· NEEDS_WORK Β· BLOCK Β· RECHECK (fix applied, needs recheck)

    crosscheck scan                          # all open PRs, grouped stale/not-stale
    crosscheck scan --tidy                   # stale actionable rows only
    crosscheck scan --stale-after 4h         # custom staleness threshold (default 24h)
    crosscheck scan --force                  # bypass cache
    crosscheck scan --json                   # machine-readable output

    crosscheck kickass

    Selects stale PRs from the operator queue and advances them β€” runs scan first, presents a multi-select picker, shows a preflight summary, then executes after confirmation.

    crosscheck kickass                       # interactive operator queue
    crosscheck kickass --dry-run             # preflight only β€” no mutations
    crosscheck kickass --stale-after 2h      # tighter staleness threshold
    crosscheck kickass --force               # bypass scan cache before picking

    Actions: PR β†’ CR Β· NEEDS_WORK/BLOCK β†’ Fix Β· FIX/RECHECK β†’ Recheck Β· APPROVE β†’ Merge


    Configuration

    Review depth (quality.tier)

    # crosscheck.config.yml
    quality:
      tier: balanced    # fast | balanced | thorough
    Tier Claude model Codex model Latency
    fast Haiku default ~10s
    balanced Sonnet (default) default ~30s
    thorough Opus default ~60s

    Pipeline (workflow.yml)

    steps:
      - name: review
        type: review
        reviewer: auto          # auto | claude | codex | origin
    
      - name: fix
        type: fix
        reviewer: origin
        when: review.verdict != 'APPROVE'
    
      - name: recheck
        type: recheck
        reviewer: auto
        when: fix.applied_count > 0

    Config snapshot

    # ~/.crosscheck/config.yml
    orgs:
      - your-org
    
    routing:
      allowed_authors:
        - your-github-login
    
    mode: cross-vendor          # cross-vendor | single-vendor
    
    vendors:
      claude:
        enabled: true
      codex:
        enabled: true
    
    quality:
      tier: balanced
    
    clone_protocol: ssh         # ssh (default) | https

    Full reference: get-started.md


    Requirements

    Minimum
    Node.js 18+
    Claude Code CLI latest β€” npm install -g @anthropic-ai/claude-code
    Codex CLI latest β€” npm install -g @openai/codex
    GitHub CLI 2.65+ β€” brew install gh

    GITHUB_TOKEN is derived automatically from gh auth login. No manual export needed.


    Documentation

    get-started.md Full setup guide β€” prerequisites, all flags, complete config reference, FAQ
    crosscheck.config.example.yml Annotated config with every option
    CHANGELOG.md Release notes

    Contributing

    Issues and PRs welcome at github.com/humanbased-ai/crosscheck.


    License

    MIT β€” Copyright (c) 2025–2026 HumanBased AI.