Skip to main content
New aislop v0.9.4: four new Python rules from the SlopCodeBench paper, plus a CLI star prompt and GitHub Discussions. Read more →

How aislop catches what your tests don't.

A deterministic engine scores every change 0–100 in under a second, no LLM at runtime. It runs on the keystroke, in CI, and at the commit, and hands failing code back to the agent that wrote it.

The quality gate for teams shipping AI-generated code to production.

Detect AI slop. Enforce one standard across every repo. Keep weak changes out of production. Scan, score, block, then hand unresolved fixes back to the agent with full context.

01

Catch what compiles fine but ships broken

aislop scans every file for 40+ AI slop patterns that survive lint, pass tests, and still reach production. Trivial comments, swallowed exceptions, unsafe type assertions, and more.

02

Block PRs that don't meet your bar, before they reach review

Every pull request gets a score from 0 to 100. Set your threshold once. Any PR that drops below it gets blocked automatically. No manual review required.

03

Send failing code back to the agent that wrote it, with full context

aislop auto-fixes what's safe. For everything else, it builds a structured prompt with file paths, issue descriptions, and fix guidance, then opens the agent directly.

AI agents produce these patterns every day. None of them fail your tests.

40+ patterns that pass lint, survive tests, and still reach production. No existing tool catches them. They were built for code humans write, not code agents generate.

user.ts (before scan)
// Set the user name to value
user.name = value;
 
// Increment the counter by one
counter++;
scan output (issues found)
line 1 ai-slop/trivial-comment
Comment restates the code verbatim
line 4 ai-slop/trivial-comment
Comment adds nothing the code does not say
score 71 /100 2 issues

You set the rules. Agents follow.

Define your standard at the org level. Teams inherit it and can only raise it. Every agent in your org is measured against it, on every PR.

Org rules Team overrides Project config Inheritance chain
org/.aisloprc (baseline)
{
"threshold": 70,
"rules": {
"swallowed-exception": "error",
"trivial-comment": "warn"
}
}
team/payments/.aisloprc (raises bar)
{
"extends": "../../.aisloprc",
"threshold": 85,
// inherits org rules, adds stricter:
"rules": {
"trivial-comment": "error",
"unsafe-assertion": "error"
}
}

Install once. Enforce forever.

Connect your GitHub org in two clicks. Every PR gets a score. Every merge below your threshold gets blocked. No exceptions.

PR check runs Inline annotations Status badges Branch protection
Install the GitHub App
pull request #247 (check run)
scanaislop passing
score87/100
threshold70
issues3 warnings, 0 errors
files12 scanned
↳ 3 annotations added inline
pull request #248 (blocked)
scanaislop failing
score54/100
threshold70
issues8 errors, 4 warnings
files9 scanned
merge blocked. score below threshold

Configure without config files.

Toggle rules, set severity, and adjust thresholds from the dashboard. No JSON required.

Visual editor Severity toggles Bulk enable/disable Rule docs inline
standards manager (active rules)
rule severity enabled
swallowed-exceptionerroron
trivial-commentwarnon
unsafe-assertionerroron
generic-namingwarnon
dead-codeoffoff
threshold settings
organization baseline
70
payments team override
85
Teams can only set thresholds ≥ org baseline.
↑ payments raised by 15 pts

Every agent your team uses. One standard they all answer to.

When aislop finds issues it cannot auto fix, it builds a full context prompt and opens the agent that wrote the code. The fix stays in the same loop.

Claude Code
--claude
Codex CLI
--codex
Cursor
--cursor
Windsurf
--windsurf
Gemini CLI
--gemini
VS Code Copilot
--vscode
Amp
--amp
Aider
--aider
Warp
--warp
Goose
--goose
OpenCode
--opencode
+
Any unlisted agent
--prompt
14 agents total
one flag changes target
aislop fix (agent handoff)
# auto-fix what's possible
$ npx aislop fix
# hand off to your agent
$ npx aislop fix --claude
$ npx aislop fix --codex
$ npx aislop fix --cursor
$ npx aislop fix --gemini
$ npx aislop fix --prompt

Your agent gets feedback before you do.

aislop hooks into Claude Code, Cursor, Gemini, and six more. As your agent writes, aislop scans. Findings flow back with full context and the agent self-corrects before the code hits your repo.

$ npx aislop hook install --claude
runtime hook rules only
01

Install once for your team

One command wires aislop into the agent's native lifecycle. Runtime hooks for Claude Code, Cursor, and Gemini. Rules-only installers for six more agents.

02

Agent sees findings in real time

As the agent writes, aislop scores every edit. Issues flow back with file path, line number, rule, severity, and fix guidance. Structured feedback, machine-readable, no prose.

03

Agent self-corrects or stops

The agent fixes what it just broke on the spot. With --quality-gate enabled, the hook blocks the session if the project score drops below the captured baseline.

Quality-gate mode Real-time feedback Self-correcting agents Sentinel-guarded uninstall
New in 0.7

Or let the agent call aislop itself.

MCP setup →

Hooks are push — aislop scans on every edit, no matter what. MCP is pull — the model decides when to call aislop_scan, aislop_fix, aislop_why, or aislop_baseline on its own. One config block, every project, every session.

$ npx -y aislop-mcp

Add to mcp.json for Claude Desktop, Cursor, Claude Code, or Codex. Stdio transport. Local-only.

How scanaislop compares, out of the box.

This matrix compares first-party, ready-to-adopt workflows. It is not counting custom plugin chains, manual policy wiring, or “you can probably script it” workarounds.

AI-specific maintainability patterns

Trivial comments, swallowed errors, generic naming, unsafe assertions.

scanaislop
supported
SonarQube
not supported
ESLint / Prettier
not supported
CodeClimate
not supported
Zero-config CLI onboarding

Useful out of the box without stitching together multiple plugins and presets.

scanaislop
supported
SonarQube
partial support
ESLint / Prettier
partial support
CodeClimate
partial support
Auto-fix workflow

Fixes what is safe automatically, then hands the rest off to an agent or engineer.

scanaislop
supported
SonarQube
not supported
ESLint / Prettier
partial support
CodeClimate
not supported
PR quality gate

Blocks merges with an explicit score threshold and review-ready output.

scanaislop
supported
SonarQube
supported
ESLint / Prettier
partial support
CodeClimate
supported
Security engine

Secrets, unsafe patterns, dependency audit signals, and policy enforcement in one run.

scanaislop
supported
SonarQube
supported
ESLint / Prettier
partial support
CodeClimate
partial support
Architecture rules

Import boundaries and structural rules that teams can enforce intentionally.

scanaislop
supported
SonarQube
partial support
ESLint / Prettier
partial support
CodeClimate
not supported
Org → team → project standards

Hierarchical rules and thresholds instead of one flat local config.

scanaislop
supported
SonarQube
partial support
ESLint / Prettier
not supported
CodeClimate
not supported
Agent handoff workflow

Turns unresolved issues into structured prompts for the coding agent your team uses.

scanaislop
supported
SonarQube
not supported
ESLint / Prettier
not supported
CodeClimate
not supported
Trend reporting across repos

Track score movement over time instead of a single pass/fail signal.

scanaislop
supported
SonarQube
supported
ESLint / Prettier
not supported
CodeClimate
supported
Designed for AI-generated code volumes

SonarQube was designed for humans committing 20–50 lines. AI agents commit hundreds of lines across dozens of files per session. The tooling needs to match the volume.

scanaislop
supported
SonarQube
not supported
ESLint / Prettier
not supported
CodeClimate
not supported