I tried to write a C/C++ checker using LLVM/clang's libTooling, while solving a real problem we'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've also participated in producing the official binaries for the linux distro I use at work. It'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.
[1] https://github.com/androm3da/sample-checker
[2] https://androm3da.github.io/#clang