Skip to content

Bazelle

A unified BUILD file generator with multiple language extensions baked in

What is Bazelle?

Bazelle wraps Bazel Gazelle with multiple language extensions pre-configured, so you don’t have to set up complex toolchains and dependencies yourself.

Two commands. That’s it.

Terminal window
bazelle init # Set up your project
bazelle update # Generate all BUILD files

See the full comparison →

Features

Multi-Language Support

Registered extensions for Go, Proto, Kotlin, Python, C/C++, and Groovy. Enable them via directives.

Unified CLI

Single binary wraps Gazelle with all extensions. Use bazelle init to bootstrap, bazelle update to generate.

Incremental Updates

Smart incremental mode tracks file changes and only updates affected directories for faster builds.

Watch Mode

Automatically regenerate BUILD files as you code with the built-in file watcher.

Guides

Monorepo Setup

Set up a multi-language monorepo with Go, Kotlin, and Python.

Read guide →

CI/CD Integration

Add Bazelle to GitHub Actions, GitLab CI, or your pipeline.

Read guide →

Supported Languages

LanguageStatusDefaultSource
Go✅ RegisteredEnabledGazelle core
Proto✅ RegisteredEnabledGazelle core
Kotlin✅ RegisteredDisabledOwn extension
Python✅ RegisteredDisabledOwn extension
C/C++✅ RegisteredDisabledgazelle_cc
Groovy✅ RegisteredDisabledOwn extension
Java❌ Not registeredBlocked on Bazel 9
Scala❌ Not registeredPlanned
Rust❌ Not registeredBlocked on proto deps