# Kache

A zero-copy, content-addressed build cache for Rust, C/C++, and CUDA that restores a compiler invocation's output instead of rebuilding it, sharing a cache locally or through S3.

Kache is a compiler cache that keys every rustc, cc, c++, or nvcc invocation by the content of its inputs, so a crate or object file built once in one worktree, branch, or CI run is restored rather than rebuilt in the next. Cached outputs live in a local content-addressed store and can be shared through S3-compatible or filesystem remotes, using hardlinks locally to avoid duplicating files on disk.

A wrapper parses each compiler invocation and normalizes machine-local paths so two worktrees of the same revision produce the same cache key, and wrappers reaching the same key at the same time join a single build rather than compiling redundantly. Hits, misses, and passthroughs are reported per compilation unit, with a command that explains why a given unit missed the cache.

It is written in Rust and released under the Apache-2.0 license.

Website: https://kunobi.ninja/product/kache
