awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
hyperupcall avatar

hyperupcall/autoenv

0
View on GitHub↗
6,034 stars·272 forks·Shell·MIT·16 views

Autoenv

autoenv is a directory-based environment manager and shell workflow automator that automatically loads and unloads environment variables and scripts based on the current working directory. It functions as a hierarchical variable loader, applying configuration settings according to the directory hierarchy to isolate project environments.

The utility includes a checksum-based script validator that ensures security by requiring user approval before sourcing detected files. Once a file is authorized, the system remembers the trust setting by verifying file hashes, prompting the user again only if the content changes.

The tool manages the full lifecycle of a shell session by executing setup scripts upon entering a folder and running dedicated cleanup scripts when exiting. It prevents configuration leakage between projects by tracking and unsetting specifically loaded variables and injecting contextual metadata into the shell for use in conditional logic.

Features

  • Directory-Triggered Variable Loading - Automatically loads and unloads environment variables and executes scripts triggered by directory changes.
  • Environment State Restorers - Tracks loaded variables to restore the previous shell state and prevent configuration leakage between projects.
  • Hierarchical Loaders - Applies environment settings according to the directory hierarchy by traversing from the root to the project folder.
  • Directory Exit Script Executions - Executes specific cleanup files upon leaving a directory to purge temporary environment settings.
  • Project Workflow Automation - Automates development setup by loading required secrets and executing project-specific scripts upon directory entry.
  • Shell Context Automations - Executes setup and cleanup scripts triggered by directory transitions to manage temporary shell resources.
  • Shell Configuration Management - Provides a framework for managing nested environment variables and cleanup scripts tied to a local directory hierarchy.
  • Environment Variable Scrubbers - Automatically removes shell variables when leaving a directory to maintain strict isolation between project environments.
  • Project-Specific Shell Isolation - Isolates project configurations by managing distinct shell variables based on the current working directory.
  • Shell Configuration Isolators - Prevents configuration leakage between projects by tracking and unsetting shell variables when leaving a directory.
  • Directory Transition - Runs dedicated cleanup scripts upon exiting directories to remove temporary variables and tear down resources.
  • Hierarchical Configuration Systems - Manages nested environment variables that apply settings based on the directory position in the filesystem.
  • Hierarchical Configuration Lookups - Traverses the directory hierarchy from root to project folder to source nested environment configurations.
  • Dynamic Variable Injection - Provides dynamic variable injection into the shell session based on the current working directory.
  • Scripting Context Providers - Exposes the current directory and sourced file as variables to enable conditional logic within environment scripts.
  • Checksum Verifiers - Uses file hashes to remember which environment scripts have been authorized by the user.
  • Trust Validation - Implements a security layer that requires user approval for scripts based on checksum verification.
  • Trusted Environment Loaders - Requires user confirmation and verifies file hashes before sourcing detected environment files.
  • Shell Environment Automators - Executes dedicated setup and cleanup scripts automatically upon entering or exiting project folders.
  • Shell Environment Injections - Injects dynamic metadata about paths and scripts into the shell environment to facilitate conditional logic.
  • Script Integrity Validators - Implements a checksum-based validator to ensure shell scripts are authorized and untampered before being sourced.
  • Shell Frameworks - Manages environment variables based on the current directory.
  • Terminal Productivity - Directory-based environment variable management.

Star history

Star history chart for hyperupcall/autoenvStar history chart for hyperupcall/autoenv

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does hyperupcall/autoenv do?

autoenv is a directory-based environment manager and shell workflow automator that automatically loads and unloads environment variables and scripts based on the current working directory. It functions as a hierarchical variable loader, applying configuration settings according to the directory hierarchy to isolate project environments.

What are the main features of hyperupcall/autoenv?

The main features of hyperupcall/autoenv are: Directory-Triggered Variable Loading, Environment State Restorers, Hierarchical Loaders, Directory Exit Script Executions, Project Workflow Automation, Shell Context Automations, Shell Configuration Management, Environment Variable Scrubbers.

What are some open-source alternatives to hyperupcall/autoenv?

Open-source alternatives to hyperupcall/autoenv include: direnv/direnv — direnv is a shell environment manager and directory-based environment loader that automatically loads and unloads… bash-it/bash-it — Bash-it is a framework for organizing and enhancing the Bash shell environment. It provides a structured system for… jorgebucaran/fisher — Fisher is a plugin manager and shell extension manager specifically for the Fish shell. It provides a system for… ohmybash/oh-my-bash — Oh My Bash is a shell framework designed to manage the Bash environment through a modular configuration system. It… conda/conda — Conda is a binary package manager, cross-platform environment manager, and dependency resolution engine. It serves as… craftzdog/dotfiles-public — This project is a cross-platform dotfiles collection and shell configuration framework designed to standardize…

Open-source alternatives to Autoenv

Similar open-source projects, ranked by how many features they share with Autoenv.
  • direnv/direnvdirenv avatar

    direnv/direnv

    15,189View on GitHub↗

    direnv is a shell environment manager and directory-based environment loader that automatically loads and unloads environment variables when switching between directories. It functions as a shell hook automation tool, injecting logic into the shell configuration to trigger environment updates based on the current project context. The project acts as a development environment isolator by localizing shell configurations, which prevents dependency conflicts and removes project-specific exports from global profile files. It includes specialized integration for Nix, allowing the loading of environ

    Go
    View on GitHub↗15,189
  • bash-it/bash-itBash-it avatar

    Bash-it/bash-it

    15,104View on GitHub↗

    Bash-it is a framework for organizing and enhancing the Bash shell environment. It provides a structured system for managing aliases, custom scripts, and environment settings to prevent clutter in the primary configuration file. The project includes a prompt customizer with predefined visual themes and a suite of intelligent command completions designed to increase typing speed and reduce input errors. The framework covers broad capability areas including shell configuration management, visual appearance customization, and environment troubleshooting through diagnostic utilities.

    Shellbashbash-aliasbash-completion
    View on GitHub↗15,104
  • jorgebucaran/fisherjorgebucaran avatar

    jorgebucaran/fisher

    9,300View on GitHub↗

    Fisher is a plugin manager and shell extension manager specifically for the Fish shell. It provides a system for installing, updating, and removing plugins, themes, functions, and completion scripts. The tool uses a flat-file state persistence method to track installed extensions in a plain text file, which enables the synchronization of shell environments across different systems using version control. It covers the full lifecycle of shell extensions, including the discovery of installed plugins, the installation of packages from remote repositories, and the development of distributable she

    Shellfishfish-pluginplugin-manager
    View on GitHub↗9,300
  • conda/condaconda avatar

    conda/conda

    7,444View on GitHub↗

    Conda is a binary package manager, cross-platform environment manager, and dependency resolution engine. It serves as a software repository manager that enables the installation and update of pre-compiled binaries and their dependencies across different operating systems. The system creates isolated execution spaces to prevent dependency conflicts between projects and uses a solver to calculate compatible package versions based on constraints from available repositories. It supports the creation of custom software packages from recipes, which can be hosted in public or private channels for di

    Python
    View on GitHub↗7,444
  • See all 30 alternatives to Autoenv→