Integrations

Runs where your
code ships.

Three install paths, one verdict. Drop the GitHub Action into CI, score locally with the CLI, or mount the MCP server so your agent checks its own work before it opens the PR.

CI · recommended

GitHub Action

Drop one workflow file in. Every PR gets the four signals + the umbrella verdict.

name: izri/quality
on: [pull_request]
jobs:
  izri:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 0 }
      - uses: legendify-dev/izri/apps/github-action@main
        with:
          api-token: ${{ secrets.IZRI_API_TOKEN }}
Local

izri CLI

Run the same scoring locally. No GitHub round-trip required.

# From the repo (npm publication landing soon — see #352):
git clone https://github.com/legendify-dev/izri && cd izri
pnpm install && pnpm build:packages

izri run                 # trigger an analysis for the current branch
izri check-scope         # run the deterministic scope analyzer
izri status <runId>      # poll a run to terminal state
Agents

MCP server

Score-the-PR tools, in-agent. Works with Claude Code, Cursor, Windsurf.

{
  "mcpServers": {
    "izri": {
      "command": "node",
      "args": ["/abs/path/to/izri/packages/mcp/lib/index.js"],
      "env": { "IZRI_API_TOKEN": "izri_…" }
    }
  }
}
GitHub Action

The hosted path. Posts an izri/quality Check Run plus per-signal children, edits a sticky PR comment in place, and exposes a webhooks-out firehose for downstream notifiers. API tokens come from your organization's settings; they're prefixed izri_ and scope to one organization.

Action docs
izri CLI

Same code that runs in the Action. Useful for izri check-scope on a feature branch before pushing, or for piping izri status into ad-hoc bash workflows. Talks to the same hosted API as the Action; project auto-resolves from the current git remote.

CLI docs
MCP server

Mount @izri/mcp and the agent gets check_pr_scope, score_pr, read_delta_report, and friends in its tool list. The agent can score its own work mid-session and read line annotations without the human round-tripping through GitHub. Pin a token via IZRI_API_TOKEN per MCP standard.

MCP docs
Branch protection

Make the verdict binding.

Add izri/quality to your required status checks and the merge button obeys the verdict. A failing signal isn’t a comment to scroll past — it’s a closed gate with the reason printed on it.

  • One required check — not four to configure
  • Line-level annotations on the diff, not a wall of logs
  • Re-scores automatically on every push
github · merge box
izri/quality — failinghallucination: fabricated assertion in checkout.test.ts:88
build — passing
Merge pull requestblocked by required check
Agent-agnostic

Whoever wrote it, Izri scores it.

Izri judges the delta, not its author. PRs from any coding agent — or any human — get the same four signals.

Claude CodeCursorAiderDevinCopilot WorkspaceWindsurfhumans, too

Two minutes to your first verdict.