-
Notifications
You must be signed in to change notification settings - Fork 0
Detector: Todo Scanner
Jacob Centner edited this page Apr 10, 2026
·
1 revision
Scans source code for TODO, FIXME, HACK, and XXX comments with optional age enrichment from git blame.
| Property | Value |
|---|---|
| Name | todo-scanner |
| Tier | DETERMINISTIC |
| Languages | All (any file with comments) |
| External tool |
git blame (optional, for age) |
| LLM required | No |
| Confidence | 0.90 |
TODO/FIXME/HACK/XXX markers in code comments. Requires a comment prefix (#, //, /*, --, <!--) within 5 characters before the tag to avoid matching prose text.
Also scans markdown files for HTML comment TODOs: <!-- TODO: ... -->.
- Walks all source files (skipping binary, generated, and common skip directories)
- Matches
TODO|FIXME|HACK|XXXpatterns with a preceding comment marker - Rejects matches inside string literals (odd-quote heuristic)
- Rejects compound words like
todo-scanner(negative lookahead(?!-)) - Enriches with
git blamedate to show how old the TODO is
-
FIXMEandHACK→ MEDIUM -
TODOandXXX→ LOW
[TODO] tests/test_build_system.py:42
# TODO: add tests for PEP 660 editable installs
Age: 14 months (git blame)
Severity: LOW, Confidence: 0.90
| Repo | Findings | TP Rate |
|---|---|---|
| pip-tools | 19 | 100% |
| httpx | 1 | 100% |
| shadcn-ui/ui | 20 | 100% |
| bubbletea | 8 | 100% |
Overall: 100% true positive rate across 48 findings on 4 repos.
- Cannot determine if a TODO is still relevant (would require LLM analysis)
- Age enrichment fails on shallow clones (
--depth=1)
Local Repo Sentinel · MIT License
Getting Started
Reference
Detectors
- Detector: Todo Scanner
- Detector: Complexity
- Detector: Dead Code
- Detector: Dep Audit
- Detector: Docs Drift
- Detector: Unused Deps
- Detector: Lint Runner
- Detector: ESLint Runner
- Detector: Go Linter
- Detector: Rust Clippy
- Detector: Git Hotspots
- Detector: Stale Env
- Detector: Semantic Drift
- Detector: Test Coherence
- Detector: CI/CD Drift
- Detector: Architecture Drift
- Detector: Inline Comment Drift
- Detector: Intent Comparison
Advanced
Workflow