Manage your .env files without a cloud account

Envy is the local-first dotenv manager for developers. Encrypted vaults, instant profile switching and missing-key diffs, all offline and all yours.

Single static binary MIT license Free forever No telemetry
envy — terminal

$ envy list

✓ api-gateway/.env (main)

✓ web-app/.env (feature/payments)

$ envy diff

✓ .env.example and .env are in sync

$ envy validate

✓ All clear · 6 keys parsed

$ envy encrypt

✓ encrypted .env → .env.vault (AES-256-GCM)

$

How it works

01

Install once

One static binary via Homebrew or curl. No account, no daemon, no telemetry.

$brew install systemendgame/tap/envy ✓ one 8 MB binary
02

Scan your workspace

Envy finds every .env and groups them by git root, so multi-repo setups stay organised.

$envy list ✓ 4 .env files found
03

Diff, switch, encrypt

Compare against .env.example, switch profiles, or lock files into AES-256-GCM vaults.

$envy diff ✓ .env in sync

Built for local-first developers

Encrypt files into vaults

AES-256-GCM. The key stays in ~/.config/envy and never reaches a server.

envy encrypt .env

Switch profiles in one command

dev, staging, prod. A symlink swap with a hard production guardrail.

envy switch prod

Detect missing keys

Compare every .env against its .env.example and flag what is absent.

envy diff

See every project at once

Groups your .env files by git root, so multi-repo setups stay organised.

envy list

Browse from the terminal

A keyboard-first TUI. No Electron, no telemetry, one static binary.

envy

Share without leaks

Encrypted shares that expire or burn after reading. Even we cannot read them.

envy share .env

All the tools, right in your browser

No install needed. Every tool runs 100% locally with the Web Crypto API.

Every command

One binary, 11 commands. Copy any of them, paste, read the answer.

$envy Interactive TUI across all projects
$envy list --json List all .env files grouped by project
$envy diff Show missing keys vs .env.example
$envy switch staging Switch profile (.env.staging → .env)
$envy init Generate .env.example with values scrubbed
$envy encrypt Encrypt .env → .env.vault (AES-256-GCM, local)
$envy decrypt Decrypt .env.vault → .env
$envy keygen Generate the local encryption key
$envy validate Sanity checks (URLs, ports, prod warnings)
$envy share .env Share an encrypted .env via a burn link
$envy --version Print the installed version
0 Success, no warnings
1 Error or warnings found

Real responses

Paste any command and read the answer, exactly as the terminal prints it.

$envy diff
⚠ Missing (2):
   AWS_REGION
   REDIS_URL

ℹ Extra (1):
   DEBUG
$envy encrypt
🔑 generating local key...
✅ generated key at ~/.config/envy/key (0600, never leaves this machine)
✅ encrypted ./myapp/.env → ./myapp/.env.vault (AES-256-GCM, key: ~/.config/envy/key)
$envy validate
⚠ DATABASE_URL: looks like a URL but missing scheme (e.g. postgres://): "localhost:5432/db"
⚠ PORT: invalid port "abc"
⚠ 2 warning(s) in ./myapp

Envy vs other dotenv tools

Built for developers who want local control and no sign-up.

FeatureEnvydotenvxDopplerdirenv
Local-first Yes Yes No Yes
TUI interface Yes No No No
Zero account Yes Yes No Yes
Missing-key detection Yes No No No
Profile switching Yes No Yes No
Free forever Yes Yes No Yes

Install in 10 seconds

$ brew install systemendgame/tap/envy
macOS No account · No telemetry · MIT

What is a .env file manager?

A .env file manager helps you organize, validate and secure environment variables across multiple projects. Instead of juggling ten terminal windows, you get one workspace that groups every .env by git root, flags missing keys and switches profiles with a single command.

Unlike cloud-based secret managers such as Doppler or Infisical, Envy works entirely on your machine. There is no account, no subscription and no data leaving your computer, so the same tool fits personal projects, open source and air-gapped environments.

  • Find every .env file across your machine, grouped by project
  • Spot missing keys before a broken config reaches production
  • Switch between dev, staging and production profiles in one command
  • Encrypt files into AES-256-GCM vaults that are safe to commit

How to manage .env files across dev, staging and production

The profile switcher is the cleanest way to handle multiple environments. Keep one file per profile, for example .env.development, .env.staging and .env.production, then activate the current environment with envy switch staging.

A symlink swap activates the profile, and a guardrail asks for confirmation before switching to production so an accidental enter cannot point your app at live data. Combined with envy diff and envy encrypt, the whole lifecycle stays local, scriptable and auditable. When a port stays occupied, Port Hero finds the process and frees it safely.

Frequently Asked Questions

Real questions about managing .env files locally

Run envy list and it groups every .env by its git root. You get one overview of all your projects and can jump into any file with the TUI.

Start managing .env files the right way

One command, one binary. Your config stays local, your secrets stay encrypted.