Skip to main content
Newv0.14.1: C# + C/C++ support.Read the changelog →
← Blog
Tutorial2 min read

How to Add a Quality Gate to Your AI Agent in 2 Minutes

The two-minute path is one local baseline and one GitHub Actions job. Start in observation mode; turn it into a required gate only after the findings and threshold fit your repository.

A quality gate is useful when it turns an agreed engineering standard into a repeatable check. It is harmful when a team copies an arbitrary threshold, receives a wall of legacy findings, and disables the job on day one.

This quick setup uses aislop as one deterministic layer. It catches named code-hygiene patterns and returns a CI exit code. It does not prove that the feature works or that the design is safe.

1. Establish the baseline

npx --yes aislop@0.13.1 scan

Read the findings before adding enforcement. Confirm that high-severity results are real, note rules that need configuration, and record the current score. This is the floor you will improve from—not a grade to compare with unrelated repositories.

2. Add a reproducible GitHub Actions job

Create .github/workflows/aislop.yml:

name: aislop

on:
pull_request:

jobs:
quality-gate:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
    - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
      with:
        node-version: 24
    - run: npx --yes aislop@0.13.1 ci

The full SHAs make the executed actions immutable; the comments preserve the readable major versions. The exact package version pins the CLI. These values were current when this article was updated, so review release notes and update the pins deliberately.

3. Introduce the threshold carefully

Initialize the repository configuration or create .aislop/config.yml, then set the CI floor using the key documented by the current CLI:

ci:
failBelow: 70

Replace 70 with a value justified by the baseline. If the repository scores 58, a threshold of 80 creates a cleanup project, not a useful PR gate. Start near 58, fix high-impact findings, then raise the floor.

Leave the workflow non-required for several representative pull requests. Once the team has reviewed the signal, make the job a required status check in the repository's branch rules.

4. Give the agent feedback before the PR

For Claude Code, aislop can install a quality-gate hook:

npx --yes aislop@0.13.1 hook install --claude --quality-gate

Review the generated hook before sharing it across a team. Local feedback is faster than waiting for CI, but CI remains the authoritative shared check because local hooks can be skipped or misconfigured.

What this gate can and cannot do

It can: enforce configured repeatable rules, surface findings before human review, provide structured feedback, and fail CI below the agreed floor.

It cannot: prove correctness, validate a threat model, decide whether the feature solves the right problem, or replace tests and review. Keep those controls in the workflow.

Next step

For changed-file scans, shallow checkout pitfalls, GitLab, and Bitbucket examples, use the full aislop CI/CD guide. The current CLI and Action documentation live in the open-source repository.

Frequently asked questions

Does an AI code quality gate replace code review?

No. A deterministic gate can enforce repeatable rules, but it cannot confirm product intent, architectural fit, or every security risk. It should reduce routine review work, not remove accountable human judgment.

What threshold should a team use?

Use the repository's current score as the baseline and avoid an arbitrary universal number. Start at or just below the baseline, fix high-confidence findings, and ratchet the threshold upward as the codebase improves.

Should a GitHub Actions quality gate use the latest aislop version?

Pin every third-party action to a reviewed full commit SHA and the CLI to a tested exact version. Let a dependency bot propose upgrades so each behavior change is visible in review instead of arriving through a mutable tag.