The Bazel ecosystem has a growing and evolving set of rules to support popular languages and packages. Much of Bazel’s strength comes from the ability to define new rules that can be used by others. This page describes the recommended, native, and non-native Bazel rules.Documentation Index
Fetch the complete documentation index at: https://preview.bazel.build/llms.txt
Use this file to discover all available pages before exploring further.
Recommended rules
Here is a selection of recommended rules:- Android
- C / C++
- Docker/OCI
- Go
- Haskell
- Java
- JavaScript / NodeJS
- Maven dependency management
- Objective-C
- Package building
- Protocol Buffers
- Python
- Rust
- Scala
- Shell
- Webtesting (Webdriver)
Native rules that do not apply to a specific programming language
Native rules are shipped with the Bazel binary, they are always available in BUILD files without aload statement.
- Extra actions
- General
- Platform
- Workspace
Embedded non-native rules
Bazel also embeds additional rules written in Starlark. Those can be loaded from the@bazel_tools built-in external repository.
- Repository rules