Skip to content
SPECIFICTION
Get listed

affected vs Buck2

affected

github.com

Buck2

buck2.build

Side by side

FigureaffectedBuck2
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published11
Spec score · Monorepo Management Tools8.1 (#10)8.0 (#13)
Purposeaffected detects which monorepo packages are affected by Git changes and runs tests or other commands on those packages.Buck2 is a large-scale, fast, hermetic, multi-language build system and the successor to Buck.
SupportThe README welcomes contributions and directs users to the repository's GitHub issues.The project directs users to report issues through GitHub and provides a community Discord server.

Plans

affected

  • affectedFree

affected pricing →

Buck2

  • Open sourceFree

Buck2 pricing →

In their own words

affected

affected is a free, MIT-licensed command-line tool for identifying monorepo packages touched by Git changes and running tests or other commands on those packages. It traces transitive dependencies and can explain the chain from a change to an affected package. The README says it detects project type and dependency graph automatically to get started without configuration. Supported ecosystems include Cargo, npm, pnpm, Yarn, Bun, Go, Python, Maven, Gradle, .NET, Swift, Dart/Flutter, Elixir, and Scala/sbt. CLI commands cover listing packages, testing, running commands, viewing graphs, CI, initialization, and watch mode. Execution options include parallel jobs, dry-run previews, timeouts, package filters, and skip patterns. Outputs include JSON, JUnit XML, CI formats, shell completions, dependency trees, and DOT graphs. GitHub Actions support includes a setup action and dynamic job matrices; a companion action can post and update pull request comments with affected packages and reasons. Installation options include Homebrew, Python and language package managers, GitHub Actions, and release binaries. It runs on Linux, macOS, and Windows.

Visit github.com

Buck2

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.

Visit buck2.build