30 open-source projects similar to lightbend/config, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Config alternative.
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
This project is a PHP configuration management library used to define, load, and validate application settings. It functions as a configuration merging engine and a schema validator, ensuring that software behaves consistently across different installations. The library acts as a multi-format configuration loader that converts settings from various file types, such as YAML and XML, into a standardized internal format. It allows for the establishment of formal configuration schemas with validation rules and default values to prevent runtime errors caused by invalid inputs. The system supports
This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust
Cosmiconfig is a Node.js configuration loader used to find and load application settings from package manifests, rc files, and TypeScript modules. It functions as a directory-tree search tool and multi-format config parser that converts settings into JavaScript objects. The system distinguishes itself through a configuration transformation engine that supports merging base configurations and applying custom functions to parsed results. It employs a memoized transformation cache to store these results in memory, reducing filesystem overhead and avoiding repeated expensive computations. The li
Falcor is a JavaScript library that models remote data as a single virtual JSON graph, providing a path-based query engine for efficient client-side data retrieval and updates. It represents multiple remote data sources as a unified document where entities are accessed via globally unique identity paths. The system distinguishes itself by treating the remote data model as a virtual JSON resource, allowing the client to query specific paths without managing individual endpoints. It uses a reference-aware graph model to handle many-to-many relationships and prevents data duplication. Network ef
This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax. The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again. The project provi
Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil
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
tmuxp is a session manager and workspace automator for tmux. It allows for the creation, saving, and restoration of terminal session layouts using YAML or JSON configuration files, serving as a programmatic layer built on libtmux. The project distinguishes itself by acting as both a workspace generator and a layout exporter. It can instantiate live environments from structured definitions and conversely capture the state of active sessions to save them as portable configuration files. It further supports extensibility through a plugin framework and custom builder logic to modify session lifec
SpringCloud-Learning is an educational project that demonstrates how to build microservices using Spring Cloud, covering the core patterns of service discovery, centralized configuration management, and API gateway routing. The project provides hands-on examples for registering and discovering microservice instances with Nacos, Eureka, or Consul, and for routing external API requests through Spring Cloud Gateway with support for filters and load balancing. The tutorials explore service resilience through circuit breakers and rate limiting with Sentinel and Hystrix, including custom fallback l
The configuration-as-code plugin for Jenkins translates automation server settings and plugin parameters into human-readable YAML files, enabling reproducible server environments and version-controlled infrastructure management. It replaces manual web interface setup tasks with declarative text-based definitions for administrative settings, authentication backends, and access control. The system features dynamic data-binding capabilities that map text definitions directly to component properties using reflection and type inspection, alongside dynamic schema generation that produces validation
Sass-lint is a static analysis engine designed to enforce coding standards and maintain consistent syntax across Sass and SCSS codebases. As a command-line utility, it integrates into development workflows and build pipelines to automate the validation of stylesheets, ensuring that formatting and best practices are applied consistently throughout a project. The tool distinguishes itself through a flexible configuration system that supports recursive rule inheritance and custom overrides, allowing for the management of complex, large-scale project requirements. It provides granular control ove
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
lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
ClashX.Meta is a macOS desktop application that provides a graphical interface for managing the Clash proxy engine. It enables rule-based traffic routing using domain, IP, and GeoIP rules, and allows users to manage proxy configurations and toggle system proxy settings directly from the menu bar. The application serves as a full-featured client for controlling the core proxy daemon on macOS. The project includes a YAML-based configuration manager with built-in schema validation, ensuring proxy profiles are valid before activation. It also provides a TUN virtual network stack that captures all
This project is a shell-based installation suite designed to set up the software toolchain required for artificial intelligence software development. It provides a standardized collection of programming languages, libraries, and system utilities to prepare a local machine for a software engineering bootcamp. The suite utilizes automated shell scripts to handle dependency-driven installations and system configuration. It includes cross-platform setup guides and OS-detection branching to apply the correct binary versions and installation paths across different hardware. The toolchain is organi
Rushstack is a comprehensive toolset for managing large-scale TypeScript monorepos, providing a framework for build pipeline automation, dependency coordination, and static analysis. It functions as an incremental build orchestrator and management system designed to maintain consistency and performance across multiple packages in a shared workspace. The system distinguishes itself through an execution model based on directed acyclic graphs and content-hash-based incrementalism, which ensures only affected projects are rebuilt. It further optimizes development workflows via remote build artifa
collect.js is a dependency-free JavaScript library that provides a fluent, chainable interface for manipulating arrays and objects. It mirrors the Laravel Collection API, offering a consistent set of methods for data transformation across JavaScript and Laravel backend environments. The library stores collection data as plain arrays internally and supports fluent method chaining, where each method returns a new collection instance. The library distinguishes itself by closely replicating the Laravel Collection API in JavaScript, mapping each PHP method to an equivalent JavaScript implementatio
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.
ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.
IntentKit is an open-source platform for deploying and managing a collaborative team of AI agents that can work together to complete complex tasks. It provides a self-hosted agent orchestrator that coordinates multiple agents through a modular pipeline of entrypoints, orchestration, and storage, all running as containerized services using Docker Compose or Swarm for production-grade deployment. The platform distinguishes itself by offering a plugin-based system for extending agent capabilities without modifying the core codebase, along with built-in integrations for connecting agents to socia
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,
CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell input to typed variables and supports the creation of complex command hierarchies. The library is distinguished by its support for nested subcommands with infinite depth and prefix matching. It integrates configuration management by allowing application settings to be loaded from TOML or INI files, with the ability to fall back to environment variables. The project provides a comprehensive set of tools for argument parsing, including flags and positional arguments, alongside
jx is a GitOps delivery platform and Kubernetes CI/CD orchestrator designed to automate the building and deployment of applications. It functions as a cloud native pipeline manager that executes container-based build and deployment sequences using a catalog of reusable tasks. The project distinguishes itself through the automated orchestration of preview environments, which are created and destroyed based on pull request activity to enable validation before merging. It employs a GitOps-based state synchronization model to maintain the desired state of clusters by polling git repositories and
Kraken-js is a configuration-driven server manager and application framework for bootstrapping Node.js web applications. It provides a system for defining server behavior, middleware chains, and environment settings through JSON files rather than manual code. The framework focuses on separating application logic from infrastructure setup by resolving and injecting middleware into the request chain based on external configuration. It utilizes environment-based configuration merging to override baseline settings with context-specific values during startup. The system covers server security thr
The Azure SDK for .NET is a collection of client and management libraries that enable .NET applications to interact with cloud services through a consistent, well-defined programming model. It provides a unified interface for authenticating, configuring HTTP pipelines, and calling service methods either synchronously or asynchronously, with support for pagination, long-running operations, and structured error handling. The SDK distinguishes itself through comprehensive authentication options, including connection strings, OAuth token credentials, managed identity, service principals, and deve
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The