Since syntax errors are the most common source of bugs, by far, I like to get several chances to catch those errors automatically. To that end, we have automated lint going in several places:
1. Realtime in the IDE
2. On filesave (this is also when build happens at RootMusic, thanks to the stellar Hawthorn build system written by +Gabriel Hernandez
3. At differential (code review)
This system isn't perfect yet (getting all the tools to share the same rules is still on the to-do list), but the build-step lint is canonical, and the results are seen by all the developers every time the build step gets run, so it's still a huge help.