bkt
$ bkt --help
CLI and Rust library for caching subprocess invocations
Usage: bkt [OPTIONS] -- <COMMAND>...
Arguments:
<COMMAND>... The command to run
Options:
--ttl <DURATION> Duration the cached result will be valid for [env: BKT_TTL=] [default: 60s]
[aliases: time-to-live]
--stale <DURATION> Duration after which the result will be asynchronously refreshed
--warm Asynchronously execute and cache the given command, even if it's already
cached
--force Execute and cache the given command, even if it's already cached
--cwd Includes the current working directory in the cache key, so that the same
command run in different directories caches separately [aliases:
use-working-dir]
--env <NAME> Includes the given environment variable in the cache key, so that the same
command run with different values for the given variables caches separately
[aliases: use-environment]
--modtime <FILE> Includes the last modification time of the given file(s) in the cache key,
so that the same command run with different modtimes for the given files
caches separately [aliases: use-file-modtime]
--discard-failures Don't cache invocations that fail (non-zero exit code). USE CAUTION when
passing this flag, as unexpected failures can lead to a spike in invocations
which can exacerbate ongoing issues, effectively a DDoS
--scope <NAME> If set, all cached data will be scoped to this value, preventing collisions
with commands cached with different scopes [env: BKT_SCOPE=]
--cache-dir <DIR> The directory under which to persist cached invocations; defaults to the
system's temp directory. Setting this to a directory backed by RAM or an
SSD, such as a tmpfs partition, will significantly reduce caching overhead
[env: BKT_CACHE_DIR=]
-h, --help Print help
-V, --version Print version