So far we've implemented our lint rules manually - and a frontend to match.
The analysis package implements numerous checkers that serve as great examples - and ways to run them (and custom ones) via the analysis/multichecker and analysis/singlechecker packages.
Instead of rolling our own, we should attempt to use this interface.