Written by a human, not by AI Bazel Google's build system for fast, reproducible builds at scale. DevTools Developer tools, CLIs, and productivity utilities.

Bazel is not scary anymore

Bazel is an amazing tool for people to use when it’s already integrated by someone into your codebase.

You get a lot of benifits:

In the agentic world another very important benefit Bazel gives you is unification. You just need to instuct your LLM to run bazel test //... and that’s it. It’s a very simple context and your LLM does not have to spend tokens on figuring out which build scripts to run every single time.

Hovewer, the initial adoption of Bazel has always been very very hard. Bazel documentation is incomplete and the whole ecosystem relies on a handful of consultancy companies writing Bazel rules and selling you their knowledge of how to correctly adopt them.

There are other challenges for Bazel adoption of course. For example, adopting Bazel is especially hard if codebase does not follow best practices for modularization. Modularization is something we’ll talk about separately though and today we are going to focus on the knowledge part.

This is where modern LLMs shine! It’s completely possible to just throw an LLM at the problem and expect it to figure it out. If your project uses Go, Rust, TypeScript, Python, C, C++, Java or any other mainstream language things are expected to just work for you.

LLMs seem to have enough training set data to be fluent in Starlark (a Python dialect used in Bazel) to debug existing rules or even write custom ones. So the knowledge barrier goes away almost entirely and it’s much easier to get going

I would encourage you to give it a spin and see how far you can get. It’s possible for Bazel to co-exist with your regular tools. For example, for https://umka.day/ project I build Rust server with Bazel to achieve nice auto-reload and I don’t have to think about Bazel at all, LLMs do all the BUILD files generation and updates for me.

Try it, you might be pleasantly surprised!