DanRWilloughby/snifftest
25 stars · Last commit 2026-09-18
A prose linter that sniffs out AI writing tells. Zero dependencies, countable rules plus one judgment model.
README preview
<p align="center"> <img src="assets/nose/nose.gif" alt="A pencil sketch of a nose in profile, sniffing twice and then approving" width="200"> </p> # Sniff Test Does the draft pass the sniff test? Sniff Test reads Markdown and plain text and checks it against your house rules. It prints one line per flag with the file, the line, the rule that tripped and how sure it is. There are two kinds of rule. **Countable rules** are regular expressions. Long dashes, a paragraph with three colons, a banned word, every sentence the same length. They run on your machine, cost nothing and send nothing anywhere. **Judgment rules** need something read rather than counted. A closing sentence that only restates the paragraph, a claim hedged three times, a line that talks the reader out of the offer. For those it sends one paragraph at a time to a small hosted judgment model and gets back one probability per rule. It only does that after you have said yes.