Skip to content

CLI

Git-based cargo binary installer with cached repositories for faster updates

Usage:

$ [OPTIONS] COMMAND [ARGS]...

Options:

  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • install: Install a Rust binary from git repository.
  • update: Update installed binaries
  • list: List installed binaries
  • status: Show cache status and statistics.
  • info: Show repository binaries, features, and...
  • config: Manage cargit configuration.
  • rename: Rename an installed binary's alias
  • remove: Remove installed binary
  • which: Show absolute path to installed binary
  • clean: Clean cache to free disk space
  • sync: Sync all binaries: parallel fetch & reset,...

install

Install a Rust binary from git repository.

For workspace repositories with multiple crates, pass --crate to select which to build.

Examples: cargit install https://github.com/typst/typst --crate typst-cli cargit install https://github.com/sharkdp/fd cargit install https://github.com/BurntSushi/ripgrep --alias rg

Usage:

$ install [OPTIONS] GIT_URL

Arguments:

  • GIT_URL: Git repository URL [required]

Options:

  • --crate TEXT: Crate name (for workspaces with multiple crates)
  • --branch TEXT: Branch to install from
  • --alias TEXT: Alias for installed binary
  • --dir TEXT: Install directory (default: ~/.cargo/bin)
  • --help: Show this message and exit.

update

Update installed binaries

Usage:

$ update [OPTIONS] [ALIAS]

Arguments:

  • [ALIAS]: Alias of binary to update (omit for --all)

Options:

  • --all: Update all installed binaries to its latest branch commit (HEAD), skipping pinned commits/tags
  • --branch TEXT: Switch to given branch and update to its latest commit (HEAD)
  • --commit TEXT: Update and pin to specific commit hash from current branch unless --branch is also specified
  • --tag TEXT: Update and pin to specific tag
  • --check: Check (fetch) for updates without applying them
  • -j, --jobs INTEGER: Number of parallel git fetch operations (default: 8) [default: 8]
  • --help: Show this message and exit.

list

List installed binaries

Usage:

$ list [OPTIONS]

Options:

  • --help: Show this message and exit.

status

Show cache status and statistics.

Displays: - Number of installed binaries - Cache size (repos + build artifacts) - Build statistics - Binaries needing attention (missing repos, cleaned artifacts)

Examples: cargit status

Usage:

$ status [OPTIONS]

Options:

  • --help: Show this message and exit.

info

Show repository binaries, features, and workspace layout without installing.

  • Verifies the remote exists (git ls-remote) before cloning.
  • Uses a fast, shallow, temporary clone (no persistence).
  • Handles single crates and workspaces, surfacing binaries and required features.

Usage:

$ info [OPTIONS] GIT_URL

Arguments:

  • GIT_URL: Git repository URL to inspect [required]

Options:

  • --branches: List remote branches (slower).
  • --tags: List remote tags (slower).
  • --help: Show this message and exit.

config

Manage cargit configuration.

Examples: cargit config --show # Show current configuration cargit config --init # Create config file with defaults cargit config --edit # Open config in $EDITOR

Usage:

$ config [OPTIONS]

Options:

  • --show: Show current configuration
  • --init: Initialize config file with defaults
  • --edit: Open config file in editor
  • --help: Show this message and exit.

rename

Rename an installed binary's alias

Usage:

$ rename [OPTIONS] CURRENT_ALIAS

Arguments:

  • CURRENT_ALIAS: Current alias of the binary [required]

Options:

  • --to TEXT: New alias for the binary [required]
  • --help: Show this message and exit.

remove

Remove installed binary

Examples: cargit remove typst cargit remove my-tool

Usage:

$ remove [OPTIONS] ALIAS

Arguments:

  • ALIAS: Alias of binary to remove [required]

Options:

  • --help: Show this message and exit.

which

Show absolute path to installed binary

Examples: cargit which typst cargit which my-tool

Usage:

$ which [OPTIONS] ALIAS

Arguments:

  • ALIAS: Alias of binary to locate [required]

Options:

  • --help: Show this message and exit.

clean

Clean cache to free disk space

Usage:

$ clean [OPTIONS] [ALIAS]

Arguments:

  • [ALIAS]: Alias of binary to clean

Options:

  • --all: Remove all cached repos and artifacts
  • --artifacts: Clean build artifacts
  • --repos: Delete repository
  • --orphaned: Remove orphaned repos
  • --dry-run: Preview without deleting
  • --help: Show this message and exit.

sync

Sync all binaries: parallel fetch & reset, then sequential builds.

Usage:

$ sync [OPTIONS]

Options:

  • -j, --jobs INTEGER: Number of parallel git operations [default: 8]
  • --fetch-only: Only fetch, don't reset or build
  • --dry-run: Show what would be done
  • --help: Show this message and exit.