mirror of
https://github.com/Homebrew/brew.git
synced 2026-03-26 03:48:32 +00:00
Homebrew's Ruby and Bash startup cost is most noticeable on common API-backed commands, so add a tightly gated Rust frontend experiment for search, info, list, and the essential mutating commands. The goal is to make iteration on a faster CLI possible without changing the default user experience or taking on the risk of reimplementing all of FormulaInstaller in Rust on day one. Keep the risk contained by only enabling the Rust path on supported Tier 1 default-prefix installs when both HOMEBREW_DEVELOPER and HOMEBREW_EXPERIMENTAL_RUST_FRONTEND are set, and by continuing to delegate complex install, upgrade, uninstall, and update behaviour back to the existing Homebrew frontend for v1 correctness. That lets us measure the frontend win first and only move more logic out of Ruby when profiling proves it is worth the complexity. Build brew-rs through vendor-install and run Rust subtree tasks through portable Ruby's rake so local development, first-run bootstrapping, and CI all use the same path instead of bespoke scripts. Add integration coverage, a dedicated workflow, hyperfine benchmarks, Dependabot support, and Rust-specific docs so the experiment is easy to validate, benchmark, and evolve.