This is neat, though some of it (mutable defaults for example) are already covered by existing linters. I’d also look into pre-commit support as well.
AI coding assistants are productive but sloppy. They produce code that looks right but:
- Imports packages that don't exist - Uses placeholder functions that do nothing - Leaks patterns from JavaScript, Java, Ruby into Python - Leaves behind dead code and duplicates - Uses mutable default arguments
I built sloppylint to catch these "AI slop" patterns before they hit production.
pip install sloppylint
sloppylint .
It detects 100+ patterns across categories:
- Hallucinated imports (20% of AI imports reference non-existent packages)
- Placeholder code (`pass`, `...`, `TODO`)
- Wrong-language patterns (.push(), .equals(), .forEach())
- Mutable defaults, bare excepts, dead codeThis isn't a replacement for traditional linters - it catches the specific mistakes AI makes that humans wouldn't.
3 comments
This is neat, though some of it (mutable defaults for example) are already covered by existing linters. I’d also look into pre-commit support as well.
How did you decide on the patterns to check?
why