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

Global state management

Ranking updated Jul 4, 2026

For a library for managing global application state, the first results are dynaconf/dynaconf, vlucas/phpdotenv (This PHP library loads .env files and provides variable expansion, validation, secret management, and multi‑environment support — exactly what you need for managing environment variables in PHP applications, though it is PHP‑specific rather than language‑agnostic) and bkeepers/dotenv. dotenv-org/dotenv-vault and toddbluhm/env-cmd round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Compare the top global state management libraries for your project. We ranked the best options by activity and features to help you pick the right one.

Global state management

Find the best repos with AI.We'll search the best matching repositories with AI.
  • dynaconf/dynaconfdynaconf avatar

    dynaconf/dynaconf

    4,308View on GitHub↗

    Dynaconf is a configuration management library for Python applications that provides a unified system for loading, validating, and managing settings. It aggregates configuration data from multiple files, environment variables, and external stores into a single object using a defined precedence order. The project distinguishes itself through a layered environment manager that separates settings into distinct profiles, such as development and production. It includes a declarative validation framework to enforce data rules and type constraints during the loading process, as well as an external s

    Dynaconf is a full-featured Python configuration management library that loads settings from .env files, environment variables, and other sources with layered profiles, validation, and variable expansion, delivering exactly what this search needs for managing global config in Python applications.

    PythonDotenv Loaders
    View on GitHub↗4,308
  • vlucas/phpdotenvvlucas avatar

    vlucas/phpdotenv

    13,536View on GitHub↗

    phpdotenv is a PHP environment variable loader and configuration parser. It reads key-value pairs from files and populates them into PHP system environment variables and global arrays to avoid hardcoding sensitive settings in code. The project includes a configuration variable interpolator to resolve nested references and variables within environment files. It also provides an environment variable validator to ensure required variables exist and match specific data types or values. The system covers application secret management, multi-environment deployment, and the parsing of raw configura

    This PHP library loads .env files and provides variable expansion, validation, secret management, and multi‑environment support — exactly what you need for managing environment variables in PHP applications, though it is PHP‑specific rather than language‑agnostic.

    PHPEnvironment Variable Substitution
    View on GitHub↗13,536
  • bkeepers/dotenvbkeepers avatar

    bkeepers/dotenv

    6,758View on GitHub↗

    Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a configuration parser to extract variables into hashes and a loader to inject those pairs into the global environment. The project features a variable interpolator that resolves environment variables and shell command outputs within configuration values. It also provides a validator to verify that required configuration keys are present during application initialization. The toolset covers environment variable management, including the ability to generate configuration templates

    Dotenv is the original Ruby library for loading environment variables from .env files, with variable interpolation and validation built in — it exactly matches the core need for managing environment configuration, though it is Ruby-specific and lacks built-in secret management or typesafe definitions.

    RubyExternal Environment File Loaders
    View on GitHub↗6,758
  • dotenv-org/dotenv-vaultdotenv-org avatar

    dotenv-org/dotenv-vault

    1,244View on GitHub↗

    Dotenv-vault is a centralized platform for managing, synchronizing, and injecting encrypted environment variables across development, staging, and production environments. It functions as a secure vault that converts local configuration files into encrypted payloads, ensuring that sensitive credentials remain protected during version control and distribution. The platform distinguishes itself through its ability to maintain consistent configuration states across local machines and remote cloud infrastructure. It utilizes environment-specific key management and symmetric-key encryption to auth

    dotenv-vault is a tool for syncing and encrypting .env files across environments, directly supporting .env file management and secret handling, though it focuses on secure syncing rather than runtime loading of variables, making it a useful but narrower fit for this search.

    TypeScriptEnvironment Variable ManagementEncrypted Secret ManagementEncrypted Vaults
    View on GitHub↗1,244
  • toddbluhm/env-cmdtoddbluhm avatar

    toddbluhm/env-cmd

    1,818View on GitHub↗

    This project is a command-line utility that executes processes by injecting environment variables from local configuration files. It functions as a runtime wrapper, allowing developers to manage application settings and process execution contexts without modifying global system variables. The tool distinguishes itself by supporting dynamic configuration loading, which allows for the use of files that export objects or promises to compute values at runtime. It provides granular control over environment management, including the ability to group variables into named collections, protect existin

    env-cmd is a CLI tool that loads environment variables from local configuration files and injects them into running processes, which fits the need for managing global variables, but it focuses on process execution rather than being an importable library with typesafe definitions and secret management.

    TypeScriptShell Command RunnersApplication ConfigurationEnvironment Variable Loaders
    View on GitHub↗1,818
  • ddollar/foremanddollar avatar

    ddollar/foreman

    6,153View on GitHub↗

    Manage Procfile-based applications

    Foreman is a process manager that loads .env files for Procfile-based apps, but its core job is running processes, not providing a dedicated environment-variable management library with the features you need like variable expansion, type safety, or multi-language bindings.

    RubyEnvironment File LoadersExternal Environment File Loaders
    View on GitHub↗6,153
  • caarlos0/envcaarlos0 avatar

    caarlos0/env

    6,004View on GitHub↗

    env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,

    caarlos0/env is a Go library for mapping environment variables to struct fields with support for expansion and defaults, but it reads from the OS environment rather than .env files, so it lacks the dotenv file loading that this search requires.

    GoEnvironment Variable Substitution
    View on GitHub↗6,004
  • jdx/misejdx avatar

    jdx/mise

    29,929View on GitHub↗

    Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma

    Mise manages environment variables as part of its development environment orchestration, but its primary identity is a version manager and task runner, not a dedicated dotenv or environment-variable library with standalone .env file loading and multi-language bindings.

    RustExternal Environment File Loaders
    View on GitHub↗29,929
  • laravel-zero/laravel-zerolaravel-zero avatar

    laravel-zero/laravel-zero

    3,962View on GitHub↗

    This project is a micro-framework designed for building standalone command-line applications and terminal utilities using PHP. It provides a structured environment for developing console tools, incorporating a dependency injection container to manage object lifecycles and a service provider system to handle modular application bootstrapping. The framework distinguishes itself by offering built-in capabilities for compiling applications into self-contained, portable executable binaries. It also includes a centralized task scheduling engine that allows developers to define and execute recurring

    Laravel Zero is a PHP micro‑framework for building standalone CLI applications; while it may incorporate .env file loading as a utility, it is not a dedicated environment‑variable or dotenv management library.

    PHPCLI Development FrameworksConsole Application FrameworksBinary Packagers
    View on GitHub↗3,962
  • lightbend/configlightbend avatar

    lightbend/config

    6,309View on GitHub↗

    This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,

    lightbend/config is a JVM-focused configuration library for HOCON and properties files that incorporates environment variables, but it does not support .env files natively, lacks multi-language bindings, and is not specifically an environment variable or dotenv management tool.

    JavaEnvironment Variable Substitution
    View on GitHub↗6,309
  • huachao/vscode-restclientHuachao avatar

    Huachao/vscode-restclient

    6,010View on GitHub↗

    This is a Visual Studio Code extension that lets developers compose, send, and inspect HTTP requests directly from within the editor. It uses .http and .rest files as executable request definitions, parsing each block of text into a complete HTTP request that is dispatched via Node.js built-in HTTP modules without requiring a separate server process. The extension renders full HTTP responses with syntax-highlighted body, status line, and headers in a dedicated editor tab or side panel. The extension supports multiple authentication schemes including Basic, Digest, SSL certificates, Azure

    This is a VS Code extension for sending HTTP requests, not a dedicated tool for defining and managing environment variables; it supports environment variable substitution as a secondary feature within request files, but its core purpose is REST client functionality, not dotenv management.

    TypeScriptEnvironment Variable Substitution
    View on GitHub↗6,010
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
dynaconf/dynaconf4.3KPythonMITJun 16, 2026
vlucas/phpdotenv13.5KPHPBSD-3-ClauseDec 27, 2025
bkeepers/dotenv
6.8K
Ruby
MIT
Dec 3, 2025
dotenv-org/dotenv-vault1.2KTypeScriptMITJun 26, 2025
toddbluhm/env-cmd1.8KTypeScriptMITFeb 9, 2026
ddollar/foreman6.2KRubyMITJul 27, 2025
caarlos0/env6KGomitFeb 17, 2026
jdx/mise29.9KRustMITJun 23, 2026
laravel-zero/laravel-zero4KPHP—Jun 10, 2026
lightbend/config6.3KJava—Jun 4, 2026

Related searches

  • API request validator
  • Global state management
  • Language definition files
  • Compiler directives
  • Error management library
  • Data structure library
  • Code generation tools
  • a library for parsing programming languages