cd /news/ai-tools/show-hn-shamefile-enforce-docs-for-l… · home topics ai-tools article
[ARTICLE · art-15312] src=github.com pub= topic=ai-tools verified=true sentiment=· neutral

Show HN: Shamefile – Enforce docs for linter bypasses

A developer released Shamefile, a meta-linter that enforces documentation for linter bypasses by requiring developers to record the reason for each suppression in a YAML file. The tool, inspired by the Witcher game developers' regret over poor documentation practices, blocks undocumented linter warnings from passing CI checks. The creator reports that the tool has already changed AI agents' behavior during pre-commit phases, prompting them to fix code rather than add undocumented exceptions.

read2 min publishedMay 27, 2026

Recently, the creators of the Witcher games admitted that they regret not taking documentation seriously enough. As they work on the Witcher 1 remake, they are sometimes forced to reapproach old problems because the original reasoning was never properly recorded. A few veterans still remember the context, but some key decisions were made by people who left the studio years ago.

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 ;))

Repo: [https://github.com/BKDDFS/shamefile](https://github.com/BKDDFS/shamefile)

Comments URL: [https://news.ycombinator.com/item?id=48294118](https://news.ycombinator.com/item?id=48294118)

Points: 2

── more in #ai-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-shamefile-en…] indexed:0 read:2min 2026-05-27 ·