Skip to content

Get started

Install

mise

sh
mise use -g github:jdx/mr-boxington

Release archive

Linux x86-64:

sh
(
set -e
mkdir -p ~/.local/bin
archive=mbx-x86_64-unknown-linux-musl.tar.gz
release=https://github.com/jdx/mr-boxington/releases/latest/download
curl -fsSLO "$release/$archive"
curl -fsSLO "$release/SHA256SUMS"
grep "  $archive$" SHA256SUMS | sha256sum --check --strict -
tar -xzf "$archive" -C ~/.local/bin
)

Release archives are also available for Linux ARM64, Apple Silicon, Intel macOS, and Windows x86-64. See GitHub Releases for downloads and SHA256SUMS.

Cargo

sh
cargo install mbx

Run a build

Put mbx before cargo's subcommand:

sh
mbx build
mbx test --workspace --all-features
mbx clippy --workspace --all-targets

The command and its arguments are passed to Cargo unchanged. Cargo still owns dependency resolution, feature unification, build planning, and linking. mbx also forwards Cargo aliases and installed subcommands.

Enable plain Cargo commands

sh
mbx setup

Setup installs a persistent mbx-rustc wrapper and adds it as Cargo's global build.rustc-wrapper. It never replaces a wrapper that is already configured. Rerun setup after upgrading mbx so the installed wrapper matches the new version.

Inspect, refresh, or remove the integration explicitly with:

sh
mbx setup --status
mbx setup --update
mbx setup --uninstall

Status exits unsuccessfully when the integration is missing, stale, or points at another wrapper. Update only refreshes an existing mbx installation; uninstall removes mbx's rustc-wrapper entry without disturbing the rest of Cargo's configuration.

The persistent wrapper uses the local action store. Continue to run commands through mbx when you need a remote cache, build statistics, managed target directories, or automatic collection.

Diagnose the installation

sh
mbx doctor

Doctor checks the Cargo and rustc executables, cache write access, filesystem reflink support, plain Cargo wrapper installation, effective remote policy, and remote protocol connectivity. Warnings describe optional features or fallbacks; failures make the command exit unsuccessfully.

Read the result

After a build that used the cache, mbx prints a summary to stderr:

text
cache: 139 hits, 8 misses, 147 prefetched; 312.4 MiB downloaded, 0 B uploaded, 280.1 MiB stored locally
cache could not look up 4 compilations: no usable dep-info from an earlier build and no prediction to derive an action key from
cache bypassed 7 compilations: 5 unsupported-crate-type, 2 unsupported-search-path

These are three different outcomes: a miss means mbx looked up an action and found nothing, “could not look up” means it had no key yet, and a bypass means mbx deliberately declined to cache the action. See Cache results.

Inspect the store

sh
mbx cache dir
mbx cache stats
mbx gc
mbx gc --max-size 20GiB

Automatic collection is enabled by default with a 20 GiB budget.

Every inspection command also supports stable, versioned JSON for scripts and CI integrations:

sh
mbx doctor --json
mbx cache dir --json
mbx cache stats --json
mbx gc --json

Next steps

MIT LicenseCopyright © 2026jdx.dev