CAVS Node · command-line client
Push the bytes that changed. Skip the rest.
cav connects your Git repo to CAVS Node and wires Git LFS to a content-defined, deduplicated transfer agent — so pushes and pulls move only the chunks you don't already have.
curl -fsSL https://raw.githubusercontent.com/orelvis15/cavs-hub-cli/main/install.sh | sh
login to a deduplicated push.A thin client with a heavy payoff.
cav does three jobs well: authenticate, connect a repo, and stay out of the way. The chunking and dedup happen in the transfer agent — cav just wires it up correctly, every time.
Content-defined dedup, on every push
Once a repo is connected, Git LFS routes through cavs-lfs-agent. Assets are content-defined-chunked and deduplicated, so only bytes the Hub has never seen travel the wire.
- ▸ Ideal for large binary & media-asset repos
- ▸ Re-uploads of near-identical files collapse to deltas
- ▸ Works with the Git LFS you already use — no new verbs to learn
One command to connect a repo
cav repo connect points lfs.url at CAVS and installs the transfer agent for that repository. Or wire just the agent with install-lfs.
- ▸ No manual
.lfsconfigsurgery - ▸ Per-repo — your other repos are untouched
- ▸
cav statusshows exactly what's configured, offline
Token auth, and it keeps itself current
Log in once with a cavs_ access token minted in the dashboard — stored 0600, scoped to what you allow. cav update replaces the binary in place.
- ▸ Personal / repo / CI tokens, bounded by their scopes
- ▸ A once-a-day background check nudges you when a release lands
- ▸ Opt out with
CAV_NO_UPDATE_CHECK=1
Every command cav has.
The complete surface area — nothing hidden behind config files.
Store & validate a cavs_… access token, created in the dashboard → Tokens.
Remove the stored credentials from disk.
Show the authenticated identity and the organizations it belongs to.
Point the current repo's lfs.url at CAVS and wire the transfer agent.
Configure just the CAVS LFS transfer agent for the current repo.
Print the config path, API base and login state — no network calls.
Update cav in place to the latest release; --check only reports.
Global flag to override the API base for one invocation (or set $CAVS_API).
Get cav in under a minute.
Prebuilt binaries ship on GitHub Releases for macOS, Linux and Windows. Or build from source.
Then run cav login and paste a token from the dashboard.
Useful for CI where you want a reproducible cav version.
Or grab the asset directly from the Releases page.
Requires a Rust toolchain (cargo build --release produces target/release/cav).
Stop re-uploading bytes you've already pushed.
Connect a repo in one command and let CAVS Node carry only the deltas.
curl -fsSL https://raw.githubusercontent.com/orelvis15/cavs-hub-cli/main/install.sh | sh