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. Sign in. The CLI already defaults to https://cavsnode.com; only a self-hosted deployment needs cav config set api <url> first.

    Terminal window
    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 CLI 0.1.0’s default, or a stale api_base in the stored config. 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.