autoenv
brew install autoenv
v0.4.0
MIT
Per-project, per-directory shell environments
81
30-day installs · #3767
299
90-day · #3544
1.5k
365-day · #3165
6.0k
★ GitHub stars · updated 9mo ago
Runtime dependencies
GitHub topics
bash
cd
environment
shell
shell-extension
shell-script
shell-scripts
terminal
zsh
Links
- https://github.com/hyperupcall/autoenv
- GitHub: hyperupcall/autoenv
- Brew formula source: Formula/a/autoenv.rb
Caveats
To finish the installation, source activate.sh in your shell: source $HOMEBREW_PREFIX/opt/autoenv/activate.sh
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": "To finish the installation, source activate.sh in your shell:\n source $HOMEBREW_PREFIX/opt/autoenv/activate.sh\n",
"conflicts_with": [],
"dependencies": [
"bash"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Per-project, per-directory shell environments",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:35:38+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "autoenv",
"github_default_branch": "main",
"github_last_commit_at": "2025-11-20T09:05:30Z",
"github_readme_excerpt": "# Autoenv: Directory-based Environments \n\nMagic per-project shell environments.\n\n## What is it?\n\nIf a directory contains an `.env` file, it will automatically be executed when you `cd` into it. And, if a directory contains an `.env.leave` file (and `AUTOENV_ENABLE_LEAVE` is a non-empty string), the file will automatically be executed when `cd`\u0027ing away from the directory that contains that file.\n\nThis is great for...\n\n- auto-activating virtualenvs\n- auto-deactivating virtualenvs\n- project-specific environment variables\n- making millions\n\nYou can also nest envs within each other. How awesome is that!?\n\nWhen executing, autoenv, will walk up the directories until the mount\npoint and execute all `.env` files beginning at the top.\n\n## Usage\n\nFollow the white rabbit:\n\n```sh\n$ echo \"echo \u0027whoa\u0027\" \u003e ./project/.env\n$ cd ./project\nwhoa\n```\n\n\n\n## Installation (automated)\n\nInstall with [cURL](https://curl.se):\n\n```sh\ncurl -#fLo- \u0027https://raw.githubusercontent.com/hyperupcall/autoenv/main/scripts/install.sh\u0027 | sh\n```\n\nInstall with [wget](https://www.gnu.org/software/wget):\n\n```sh\nwget --show-progress -o /dev/null -O- \u0027https://raw.githubusercontent.com/hyperupcall/autoenv/main/scripts/install.sh\u0027 | sh\n```\n\nIf you encounter some variant of a \"curl: command not found\" or \"wget: command not found\" error, please install either cURL or wget (with your package manager) and try again.\n\n## Installation (manual)\n\nWhen installing manually, you first install autoenv with either Homebrew, npm, or Git. Then, you run a command to ensure autoenv is loaded when you open a terminal (this command depends on your [default shell](https://askubuntu.com/a/590901)).\n\n### Installation Method\n\nNote that depending on your shell and operating system, you may need to write to `.zprofile` instead of `.zshrc`, or write to `.bash_profile` instead of `.b",
"github_repo": "hyperupcall/autoenv",
"github_stars": 6035,
"github_topics": [
"bash",
"cd",
"environment",
"shell",
"shell-extension",
"shell-script",
"shell-scripts",
"terminal",
"zsh"
],
"homepage": "https://github.com/hyperupcall/autoenv",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 81,
"installs_365d": 1532,
"installs_90d": 299,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "autoenv",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 3767,
"rank_365d": 3165,
"rank_90d": 3544,
"raw_hash": "749c2d89592a328d",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/a/autoenv.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.4.0",
"versioned_formulae": [],
"why_use_this": null
}