Observed since 21 Oct, 10:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AI-era Python lint bundle: stubcheck + assertcheck + shadowcheck + mutablecheck — catch silent stubs, vanishing asserts, builtin shadowing, mutable defaults
Catch the silent footguns AI leaves behind: no-op stubs that ship as None, asserts that vanish under -O, builtin shadowing, mutable defaults.
Bundles 4 focused linters that previously shipped as stubcheck, assertcheck, shadowcheck, mutablecheck — now one pip install.
| Footgun | What it catches | Why AI creates it |
|---|---|---|
| stubcheck | def handler(): pass / ... bodies that return None | AI scaffolds callbacks/handlers with placeholders |
| assertcheck | assert <cond> for runtime validation | LLMs copy test-style asserts into production |
| shadowcheck | def foo(list, id): shadowing builtins | Autocomplete reuses builtin names as params |
| mutablecheck | def foo(x=[]) aliasing | Classic Python gotcha amplified by generation |
All 4 are zero-dependency, pure-ast, <0.1s on 10k lines.
Requires Python 3.9+.
pip install ai-checkkit
# or editable for dev
pip install -e .[dev]
Backward compat aliases still work: stubcheck, assertcheck, shadowcheck, mutablecheck point to the same bundle.
# Run all 4 checks (default)
ai-checkkit
ai-checkkit all ./src --check --json
# Individual linters (same flags as standalone)
ai-checkkit stubcheck ./src --min-severity medium --include-test
ai-checkkit assertcheck ./src --min-severity high
ai-checkkit shadowcheck ./src --allow id,type
ai-checkkit mutablecheck ./src --allow __init__
# Legacy aliases
stubcheck ./src --check
assertcheck --json ./src
Python API
from ai_checkkit.stubcheck import detect as stub_detect
from ai_checkkit.assertcheck import detect as assert_detect
from ai_checkkit.shadowcheck import detect as shadow_detect
from ai_checkkit.mutablecheck import detect as mutable_detect
findings = stub_detect(open("app.py").read(), "app.py")
| Before | After |
|---|---|
pip install stubcheck assertcheck shadowcheck mutablecheck (4 repos, 4 CIs) | pip install ai-checkkit (1 repo, 1 CI) |
| 4 READMEs, 4 badges | 1 unified README + ai-checkkit all |
pip install -e .[dev]
pytest -q --cov=ai_checkkit
MIT — see LICENSE.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.3 | 31 Aug 2026 | 4 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 10:08 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:b3299aafb9a7ff6a39aadc718e2733a99dbecbaba92a4a1e4f23d0383ac5b9a3