Skip to content

Quickstart

Five minutes, three paths. Pick the one that matches how you work; the account setup in step 1 is shared by all of them.

1. Create an account, an organization and a repository

Section titled “1. Create an account, an organization and a repository”
  1. Sign up at cavsnode.com. Sign-in is handled by Firebase Authentication (email/password or a social provider).

  2. Create an organization. Its slug is the first half of every repository reference — acme-ai/vision-models.

  3. Create a repository. Leave the defaults (PRIVATE visibility, managed storage) unless you already know you want Bring Your Own S3.

  4. Create an API token: Organization settings → Tokens → New token. Choose the repo:write scope for a token that can push and pull. The secret is shown exactly once — copy it now.

The Git-native path: keep using git, and let CAVS handle the large files.

  1. Install the CLI.

    Terminal window
    curl -fsSL https://raw.githubusercontent.com/orelvis15/cavs-hub-cli/main/install.sh | sh

    Also install git-lfs (brew install git-lfs, apt install git-lfs) and the cavs-lfs-agent binary from the engine releases if you want chunk-level dedup. See CLI installation for per-platform detail.

  2. Point the CLI at production and sign in.

    Terminal window
    cav config set api https://cavsnode.com
    cav login

    cav login prompts for the token (so it stays out of your shell history), validates it against the API and prints the organizations you can see.

    Non-interactive alternative
    echo "$CAVS_TOKEN" | cav login --token-stdin
  3. Connect your Git repository. Run this inside an existing Git working tree:

    Terminal window
    cav repo connect acme-ai/vision-models

    One command does four things: sets lfs.url to the repository’s endpoint, wires up the CAVS transfer agent, installs the pre-push hook, and uploads the initial Git index so the dashboard can show your files and history.

  4. Track your large files and push.

    Terminal window
    git lfs track "*.safetensors"
    git add .gitattributes model.safetensors
    git commit -m "Add trained model"
    git push
  5. Check your work.

    Terminal window
    cav doctor # environment + connectivity diagnosis
    cav storage # organization storage usage

    Then open the repository in the dashboard. The Storage tab shows logical vs physical bytes and the dedup ratio; Benchmarks shows the real bytes this push moved.

Change a few megabytes inside that file, commit and push again — the second push transfers a fraction of the first.

Whichever path you took:

From the CLI
cav whoami # identity + organizations
cav storage # organization storage usage
cav artifacts # recent artifacts across repositories
From the API
curl -sS https://cavsnode.com/api/v1/repositories/$REPO/usage \
-H "Authorization: Bearer $CAVS_TOKEN" | jq

In the dashboard, the repository’s Overview shows the object count and the current generation; Files shows the indexed tree; Storage shows the dedup ratio; Activity shows the push event.

Symptom Cause and fix
401 unauthorized Missing, mistyped or revoked token. Check cav status; recreate the token if unsure.
403 forbidden The token’s scope or your role doesn’t grant the operation. A push needs repo:write. See Roles & permissions.
402 quota_exceeded A plan limit was hit — storage, object size, repositories, members or tokens. The details object names which. See Plans & quotas.
cav: command not found The installer put the binary in ~/.local/bin; add it to PATH.
CLI talks to localhost:8080 The CLI ships with a local-development default. Run cav config set api https://cavsnode.com (or export CAVS_API).
Dashboard shows no files The Git index hasn’t been uploaded. Run cav repo index --full.
Push isn’t deduplicating cavs-lfs-agent isn’t installed or isn’t wired. Run cav doctor, then CAVS LFS agent.

More in Troubleshooting.