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
Back to kelseyhightower/envconfig

Projects sharing features with Envconfig

30 open-source projects similar to kelseyhightower/envconfig, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • alecthomas/kongalecthomas avatar

    alecthomas/kong

    2,976View on GitHub↗

    Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg

    Gocommand-linecommandsflags
    View on GitHub↗2,976
  • 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,

    Goconfigconfigurationenvironment
    View on GitHub↗6,004
  • joho/godotenvjoho avatar

    joho/godotenv

    10,483View on GitHub↗

    godotenv is a Go library designed to load, parse, and serialize environment configuration files. It provides tools to extract configuration data from files into maps and inject those key-value pairs directly into the system environment of a Go application process. The project includes a configuration file serializer for exporting environment variable maps back into formatted files and a parser for extracting data without modifying the system environment. It supports injecting variables from strings or files into the process environment using priority-based overloading and overwriting. The li

    Godotenvenvironment-variablesgo
    View on GitHub↗10,483

AI search

Explore more awesome repositories

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

Find more with AI search
  • theskumar/python-dotenvtheskumar avatar

    theskumar/python-dotenv

    8,794View on GitHub↗

    python-dotenv is a library and command line interface for managing environment variables in Python applications. It functions as a configuration parser and loader that reads key-value pairs from files and injects them into the system environment, enabling the decoupling of application configuration from source code. The project provides a command line interface for manipulating and editing environment variables within configuration files. It also includes a mechanism for recursive variable interpolation, allowing dynamic placeholders within configuration files to be resolved using existing en

    Python
    View on GitHub↗8,794
  • knadh/koanfknadh avatar

    knadh/koanf

    3,871View on GitHub↗

    koanf is a configuration management library for Go designed to load, merge, and unmarshal application settings from multiple sources into structured objects. It functions as a multi-source config loader that aggregates data from environment variables, files, and remote providers into a single unified map. The system utilizes a pluggable architecture for parsing and data abstraction, allowing it to transform bytes from formats such as JSON, YAML, and TOML into nested maps. It supports dynamic configuration watching to monitor external sources and trigger automatic reloads when settings change.

    Goconfigconfig-loaderconfiguration
    View on GitHub↗3,871
  • mitchellh/mapstructuremitchellh avatar

    mitchellh/mapstructure

    8,033View on GitHub↗

    mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags

    Go
    View on GitHub↗8,033
  • lorenwest/node-configlorenwest avatar

    lorenwest/node-config

    6,425View on GitHub↗

    node-config is a configuration manager for Node.js applications that loads, merges, and manages application settings across different deployment environments. It functions as a hierarchical configuration loader that defines default settings and overrides them based on the environment, hostname, or instance ID. The project provides an environment variable mapper to link external variables and command line arguments to internal configuration structures. It also includes an external configuration client to fetch settings from remote providers during the bootstrap process. The system supports cu

    JavaScript
    View on GitHub↗6,425
  • burntsushi/tomlBurntSushi avatar

    BurntSushi/toml

    4,904View on GitHub↗

    This is a TOML parser and serializer for the Go language. It serves as a data serialization library and configuration file mapper that encodes and decodes data between Go structures and the TOML configuration format. The library provides interfaces for custom type marshaling, allowing for specialized logic when parsing or serializing specific data types. It transforms structured objects into deterministic TOML documents for storage or transmission. The project covers a broad range of data processing capabilities, including structured value encoding, TOML data generation, and metadata inspect

    Go
    View on GitHub↗4,904
  • one-com/goneOne-com avatar

    One-com/gone

    51View on GitHub↗

    Golang packages for writing small daemons and servers.

    Godaemongolanglogging-library
    View on GitHub↗51
  • beatlabs/harvesterbeatlabs avatar

    beatlabs/harvester

    134View on GitHub↗

    Harvest configuration, watch and notify subscriber

    Goconfiguration-managementgogolang
    View on GitHub↗134
  • ufoscout/go-upufoscout avatar

    ufoscout/go-up

    43View on GitHub↗

    go-up! A simple configuration library with recursive placeholders resolution and no magic.

    Go
    View on GitHub↗43
  • the4thamigo-uk/conflatethe4thamigo-uk avatar

    the4thamigo-uk/conflate

    36View on GitHub↗

    Library providing routines to merge and validate JSON, YAML and/or TOML files

    Go
    View on GitHub↗36
  • hjson/hjson-gohjson avatar

    hjson/hjson-go

    353View on GitHub↗

    Hjson for Go

    Gogohjson
    View on GitHub↗353
  • lalamove/konfiglalamove avatar

    lalamove/konfig

    646View on GitHub↗

    Composable, observable and performant config handling for Go for the distributed processing era

    Gocomposableconfigconfiguration
    View on GitHub↗646
  • spf13/viperspf13 avatar

    spf13/viper

    30,306View on GitHub↗

    Viper is a configuration management library designed to centralize application settings from diverse sources into a unified, type-safe registry. It aggregates data from local files, environment variables, command-line flags, and remote key-value stores, providing a single source of truth for application state. By utilizing a hierarchical key-value registry, the system resolves configuration values based on a prioritized stack of providers, ranging from default values to runtime overrides. The library distinguishes itself through its pluggable provider abstraction and dynamic update capabiliti

    Go
    View on GitHub↗30,306
  • heetch/confitaheetch avatar

    heetch/confita

    507View on GitHub↗

    Load configuration in cascade from multiple backends into a struct

    Goconfigurationconfiguration-loadergolang
    View on GitHub↗507
  • gookit/configgookit avatar

    gookit/config

    583View on GitHub↗

    📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名

    Goconfigconfig-managementconfiguration
    View on GitHub↗583
  • vrischmann/envconfigvrischmann avatar

    vrischmann/envconfig

    250View on GitHub↗

    Small library to read your configuration from environment variables

    Goconfigurationgogolang
    View on GitHub↗250
  • antham/envhantham avatar

    antham/envh

    100View on GitHub↗

    Go helpers to manage environment variables

    Goconfiguration-managementenvironmentgolang
    View on GitHub↗100
  • go-ini/inigo-ini avatar

    go-ini/ini

    3,542View on GitHub↗

    Package ini provides INI file read and write functionality in Go

    Goconfigurationgoini
    View on GitHub↗3,542
  • jeremyloy/configJeremyLoy avatar

    JeremyLoy/config

    339View on GitHub↗

    12 factor configuration as a typesafe struct in as little as two function calls

    Go12-factorcloudconfiguration
    View on GitHub↗339
  • t3-oss/t3-envt3-oss avatar

    t3-oss/t3-env

    3,782View on GitHub↗

    t3-env is a type-safe environment manager and schema validator for TypeScript. It maps environment variables to static types to provide autocompletion and prevents configuration errors through a system that verifies required variables are present and correctly formatted before an application starts. The project enforces strict variable scope to isolate server-side secrets from the client browser, preventing sensitive data from leaking into client-side bundles. It also provides configuration presets tailored to the naming conventions of specific hosting and deployment platforms. The library i

    TypeScript
    View on GitHub↗3,782
  • pallets/clickpallets avatar

    pallets/click

    17,560View on GitHub↗

    Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro

    Pythoncliclickpallets
    View on GitHub↗17,560
  • symfony/dotenvsymfony avatar

    symfony/dotenv

    3,790View on GitHub↗

    This library is a PHP environment variable loader and configuration parser. It extracts key-value pairs from local text files to populate global server and system environment arrays, ensuring that sensitive credentials and application settings remain separate from the source code. The tool implements twelve-factor app configuration principles by mapping local files to process-level variables. It utilizes a regex-based parser to identify variable assignments while stripping comments and whitespace, and it includes guards to prevent local configuration files from overwriting existing host-level

    PHP
    View on GitHub↗3,790
  • alexeymezenin/laravel-best-practicesalexeymezenin avatar

    alexeymezenin/laravel-best-practices

    12,299View on GitHub↗

    This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The

    View on GitHub↗12,299
  • cacjs/caccacjs avatar

    cacjs/cac

    2,923View on GitHub↗

    cac is a Node.js CLI framework used to build command line interfaces with a declarative API. It functions as a command line argument parser and a command dispatcher that maps terminal input keywords to specific JavaScript callback functions. The framework features an automated help generator that produces usage instructions and version documentation based on the defined command structures. It manages command aliases and provides a routing system to link specific keyword inputs to execution logic. The toolkit covers command interface definition, including the configuration of global and comma

    TypeScriptclicommand-linecommander
    View on GitHub↗2,923
  • 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

    Ruby
    View on GitHub↗6,758
  • hashicorp/hclhashicorp avatar

    hashicorp/hcl

    5,788View on GitHub↗

    HCL is a configuration language implementation designed for parsing, evaluating, and encoding structured settings through the use of blocks and attributes. It functions as a configuration AST parser and a schema-based decoder that maps attributes and blocks to internal data structures using predefined rules. The project includes an expression evaluation engine that resolves dynamic values and cross-references through multi-phase processing of variables and functions. It also provides a configuration file formatter to standardize the layout and indentation of source code for consistent visual

    Goconfiguration-languagehashicorphcl
    View on GitHub↗5,788
  • fastapi/typerfastapi avatar

    fastapi/typer

    19,632View on GitHub↗

    This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili

    Pythoncliclickpython
    View on GitHub↗19,632
  • go-validator/validatorgo-validator avatar

    go-validator/validator

    1,335View on GitHub↗

    This project is a data validation framework for the Go programming language that enforces integrity by applying declarative constraints to struct fields. It utilizes reflection to inspect data structures at runtime, mapping field-level requirements defined in struct tags to specific validation logic. The library distinguishes itself through its ability to handle complex object graphs by recursively traversing nested structures and slices. It supports context-aware validation, allowing developers to switch between different rule sets for the same data structure based on application state or sp

    Go
    View on GitHub↗1,335