I built a linter for undocumented linter warnings. AI hates me now
Forces devs to justify NOLINT comments before tech debt goes silent.
A linter for undocumented linter warnings.
Forces teams to document NOLINT suppressions before tech debt accumulates.
Backend developers, engineering teams
eslint · clippy · golangci-lint
We all know the pain of undocumented decisions, so I built a meta-linter for linting other linters' warnings to fight my colleagues' laziness and my own (mostly). Maybe you just caught a lag from the number of lint words, but the idea is simple. Imagine a yaml file. Now add an entry to it:
- location: ./the-file.rs:93 n\ token: '// NOLINT' n\ why: 'the reason' n\
Do you know what this NOLINT is? You don't? It's a suppression that you added 2 years ago. You don't remember? That's why you need shamefile. :)
Whoever's fault it is. Yours or the linter's. It doesn't matter. Document it, make sure you understand the code, get a review of your new entry in shamefile.yaml and let CI verify it. With shamefile, your CI won't let any undocumented linter warning pass anymore. Instead of educating the business on why docs are important, you'll say: "quality tools won't let my code pass".
I've observed a noticeable difference in AI agents' behaviour. During the pre-commit phase, reasoning models can "rethink" adding a new shame entry and actually fix the code. Not so easy now Claude, huh?
This is an early-stage tool. We've been using it in prod for a month now with my team and I'm using it in all my 3 OSS projects. Looking for feedback and contributors (adding new languages = good first issue ;))
Forces devs to justify NOLINT comments before tech debt goes silent.
Trigger-based cognitive architecture for Claude Code loses context anyway without API-level state persistence.
Screen Time API workaround that actually prevents mid-session bypassing.
Lints repo structure and JSONPath values where ESLint and Clippy stop.
import-linter with automatic config generation and LLM fix suggestions.
Domain-specific linter for an emerging agent skill format, but audience limited to agentskills.io ecosystem.