What problem does it solve?
It provides a single, deterministic way to run multiple static-analysis tools across Python files and surface linting, type, complexity, and forbidden-pattern issues so developers can catch regressions and style violations before committing.
Core Features & Use Cases
- Runs ruff, ty (type checking), complexipy (cognitive complexity), and a semgrep-based forbidden-patterns check in parallel and collates results into one scorecard.
- Cascading target discovery: uncommitted changes, staged files, branch diffs versus main/master, and finally a full-repo fallback; includes an optional branch-level logic regression check that compares old vs new function behavior.
- Use cases: pre-commit quality gate, PR review scans for behavioral regressions, and periodic repository health checks.
Quick Start
Run analyse on the current branch to scan changed Python files and produce a deterministic scorecard with detailed findings.