BoringCache is a shared build cache for CI, Docker builds, and local development.
If you are new here, start in the terminal:
curl -sSL https://install.boringcache.com/install.sh | sh
cd your-project
boringcache onboard
The installer always verifies the release checksum. If cosign is installed,
it also verifies the signed checksum bundle automatically. To require the
signature and fail closed, run:
curl -sSL https://install.boringcache.com/install.sh | BORINGCACHE_VERIFY_SIGNATURE=1 sh
boringcache onboard authenticates the CLI, chooses a workspace, writes .boringcache.toml when it can, and lines up the same cache names across local runs, Docker builds, and GitHub Actions.
If you want to start sign-in from the terminal by email, use boringcache onboard --email you@example.com. For a brand-new account, pass --name and --username too.
Repo config can also keep the repeated command itself under [adapters.<tool>].
command accepts either an argv array or a shell-style string.
This is not general TOML templating: proxy-backed commands only substitute {PORT}, {ENDPOINT}, and {CACHE_REF}.
After that, start with the shortest command that fits the tool:
# Archive mode (run/save/restore)
boringcache run -- bundle install
# Docker adapter from repo config
boringcache docker
# Same adapter without repo config
boringcache docker --tag docker-cache -- docker buildx build .
# Long-lived local proxy
boringcache cache-registry my-org/app registry-cache --port 5000
Use archive mode commands (run, save, and restore) when you are caching explicit directories.
Use adapter commands when the build tool already speaks a remote-cache protocol and BoringCache has a dedicated wrapper for it.
Use cache-registry when the repo already has a checked-in local endpoint setup or another process should keep the proxy alive. cache-registry is the proxy. run --proxy and adapter commands temporarily start that same proxy for one command.
When .boringcache.toml stores the Docker command, boringcache docker is the short form. Use the longer version when you want to pass the Docker command inline.
If you are wiring GitHub Actions, pin the verified boringcache/one v1.13.99
distribution commit after onboard so CI can reuse the same repo config and
trust model:
- uses: boringcache/one@b55458ec8a4165e3fd70b1a1645f518a2095ed02 # v1.13.99