Shelve CLI Reference
Installation
bun add -d @shelve/cli
# or: pnpm add -D @shelve/cliCommands
login
Authenticate with Shelve. Get token from app.shelve.cloud/user/tokens.
shelve loginlogout
Remove local credentials from ~/.shelve.
shelve logoutme
Show currently logged-in user info.
shelve mepull
Pull env vars from Shelve to local .env file.
shelve pull # prompts for environment
shelve pull --env productionpush
Push local .env to Shelve.
shelve push # prompts for environment
shelve push --env stagingrun
Inject secrets from Shelve into command (uses ni under the hood).
shelve run dev
shelve run build
shelve run dev:app --env developmentcreate
Create new project in Shelve.
shelve create
shelve create --name my-project --slug my-teamconfig
Show current resolved configuration.
shelve configgenerate
Generate files like .env.example.
shelve generateupgrade
Upgrade CLI to latest version.
shelve upgradeConfiguration Options
| Option | Type | Default | Description |
|---|---|---|---|
project |
string | SHELVE_PROJECT or package.json name |
Project name |
slug |
string | SHELVE_TEAM_SLUG |
Team slug (from team settings) |
token |
string | ~/.shelve or SHELVE_TOKEN |
Auth token |
url |
string | https://app.shelve.cloud |
Shelve instance URL |
defaultEnv |
string | - | Default env for run/push/pull (skips prompt) |
confirmChanges |
boolean | false |
Confirm before applying changes |
envFileName |
string | .env |
Name of env file |
autoUppercase |
boolean | true |
Uppercase env var keys |
autoCreateProject |
boolean | true |
Auto-create project if missing |
Environment Variables
| Variable | Description |
|---|---|
SHELVE_PROJECT |
Project name |
SHELVE_TEAM_SLUG |
Team slug |
SHELVE_TOKEN |
Auth token |
SHELVE_URL |
Instance URL |
SHELVE_DEFAULT_ENV |
Default environment |
Monorepo Config
Root shelve.json:
{ "slug": "nuxtlabs" }Package apps/web/shelve.json:
{ "project": "@nuxt/web", "envFileName": ".env.local" }Running shelve pull at root pulls for all packages with shelve.json.