direnv 2.28.0 Environment switcher for the shell

direnv can hook into the bash, zsh, tcsh, and fish shells to load or unload environment variables depending on the current directory. This allows project-specific environment variables without using ~/.profile.

Before each prompt, direnv checks for the existence of a .envrc file in the current and parent directories. This file is then used to alter the environment variables of the current shell.