Skip to content

Select accounts and package targets

rvs keeps the authenticated user, local profile, acting account, and package target as separate layers. This prevents identical namespace or repository names in different accounts from being confused and keeps activity and billing with the acting account.

List the personal account and organizations available to the authenticated user in the effective local profile:

Terminal window
rvs account list
rvs account current

Use a readable selector:

Terminal window
rvs account use personal
rvs account use org:acme

If a readable label matches more than one account, rvs refuses to guess and prints the stable account references you can use instead. The selected account controls authorization, activity, and billing for following commands.

Use the intended account before choosing its repository or mirror. This keeps the destination visible for every following command.

Private repository targets use namespace/repository:

Terminal window
rvs art select platform/backend
rvs art current

An unqualified repository target currently means the internal realm. You can state that realm explicitly, and doing so keeps scripts ready for future global namespaces:

Terminal window
rvs art select internal:platform/backend

global:namespace/repository is valid target syntax, but Ravenstash rejects it with GlobalNamespacesUnavailable until the global realm launches. Stable selectors use the same syntax, for example internal:in_wsabc123/r_repo1234.

The namespace makes the selection unambiguous inside the acting account. If two accounts both contain platform/backend, use the intended account before selecting the repository. Ravenstash refuses any remaining ambiguous match rather than guessing.

After selection, omit the target:

Terminal window
rvs art pypi install internal-lib
rvs pip install internal-lib

--kind pypi|npm|maven|container|helm is needed only when an operation cannot infer the registry kind. A native wrapper or a helper such as rvs art pypi already supplies it. It is not required merely to select a uniquely resolvable target.

Official and custom mirrors use visibly different target prefixes:

Terminal window
rvs art mirror select pypiorg
rvs art mirror select --custom piwheels

These are equivalent to:

Terminal window
rvs art select mirror:pypiorg
rvs art select custom-mirror:piwheels

If the same custom name exists for more than one registry kind, disambiguate it:

Terminal window
rvs art mirror select --custom internal --kind pypi

Private mirrors belong to the selected account. Two accounts may therefore have mirrors with the same visible name without collision.

Terminal window
rvs art clear

Clearing a target does not sign out, change the acting account, or delete anything. For PyPI, npm, and Maven install helpers, rvs can then use the selected account’s enabled official default (pypiorg, npmjs, or maven-central). If no suitable mirror is available, it asks you to select a target.

Install the prompt hook for Bash, Zsh, or Fish:

Terminal window
rvs shell setup
# Or choose explicitly:
rvs shell setup --shell zsh

A new shell shows the effective local profile, acting account, and target:

(work · org:acme · platform/backend)

With the hook active, using a profile, account, or target changes only that shell. Another terminal can stay on a different organization or repository. The hook stores only non-secret session context.

Package operations use the selected target for the effective local profile and acting account. If no target is selected, supported install helpers can use that account’s enabled official mirror. Run rvs context current to verify the authenticated user and see where the effective profile, account, and target selections came from. Select a target explicitly whenever you want the destination to be unambiguous.