Skip to content

rvs command reference

Run rvs COMMAND --help to see every option supported by your installed version. Repository and package commands begin with rvs art.

Option What it does
--version, -V Shows the installed version.
--json Prints output from rvs as JSON. Output from tools such as pip or npm keeps its normal format.
--install-completion Installs completion for the current shell.
--show-completion Prints completion code.
Command What it does
rvs auth login Opens browser sign-in.
rvs auth status Checks whether this computer has a saved sign-in.
rvs auth whoami Shows which Ravenstash user is signed in.
rvs auth logout Signs the current profile out.
rvs auth logout --all Signs every local profile out.

rvs auth login accepts --profile, --duration, --no-browser, and --credential-store. Requested sign-ins can last from 12 hours to 180 days.

When a package tool must connect without an rvs wrapper, use rvs art token mint --target NAMESPACE/REPOSITORY. It creates a short-lived registry token; --format, --access, and --duration are optional. See Use tokens with package tools.

Command What it does
rvs auth storage doctor Checks the secure storage available on this computer.
rvs auth storage setup Sets up the encrypted Ravenstash vault or an explicitly approved plain-text store.
rvs auth storage set STORE Chooses auto, keyring, pass, vault, or plaintext for future sign-ins.
rvs auth storage unlock Unlocks the encrypted vault for the current Linux login.
rvs auth storage lock Locks the encrypted vault.
rvs auth storage change-passphrase Changes the encrypted vault passphrase.
Command What it does
rvs profile list Lists profiles saved on this computer.
rvs profile current Shows the profile in use and its non-secret settings.
rvs profile current --verbose Also shows its Ravenstash package addresses.
rvs profile use NAME Chooses a profile.
rvs profile rename OLD NEW Renames a profile. Sign in again under the new name.
rvs profile delete NAME Removes a profile and its saved sign-in.
rvs profile delete --all Removes every profile and saved sign-in.
Command What it does
rvs account list Lists your personal account and organizations.
rvs account switch NAME Chooses your username or an organization’s public handle.
rvs status Shows who is signed in and the selected profile, account, repository or mirror, and Ravenstash API.
rvs art select TARGET Chooses a repository or mirror.
rvs art status Shows the account, repository or mirror, and format used by rvs art commands.
rvs art clear Clears the current repository or mirror.

Name-based repository targets use namespace/repository. Mirrors use mirror:source or custom-mirror:name.

Options such as --account, --target, and --profile let scripts choose a value for one command without changing the saved choice. Put options on the command that performs the operation:

Terminal window
rvs pip --rvs-account AcmeHQ --rvs-target platform/packages install internal-sdk
Command What it does
rvs art repo list Lists repositories in the selected account.
rvs art repo create [NAMESPACE/]NAME --format FORMAT Creates a repository. Repeat --format to add more formats.
rvs art repo show REPOSITORY Shows a repository.

Package formats are pypi, npm, maven, and oci.

Command What it does
rvs art repo upstream list REPOSITORY FORMAT Lists the sources used by one package format, by position.

The repository’s own packages are always checked first. Add, move, or remove sources in the Ravenstash web app from the repository’s Upstreams tab.

Command What it does
rvs art mirror list Lists private mirrors in the selected account.
rvs art mirror create SOURCE Adds a Ravenstash-provided mirror.
rvs art mirror create --format FORMAT Adds the default source for a package format.
rvs art mirror show rc_... Shows a mirror by its permanent remote-cache ID.
rvs art mirror select SOURCE Chooses a Ravenstash-provided mirror.
rvs art mirror select --custom NAME Chooses a custom mirror.

Create custom mirrors, change a mirror’s minimum package age, and delete mirrors in the Ravenstash web app. rvs can list, show, and select existing mirrors.

These commands use the repository chosen with rvs art select. Add --target NAMESPACE/REPOSITORY to use another repository for one command.

Command What it does
rvs art package list Lists packages.
rvs art package show NAME Shows a package summary and its newest 50 versions.
rvs art package show NAME --limit N Shows the newest N versions, from 1 to 100.
rvs art package show NAME --all-versions Shows every version.
rvs art package show NAME --version VERSION Shows one version with its files and their digests.
rvs art package yank NAME VERSION Yanks a PyPI version; accepts an optional --reason.
rvs art package unyank NAME VERSION Makes a yanked PyPI version selectable again.
rvs art package deprecate NAME VERSION --message TEXT Adds an npm deprecation warning.
rvs art package undeprecate NAME VERSION Clears an npm deprecation warning.
rvs art package delete-version NAME VERSION Deletes one version after confirmation.

Add --format pypi|npm|maven only when the repository has more than one of these formats. Yank and unyank always apply to PyPI, and deprecate and undeprecate always apply to npm, so they never need --format.

Some changes affect every developer and build that uses a repository or mirror. Make these in the Ravenstash web app; there is no rvs command for them:

  • renaming or deleting a repository;
  • adding, moving, or removing a repository’s upstream sources;
  • changing a private mirror’s minimum package age or deleting a mirror; and
  • deleting a whole package with all its versions.

rvs can still list and show repositories, upstream sources, and mirrors, delete single package versions and OCI content, and yank or deprecate versions.

rvs directly wraps pip, uv, Twine, python -m build, npm, pnpm, Maven, Docker, Helm, and ORAS. Choose a repository first, then use the tool normally:

Terminal window
rvs art select platform/packages
rvs pip install internal-sdk
rvs uv sync
rvs twine upload dist/*
rvs npm ci
rvs pnpm install --frozen-lockfile
rvs mvn verify

The package-tool wrappers accept the options that apply to their work:

Option What it does
--rvs-profile NAME Uses another local profile for one command.
--rvs-account NAME Uses another username or organization handle for one command.
--rvs-target TARGET Uses another repository or mirror for one command.
--rvs-native-config POLICY Uses respect, override, or isolate; the default is respect.
--rvs-yes On publishing commands, skips the confirmation in guarded automation.

Yarn, Bun, Gradle, and sbt can use Ravenstash’s package addresses, but there are no rvs yarn, rvs bun, rvs gradle, or rvs sbt commands.

Command What it does
rvs docker Runs Docker with temporary access. Push, pull, and tag accept short private image names.
rvs helm Runs Helm with temporary access and short private chart paths.
rvs oras Runs ORAS for the selected OCI repository.
rvs art reference --format oci Prints the name-based repository-qualified Ravenstash address for a Container image or Helm chart.

Docker, Helm, and ORAS also accept --rvs-profile, --rvs-account, --rvs-target, and --rvs-yes. All three wrappers use the selected repository’s OCI format.

Command What it does
rvs runtime install RUNTIME VERSION Installs Python, Node.js, or Java.
rvs runtime uninstall RUNTIME VERSION Removes an installed runtime.
rvs runtime list Lists runtimes installed by rvs.
rvs runtime which RUNTIME [VERSION] Shows an installed runtime’s program path.
rvs runtime use RUNTIME VERSION Chooses a version for the current project.
rvs runtime env Prints shell setup for runtime commands.
rvs runtime setup-shell Adds runtime setup to Bash, Zsh, or Fish.
rvs runtime doctor Checks the runtime setup.
Command What it does
rvs update Checks for an update in the rolling v0 channel.
rvs update --apply Installs the available update after confirmation.
rvs update --to 0.MINOR --apply Installs the newest patch of one minor line, once, after confirmation.
rvs update --candidate X.Y.ZrcN Verifies and previews a signed release candidate.
rvs update --candidate X.Y.ZrcN --apply Installs the verified release candidate.

APT installations delegate to APT. Portable Linux, Alpine, macOS, and Windows installations authenticate, stage, health-check, and activate the matching native bundle. Nix installations delegate replacement to Nix.

rvs art native config TOOL prints setup instructions for pip, uv, twine, npm, mvn, docker, helm, or oras. Printing instructions does not create a token, write configuration, run a package tool, or change your selected repository.

Use rvs art endpoint --format FORMAT for one native login or package address. Use rvs art reference backend:latest --format oci for one complete image or chart reference. These commands accept --target, --account, and --profile on the command itself.

For manual credentials, rvs art token mint --format oci --access publish creates one token for the selected repository and both OCI content types. Repeat --format or use comma-separated values; --all-formats selects the currently enabled formats. Later-enabled formats are not added to that token. Read access and four hours are the defaults. Mirrors allow only read access.

Templates default to read and publish for dual-purpose tools on repositories; --access read prints read-only instructions. Pip always reads, Twine always publishes, and neither accepts --access. ORAS prints instructions for the enabled OCI format; --format, when needed, accepts oci. The Maven tool identifier is mvn; maven is also accepted.

Use root --json, for example rvs --json art endpoint --format npm, to get structured output. rvs update --to 0.MINOR previews the newest patch of one minor line; only --apply installs it. --yes requires --apply.