Getting Started

Install

ev is distributed as a global npm package.

npm i -g @rowlabs/ev

Verify the install:

ev --version

Log In

ev authenticates via GitHub OAuth. Running ev login opens your browser and saves a token to ~/.config/ev/.

ev login

Initialize a Project

Run ev init from the root of a git repository. It creates an ev.yaml config file and registers the project with the ev server.

ev init my-project

If you are joining an existing project that was already initialized by a teammate, use the --passphrase flag instead:

ev init --passphrase "correct horse battery staple"

The passphrase is generated by ev access rotate and lets a new team member decrypt the project key without a live key-exchange flow.

Push Your First Secrets

Create a .env file in your project root:

# .env
DATABASE_URL=postgres://localhost/myapp
SECRET_KEY=supersecretvalue
NODE_ENV=development

Push it to ev:

ev push

ev will show a diff of what will change and ask for confirmation before pushing. Every push creates a release snapshot — you can roll back to any previous state at any time.

Pull on Another Machine

Team members with access can pull the latest secrets:

ev pull

If a local .env already exists and differs from the remote, ev warns you and creates a .env.backup before overwriting.

Create Additional Environments

By default ev creates a dev environment. Add staging and prod environments as you need them:

ev env create staging
ev env create prod

Push secrets to a specific environment using colon syntax:

ev push staging
ev push backend:prod

Pull from a specific environment:

ev pull staging
ev pull backend:prod

Next Steps

On this page