Three install paths

Pick the surface your team already lives in

Same scoring engine, three ways to reach it. The GitHub Action for hosted CI, the CLI for terminals, the MCP server for in-agent loops.

GitHub Action

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

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
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 }}

izri CLI

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

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
# 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

MCP server

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

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
{
  "mcpServers": {
    "izri": {
      "command": "node",
      "args": ["/abs/path/to/izri/packages/mcp/lib/index.js"],
      "env": { "IZRI_API_TOKEN": "izri_…" }
    }
  }
}

Need a different surface?

Slack, Discord, Linear, Jira, GitLab, Bitbucket, VS Code, JetBrains — all tracked in the public backlog. The `webhooks-out` firehose already emits delta-state events, so adapter-shaped integrations are mostly a matter of consumer wiring.