CI code review

A quality gate in your CI,
live before your coffee is.

Every pull request checked against your playbook — from GitHub Actions or GitLab CI, with nothing to install and nothing to trust but your own pipeline.

# The whole integration — GitHub Actions or GitLab CI
- run: |
    git diff "origin/main...HEAD" |
    curl -sS --fail-with-body -X POST "$NORMIK_URL/api/ci/gate" \
      -H "Authorization: Bearer $NORMIK_TOKEN" --data-binary @-

One job. That's the whole install.

No GitHub App to authorize, no webhook to route, no bot user to manage. Your CI pipes the diff to Normik with a workspace token; the HTTP status code carries the verdict — 422 blocks the merge, 200 lets it through.

Comments without an app

On GitHub Actions, the job posts the violation summary as a PR comment using its own GITHUB_TOKEN. On GitLab, the same summary lands as a merge-request note once you set a project token — GitLab's built-in job token can't write notes. Your reviewers see path, line, severity and the rule that was broken — inside the review, not in a CI log.

Fail-open, on purpose

If your API key is missing or the model provider is down, the check passes and says why. A quality gate should catch bad code — never hold your delivery hostage to a third-party incident. Ours can't: it fails open by design.

Only real violations block

Severity is part of each rule: error blocks the merge, warning and info surface without blocking. And Normik only flags lines actually added in the diff — a model can't hallucinate a violation onto code you didn't touch.

Your code never stops here

The diff is analyzed in memory on your own API key and never stored. What we keep is the outcome: which rules were checked, what was violated, on which line — the material for your compliance dashboard.

Every check, accounted for

Each run lands in the Analyses history with its violations, feeds the compliance rate, and its token usage is tracked per provider. Governance needs receipts.

The rules behind the gate live in your playbook — and your agents can fix violations before the commit.

Gate your next pull request. It takes one CI job.

Start free — no card required