Welcome to bazel-starters — a collection of ready-to-go, language-specific starter repos for getting productive with Bazel fast.
Bazel is a powerful, fast, and scalable build system — but it's famously tricky to adopt. The learning curve comes from:
- 🧩 Its highly customizable nature (and endless config options)
- 🔄 Needing to re-learn tooling (formatting, linting, testing, dependency management)
- 🧱 Writing a lot of boilerplate before you even build "Hello, World"
- 🐛 Getting your
.bazelrc, toolchains, and external deps just right
We’ve been there. That’s why these starter repos exist.
Each starter repo includes:
- 📦 Curated
bazelrcflags viabazelrc-preset.bzl - 🧰 Developer environment setup with
bazel_env.bzl - 🎨 Formatting and linting built-in, using
rules_lint - ✅ Pre-commit hooks for automatic linting and formatting
- 📚 Language-specific package manager integration (e.g.
pip,go.mod,npm, etc.) - 🧱 Latest Bazel version pinned and working
- 🐳 Docker container support using
rules_oci - 🧪 Code generation tools (e.g.
copier,scaffold,yeoman) to help you and your team stamp out new services or components quickly
- Pick the repo for your preferred language
- Click the big green “Use this template” button on the repo homepage
- Name your new repo and start coding — Bazel is ready to go!
You can also choose a subset of the features and languages.
Install the scaffold tool and run
scaffold new github.com/aspect-build/aspect-workflows-template to launch an interactive wizard.
If you need to build a full-stack monorepo with multiple languages, check out:
It includes everything wired together — perfect for full-featured Bazel exploration.
We welcome contributions!
The source-of-truth for these templates is https://github.com/aspect-build/aspect-workflows-template
That repo has a GitHub Actions automation to run the Scaffold tool on a number of pre-defined "presets",
and each of these is simply pushed to the corresponding Git repo on every commit to main.
Please create your issues or PRs over there.
Built with ❤️ by folks at Aspect Build who want Bazel to Just Work™️.