jdx / mr-boxington
git clone https://github.com/jdx/mr-boxington.git
v1.26.0 · 3d ago
—
+36
stars, 24h · #1,057
+~103
stars, 7 days · #2,068
+~440
stars, 30 days · #1,852
575
★ total · +22% this week
24
forks · 2 open issues
Star history (as recorded here)
LanguageRust
LicenseMIT
Created2026-08-20 (2mo ago)
Last pushtoday
Watchers3
OwnerUser
Links
- GitHub: github.com/jdx/mr-boxington
- Homepage: mr-boxington.jdx.dev
- Releases · Issues · Hacker News mentions
README excerpt
mr boxington A shared cache. A tidier target/ . Reuse Cargo builds across worktrees, keep disk use in check, and run builds together. Get started · Documentation · Benchmarks · Releases mbx is a build cache for Rust projects. Cargo still resolves dependencies, plans builds, and runs your tools. mbx restores matching compiler outputs from one shared store and compiles the rest. Each command starts its own cache agent and stops it when the build ends; there is no daemon to manage. ## Get started With mise: [code] Or with Cargo: [code] With mise 2026.9.2 or newer, the `mr_boxington` Rust option wraps Cargo without an `mbx setup` hook. Open a shell with mise activation or shims on `PATH`, check Cargo's path, and use Cargo normally: [code] Interactive builds use cargo-pretty's display by romancitodev, extended with mbx cache information. Follow live and completed crates, browse warnings and test failures, and see cache hits, misses, bypasses, and estimated compiler time saved. The build bar doubles as a cache breakdown: green for hits, yellow for misses, and grey for bypasses and compilations not looked up. Cargo remains in charge of `run`, tests, doctests, and configured runners. CI, redirected output, and explicit output formats keep Cargo's normal output. Set `MBX_DISPLAY=plain`, or run `mbx settings set display plain`, to turn the display off. View the still image. To try mbx without automatic wrapping, install it and run `mbx build` directly. For coding agents and other non-interactive tools, use `mise exec -- cargo build` or put mise's shims on their `PATH`. The setup guide covers desktop applications and standalone setup with the Cargo shim. For mise older than 2026.9.2, see Older mise versions. Verified release archives are available for Linux, macOS, and Windows. All installation options → ## What you get - **Reuse across worktrees.** Equivalent compilations share cache keys even when checkout paths differ. Building one worktree warms the next. - **Automatic cleanup.** The store has a disk budget. Managed target directories are collected when their checkout disappears, they go unused, or they exceed their budget. Preview collection with `mbx gc --dry-run`. - **Parallel builds with a shared budget.** Independent Cargo commands share CPU and memory permits and deduplicate identical compilations in flight. Give each build its own target directory to avoid Cargo's directory lock; `check` and `clippy` already get a check lane of their own. - **Faster local edits.** mbx keeps private incremental state for crates you are changing while sharing eligible work across the rest of the build. - **CI reuse.** Use the GitHub Actions cache, a compatible cache server, or an S3-compatible bucket. mbx writes to a cache server or bucket only from pushes to protected branches, so pull request builds only read from it. - **An explanation for each result.** The build summary counts each kind of cache result separately: hits, misses, bypa