I tried to write a C&#x2F;C++ checker using LLVM&#x2F;clang&#x27;s libTooling, while solving a real problem we&#x27;ve encountered maintaining HPC code [1].  I found that I learned a lot about it that way.  I wrote a brief article about the process [2].  Since then I&#x27;ve also participated in producing the official binaries for the linux distro I use at work.  It&#x27;s old enough that making it work requires lots of annoying bootstrapping.  Getting used to the build process makes it a lot easier to start out new LLVM-based projects IMO.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;androm3da&#x2F;sample-checker" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;androm3da&#x2F;sample-checker</a><p>[2] <a href="https:&#x2F;&#x2F;androm3da.github.io&#x2F;#clang" rel="nofollow">https:&#x2F;&#x2F;androm3da.github.io&#x2F;#clang</a>