Skip to content
>_ kunobi-kache
C/C++ coming soon
Ferris, the unofficial Rust mascot

Zero-copy Rust build cache

A drop-in RUSTC_WRAPPER with blake3 content-addressed keys. Hits restore via hardlinks — blobs stored once, shared across every target/. Optional S3 sync carries the cache into CI.

zero-copyhardlinks not copies
blake3content-addressed
Apache-2.0open source
>_ the-problem

Rust build output is a storage problem

target/ everywhere

Every worktree gets its own target/. The same .rlib materializes over and over until your disk fills with duplicated build output.

sccache helps, but only halfway

sccache skips recompiles but leaves duplicate artifacts across worktrees. kache restores via hardlinks, so the bytes are shared.

CI repeats the same work

Every job rebuilds the same dependency tree. One GitHub Action line and S3 credentials replace all the manual wiring.

>_ how-it-works

A wrapper. A hash. A hardlink.

Stays inside your normal Cargo workflow. The wrapper intercepts every rustc call, the store is content-addressed by blake3, and an optional daemon handles S3 sync.

step . 01
Wrap
RUSTC_WRAPPER intercepts every rustc call
step . 02
Hash
blake3 key from rustc version . source . deps . flags
step . 03
Hardlink
restore hits as hardlinks . identical blobs stored once
step . 04
Sync
daemon pushes / pulls to S3 . AWS . MinIO . Ceph . R2
drop-in RUSTC_WRAPPERcache keys portable across machinesdaemon optional for local
>_ quick-start

Install. Init. Build.

kache init handles the cargo wrapper, daemon, and service install in one command. Idempotent — re-run any time to repair configuration.

01 · install
miserecommended
$mise use -g github:kunobi-ninja/kache@latest
cargo-binstallprebuilt binary
$cargo binstall --git https://github.com/kunobi-ninja/kache kache
from sourcecargo install
$cargo install --git https://github.com/kunobi-ninja/kache
02 · init
interactive — recommended
$kache init
accept all defaults
$kache init -y
verify the setup
$kache doctor
That's it. Run cargo build like you always do.
03 · ci · github actionsOne line carries the cache into your workflow.
$- uses: kunobi-ninja/kache-action@v1
>_ surface-area

A compact CLI built around the cache

More than a wrapper — monitor, config, and doctor make it usable day to day.

$kache init[-y]

Interactive setup: cargo wrapper + service install + daemon start

$kache doctor[--fix]

Diagnose setup; --fix migrates from sccache

$kache monitor

Live TUI dashboard for build events and cache stats

$kache stats

Non-interactive cache stats summary

$kache list[<crate>]

List cached entries, or details for a specific crate

runkache --helpfor the full command surface.

Build once. Hardlink everywhere.

Free, open source, Apache-2.0. Drop it in your Cargo workflow today.

Available for:
Apple macOS logomacOSMicrosoft Windows logoWindowsLinux logoLinux
Download Kunobi