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

Kache init, then Cargo, CMake, Make, or Ninja

Compiler caching for Rust and C/C++. Keep running Cargo, Make, CMake, or Ninja after setup, locally and in CI on Linux, macOS, and Windows.

kache initthen cargo as usual
Rust + C/C++gcc · clang · clang-cl
macOS · Linux · Windowsx86_64 + ARM
>_ quick-start

Install. Init. Build.

Choose an install method, run kache init once, then keep using Cargo, Make, CMake, or Ninja.

01 · install
Install method
02 · init
run once (recommended)
$kache init

Using scripts or CI? kache init -y runs the same setup without prompts.

check the configuration
$kache doctor
Done. Keep using Cargo, Make, CMake, or Ninja as usual.
03 · ci · github actionsOne line carries the cache into your workflow.
$- uses: kunobi-ninja/kache-action@v1
04 · c/c++Compiler-name shims, then PATH. Unsupported invocations pass through.
$kache install-shims ~/.local/lib/kache/shims
>_ the-problem

The same compile, over and over

target/ everywhere

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

sccache wants a server

sccache is a client-server cache. kache is local-first: entries share across worktrees without a remote, and you keep calling cargo.

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

kache init. Then cargo.

init writes rustc-wrapper. After that, cargo build, test, and clippy are unchanged. The store is local-first. Remotes are optional.

step . 01
Wrap
kache init, then cargo as usual
step . 02
Hash
blake3 key from normalized compiler inputs
step . 03
Store
content-addressed blobs, reused across worktrees
step . 04
Sync
optional S3 or filesystem remote
keep using cargoworktree sharing without a remotedaemon optional for local
>_ coverage

What's supported

Rust

Libraries and build scripts on Linux, macOS, and Windows. Executables on Linux and macOS by default; off on Windows until you turn them on.

C and C++

Single-source object compiles through GCC, Clang, Apple Clang, and clang-cl. Unsupported invocations pass through unchanged.

macOS, Linux, Windows

Release binaries for x86_64 and ARM. Linux musl, macOS, Windows MSVC.

Remotes

S3-compatible and filesystem remotes for Rust entries. C/C++ stays local for now.

>_ 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]

Write rustc-wrapper and optionally install the daemon

$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.
>_ nightly-bench
soon

Public numbers soon

Nightly cold/warm runs on Firefox · LLVM · Substrate · SurrealDB · Lance · OpenDAL are already going, including Firefox on Windows and against sccache. We'll publish results when we have a stretch of ok verdicts, not a one-off.

Install once. Keep using cargo.

Free, open source, Apache-2.0. Rust and C/C++ on Linux, macOS, and Windows.

Available for:
Apple macOS logomacOSMicrosoft Windows logoWindowsLinux logoLinux
Available for:
Apple macOS logomacOSMicrosoft Windows logoWindowsLinux logoLinux
Download Kunobi