Skip to content

How It Works

lazyenv treats .env.example as the contract and your secret store as the source of truth for values.

  1. Define keys in .env.example.
  2. Initialize a project (lazyenv init) which writes .lazyenv/config.json.
  3. Sync values to the store (lazyenv sync).
  4. Pull values locally (lazyenv pull) when you need .env files.
  5. Run commands with injected env (lazyenv run).

lazyenv loads config files from the current directory up to the repo root.

  • .lazyenv/config.json can exist at multiple levels.
  • .lazyenv/config.local.json overrides the sibling config and is intended to be git‑ignored.
  • root: true in a config stops the upward search.

Each .env.example file becomes a workspace folder mapping:

  • local path → store secretPath
  • keys can overlap across folders without collisions

See Workspace Folders for details.