kache init, then Cargo, CMake, Make, or Ninja
Compiler caching for Rust, C/C++, and CUDA. Keep running Cargo, Make, CMake, or Ninja after setup, locally and in CI on Linux, macOS, and Windows.
libserde-1.0.219.rlibhit
libserde-1.0.219.rlibhit
libserde-1.0.219.rlibhit
Install. Init. Build.
Choose an install method, run kache init once, then keep using Cargo, Make, CMake, or Ninja.
kache initUsing scripts or CI? kache init -y runs the same setup without prompts.
kache doctor- uses: kunobi-ninja/kache-action@v1kache install-shims && export PATH="$HOME/.local/lib/kache/shims:$PATH"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 keeps the cache between runs, with or without an S3 bucket.
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.
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, C++, and CUDA
Single-source object compiles through GCC, Clang, Apple Clang, clang-cl, and nvcc. 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 share Rust, C/C++, and CUDA entries. clang-cl debug objects stay on the machine.
A compact CLI built around the cache
More than a wrapper: monitor, config, and doctor make it usable day to day.
Write rustc-wrapper and optionally install the daemon
Diagnose setup; --fix migrates from sccache
Live TUI dashboard for build events and cache stats
Non-interactive cache stats summary
List cached entries, or details for a specific crate
kache --helpfor the full command surface.Charts soon
Benchmarks run on every pull request and every night. Charts land on this page once the numbers hold steady, rather than after a one-off run.
Empty cache, empty build directory
Same checkout, or a fresh checkout at the same revision
Rebuild after moving to the following commit
Six Cargo jobs sharing one cache
Disk taken by the cache and build output
Every pull request against its merge base
- Firefox · Linux + Windows · vs sccache
- LLVM
- SurrealDB
- Lance
- OpenDAL
- eza
Install once. Keep using cargo.
Free, open source, Apache-2.0. Rust, C/C++, and CUDA on Linux, macOS, and Windows.
>_ apache-2.0 · open source
Feedback and contributions welcome
We read every issue. A miss you cannot explain, a toolchain we do not cover yet, a benchmark that disagrees with ours: open one with the repro and it lands in front of the people who wrote the code.
kunobi-ninja/kache · pull requests welcome, including the first one