Skip to main content
New aislop v0.13.1 patch — calibrates hidden-fallback detection and fixes regex comment-masker false positives. Read the changelog →

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 — Scan

Catch what compiles fine but ships broken

aislop scans every file for 50+ rules and checks that survive lint, pass tests, and still reach production. Trivial comments, swallowed exceptions, unsafe type assertions, and more.

02 — Gate

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 — Hand off

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.

50+ rules and checks for 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.

Browse all patterns
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
Read the config reference
org/.aislop/config.yml (baseline)
ci:
failBelow: 70
engines:
ai-slop: true
security: true
packages/payments/.aislop/config.yml
extends: ../../.aislop/config.yml
ci:
failBelow: 85
# inherits org engines, raises gate only

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)
aislop passing
score87/100
threshold70
issues3 warnings, 0 errors
files12 scanned
↳ 3 annotations added inline
pull request #248 (blocked)
aislop failing
score54/100
threshold70
issues8 errors, 4 warnings
files9 scanned
merge blocked. score below threshold

Configure without editing YAML.

Toggle rules, set severity, and adjust thresholds from the dashboard. Power users can still version-control `.aislop/config.yml` when they need to.

Visual editor Severity toggles Bulk enable/disable Rule docs inline
See the hosted platform
standards manager (active rules)
rule severity enabled
swallowed-exceptionerroron
trivial-commentwarnon
unsafe-type-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

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 (3) rules only (6)
Quality-gate modeReal-time feedbackSelf-correcting agentsSentinel-guarded uninstall

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

When aislop cannot auto-fix an issue, it builds a full-context prompt and opens the agent that wrote the code. Fourteen agents supported today, plus --prompt for anything else.

14 agents Auto-fix first Structured prompts Same quality bar
Read the handoff guide
Claude Code
--claude
Codex CLI
--codex
Cursor
--cursor
Gemini CLI
--gemini
Windsurf
--windsurf
Aider
--aider
Goose
--goose
Amp
--amp
Antigravity
--antigravity
D
Deep Agents
--deep-agents
Kimi CLI
--kimi
OpenCode
--opencode
Warp
--warp
VS Code Copilot
--vscode
+
Any unlisted agent
--prompt
aislop fix (agent handoff)
# auto-fix what's safe, then hand off
$ npx aislop fix
$ npx aislop fix --claude
$ npx aislop fix --codex
$ npx aislop fix --cursor
$ npx aislop fix --gemini
$ npx aislop fix --windsurf
$ npx aislop fix --aider
$ npx aislop fix --goose
$ npx aislop fix --amp
$ npx aislop fix --antigravity
$ npx aislop fix --deep-agents
$ npx aislop fix --kimi
$ npx aislop fix --opencode
$ npx aislop fix --warp
$ npx aislop fix --vscode
$ npx aislop fix --prompt

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.

$ npx -y aislop-mcp

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

How aislop 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.

See head-to-head comparisons
AI-specific maintainability patterns

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

aislop
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.

aislop
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.

aislop
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.

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

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

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

Import boundaries and structural rules that teams can enforce intentionally.

aislop
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.

aislop
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.

aislop
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.

aislop
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.

aislop
supported
SonarQube
not supported
ESLint / Prettier
not supported
CodeClimate
not supported

Run it on your repo in one command.

No setup, no LLM, no account. Scan locally, wire hooks for real-time feedback, or connect GitHub to enforce the same bar across every PR.

npx aislop scan