Much of Bazel's strength comes from the ability to define new rules which can be used by others. There is a growing and evolving set of rules to support popular languages and packages.
Here is a selection of recommended rules:
The repository Skylib contains additional functions that can be useful when writing new rules and new macros.
The rules above were reviewed and follow our [https://www.bazel.build/recommended-rules.html](requirements for recommended rules). Contact the respective rule set's maintainers regarding issues and feature requests.
To find more Bazel rules, use a search engine, take a look on awesomebazel.com, or search on GitHub.
Native rules are shipped with the Bazel binary, they are always available in BUILD files without a load statement.
Bazel also embeds additional rules written in Starlark. Those can be loaded from the @bazel_tools built-in external repository.