DotVault CLI
Source of truth:
packages/cli/README.md(published as @lucerowb/dot-vault on npm).
The CLI signs in with your DotVault account and pulls / pushes encrypted .env files. Short command: dv (also dot-vault, dotvault).
Install
Homebrew (macOS, project tap)
Uses Formula/dot-vault.rb in this repo (not homebrew/core).
brew tap lucerowb/dot-vault https://github.com/lucerowb/dot-vault
brew install dot-vault
brew upgrade dot-vault # after brew update
npm
npm install -g @lucerowb/dot-vault
# or
npx @lucerowb/dot-vault@latest login --api-url https://your-server.example.com
Mental model
| Concept | Example | CLI flag / arg |
|---|---|---|
| Project | reAlpha | slug realpha → -p realpha |
| Environment | production, local | first arg to pull: dv pl production |
-p is always the project slug, not the environment name.
Interactive session (recommended)
dv # stays open until you choose Exit
dv shell # same
From the menu you can sign in, pick or create a project, list envs, download/upload, edit, rename, delete, and run the setup wizard. Project choice is remembered in ~/.dotvault/session.json.
Common commands
dv login --api-url https://your-server.example.com
dv st # status
dv ls # projects
dv e realpha # env labels (type to filter)
dv pl production -p realpha -o .env # pull
dv ps .env.local -p realpha -l local # push
dv project-create "My App" # new project
dv init # sign in + upload local .env*
eval "$(dv completion zsh)" # tab completion
API URL (runtime)
Resolved in order:
~/.dotvault/config.json(dv login --api-url)DOTVAULT_API_URLBETTER_AUTH_URL/NEXT_PUBLIC_APP_URLhttp://localhost:3000
When run from the repo root, the CLI also reads .env.local for the same variables.
Development
pnpm build:cli
pnpm dv # from repo root (see root package.json)
node packages/cli/bin/dot-vault.js
Formula source: Formula/dot-vault.rb (updated on each GitHub release).