direnv is an extension for your shell that automatically loads and unloads environment variables based on the current directory by checking for .envrc or .env files. This allows for project-specific settings, such as 12factor app variables or deployment secrets, without cluttering global profile files.
- Supports multiple shells including bash, zsh, fish, tcsh, elvish, powershell, murex, and nushell.
- Language-agnostic design implemented as a fast, single static executable.
- Uses sub-shells to safely capture environment changes for the active shell session.