The current approach for integrating clang tools with build systems (CompilationDatabase, compile_commands.json) was designed for running command line tools and it lacks some important features that would be nice to have for interactive tools like clangd, e.g. tracking updates to the compilation commands for existing files or propagating information like file renames back to the build system. The current approach also requires interference from the users of the tools to generate compile_commands.json even for the build systems that support it. On the other hand, there are existing tools like CLion and Visual Studio that integrate seamlessly with their supported build systems and “just work” for the users without extra configuration. Arguably, this approach provides a better user experience. It would be interesting to explore existing build systems and approaches for integrating them with interactive clang-based tools and improving user experience in that area.