Configuration

ev.yaml

ev.yaml is created by ev init at the root of your git repository and should be checked into version control. It defines the project boundary and provides default context so you don't have to pass flags on every command.

Minimal Config

project: clxxxxxxxxxxxxxxxxxxxxxxxx
default_env: dev

That is all you need for a single-app project. ev treats the repo root as the one app.

All Fields

FieldTypeRequiredDescription
projectstringYesProject ID assigned by the ev server during ev init.
default_envstringNoEnvironment used when no environment is specified. Defaults to dev.
appsmapNoNamed apps for monorepos. Each entry has a path field.
backendobjectNoStorage backend configuration (type, region, prefix).
environmentsmapNoPer-environment backend overrides.

Monorepo Config

project: clxxxxxxxxxxxxxxxxxxxxxxxx
default_env: dev
 
apps:
  frontend:
    path: packages/frontend
  backend:
    path: packages/backend
  worker:
    path: packages/worker

When you run ev commands from packages/backend/, ev automatically resolves the app to backend. You can override with colon syntax:

ev push                    # auto-detected from cwd
ev push backend:staging    # explicit app and environment
ev pull frontend:prod      # explicit app and environment

Backend Config

project: clxxxxxxxxxxxxxxxxxxxxxxxx
default_env: dev
 
backend:
  type: aws-secrets-manager
  region: us-east-1
  prefix: /myapp/

See Storage Backends for all backend types and options.

Per-Environment Backend Override

Keep dev on ev's encrypted storage while prod uses AWS Secrets Manager:

project: clxxxxxxxxxxxxxxxxxxxxxxxx
default_env: dev
 
backend:
  type: aws-secrets-manager
  region: us-east-1
  prefix: /myapp/
 
environments:
  dev:
    backend:
      type: ev

Context Resolution

When you run an ev command, it resolves context in this order:

  1. Explicit argument — ev push backend:staging sets app to backend, env to staging
  2. Partial argument — ev push staging sets env to staging, app from cwd or ev.yaml
  3. Working directory — if cwd matches an app path in ev.yaml, that app is used
  4. default_env — from ev.yaml
  5. Global default — dev

Local Files

ev stores per-user state in ~/.config/ev/:

FileContents
~/.config/ev/auth.jsonAuth token from ev login
~/.config/ev/keys.jsonYour local keypair (Curve25519 public + private key)
~/.config/ev/config.jsonAPI URL and other client settings

These files are created automatically and should never be checked into version control. ev adds them to .gitignore during ev init.

On this page