Ravenstash
Guides

Private npm registry setup

Set up private npm registry URLs, tokens, and CI publishing with Ravenstash.

Updated 2026-06-24

A private npm registry setup has three moving parts: the registry URL, the token, and the package scope.

Local setup

npm config set @acme:registry https://rvnsta.sh/npm/x/acme/frontend/
npm config set //rvnsta.sh/npm/x/acme/frontend/:_authToken "${RAVENSTASH_TOKEN}"

Use the same .npmrc shape for npm-compatible clients.

CI setup

Store RAVENSTASH_TOKEN in your CI secret manager. Generate .npmrc during the job so tokens do not appear in the repository.

cat > .npmrc <<'EOF'
@acme:registry=https://rvnsta.sh/npm/x/acme/frontend/
//rvnsta.sh/npm/x/acme/frontend/:_authToken=${RAVENSTASH_TOKEN}
EOF
npm publish --registry https://push.rvnsta.sh/native/npm/x/acme/frontend

Current boundaries

Ravenstash serves npm package documents, version documents, tarballs, and ping routes. Mutable dist-tag management is not implemented yet.