Skip to content
SPECIFICTION
Get listed

Buck2

buck2.build

Free plan WindowsmacOSLinuxSelf-hosted
Visit buck2.build
Spec score 8.1 #12 of 42 in Build Automation Software

What it is

Buck2 is a free build system from Meta for large-scale repositories that combine multiple programming languages. It uses Starlark rules, a dynamic dependency graph, and incremental actions to support extensible builds. Its language table lists prelude rules for C/C++, Erlang, Go, Haskell, Java, Kotlin, OCaml, Python, and Rust, though usability varies by language. Build actions can run remotely through services exposing Bazel's remote execution API; the project lists BuildBarn, BuildBuddy, EngFlow, and NativeLink as compatible with its distributed compilation support. Buck2 supports filesystem watching and can integrate with Meta's optional Eden virtual filesystem. Rules are hermetic by default and missing dependencies are errors, but local-only build steps are not sandboxed. The project describes Buck2 as early-stage and says it has no stable release tag; its latest binary tag changes with repository pushes. It warns that outside users may encounter rough edges, missing features, and missing toolchains. Source and binaries are available under MIT and Apache-2.0 licenses. The project directs users to GitHub for issue reports and offers a community Discord server.

Spec sheet

Purpose
Buck2 is a large-scale, fast, hermetic, multi-language build system and the successor to Buck.Read 30 Sep 2026 · buck2.build
Audience
Buck2 is designed for large-scale, multi-language repositories and supports composing targets across languages in one build.Read 30 Sep 2026 · buck2.build
Platforms
The installation guide documents building from source on Linux, macOS, and Windows, and notes prebuilt protoc support on those systems.Read 30 Sep 2026 · buck2.build
Integrations
The project says BuildBarn, BuildBuddy, EngFlow, and NativeLink work with its distributed compilation support through the Bazel Remote Execution API.Read 30 Sep 2026 · github.com
Support
The project directs users to report issues through GitHub and provides a community Discord server.Read 30 Sep 2026 · buck2.build
Maker
Buck2 is a build system from Meta and the repository says it was designed by Meta.Read 30 Sep 2026 · buck2.build
Features
Buck2 uses Starlark rules, a dynamic dependency graph, and incremental actions to support extensible builds.Read 30 Sep 2026 · buck2.build
Languages
The language support table lists C/C++, Erlang, Go, Haskell, Java, Kotlin, OCaml, Python, and Rust with available prelude rules; support usability varies by language.Read 30 Sep 2026 · buck2.build
Large repositories
Buck2 supports filesystem watching and can integrate with Meta's Eden virtual filesystem, though Eden is optional.Read 30 Sep 2026 · buck2.build
Maturity
The project describes Buck2 as early-stage and warns that outside users may encounter rough edges, missing features, and missing toolchains.Read 30 Sep 2026 · buck2.build
Release status
The repository says Buck2 does not yet have a stable release tag and that its latest binary tag updates on every repository push.Read 30 Sep 2026 · github.com
Remote execution
Buck2 can use services that expose Bazel's remote execution API to run build actions remotely.Read 30 Sep 2026 · buck2.build
Security and correctness
Buck2 rules are hermetic by default and missing dependencies are errors; local-only build steps are not sandboxed, while remote execution is hermetic by design.Read 30 Sep 2026 · buck2.build

Plans and prices

Open source Free Buck2 build system · source and binaries available under MIT and Apache-2.0 licenses Read 30 Sep 2026 · github.com

Every Buck2 plan and price →

Strong points and limits

Strong points

  • Supports multiple languages in one build
  • Can use Bazel remote execution API services
  • Rules are hermetic by default
  • Source and binaries are free

Limits

  • Early-stage project may have rough edges
  • No stable release tag yet
  • Language support usability varies
  • Local-only build steps are not sandboxed

Who it suits

Buck2 suits teams working on large-scale, multi-language repositories that need to compose targets across languages. Its early-stage status makes it a less settled option for users who need stable releases or complete toolchain coverage.

Verdict

Buck2 offers extensible builds for large, multi-language repositories, including remote execution options. Its early-stage status and changing binary tag are important considerations for adoption.

Where Specifiction places it

Alternatives to Buck2All alternatives →