30 open-source projects similar to indexzero/nconf, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nconf alternative.
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
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
This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring Boot applications. It serves as a microservice communication framework that enables the implementation of RPC services, service discovery, and distributed governance through automated configuration. The project distinguishes itself by providing a cross-language RPC bridge, allowing services written in different languages to communicate via standards such as gRPC and Protobuf. It further enables the exposure of backend microservices as REST endpoints using the Triple protocol for
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
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
Hydra is a hierarchical configuration framework and type-safe configuration manager. It is designed to manage complex application settings through composable configuration files and command-line overrides, ensuring that configuration values match expected data types during instantiation. The framework functions as a dynamic object instantiator that creates class instances directly from hierarchical configuration values and nested objects. It also operates as a hyperparameter sweep orchestrator and cluster job launcher, enabling the execution of multiple application runs across parameter range
Figaro is a configuration manager for Ruby on Rails applications that loads key-value pairs from YAML files and injects them into environment variables. It functions as a configuration validator, raising errors during startup if mandatory configuration keys are missing from the environment to prevent runtime crashes. The project includes a command-line utility for synchronizing local environment settings to remote hosting platforms and production servers. This allows for the generation of remote configuration files based on local source data. The system supports environment-specific settings
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
Stylelint is a static code analysis tool and linter for CSS and style-like languages. It identifies errors, enforces coding conventions, and operates as a PostCSS plugin to validate stylesheets during build pipelines. The project distinguishes itself through support for non-standard syntaxes, including preprocessor parsing for SCSS and Less, and the ability to extract and lint embedded styles from JavaScript, HTML, and template literals. It features an automated fixing system that programmatically corrects repairable styling violations to ensure consistency. The system provides a plugin arch
Environ is a Clojure library designed to manage application configuration by consolidating settings from environment variables, system properties, and local files into a single, unified map. It facilitates the externalization of application settings, supporting the practice of injecting environment-specific configurations at runtime to maintain code portability. The library distinguishes itself by implementing a global registry pattern that allows decoupled components to access configuration without passing state through the call stack. It performs automatic key normalization by converting un
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
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
cross-env is a Node.js command line utility and cross-platform shell script runner. It functions as an environment variable setter that ensures variables are handled identically across Windows, macOS, and Linux. The tool standardizes variable assignment by wrapping shell execution in a uniform interface, allowing scripts to run consistently regardless of the underlying operating system. This enables the use of a single syntax for environment configuration across diverse shell environments. The project covers capabilities for automated build tooling, Node.js environment configuration, and the
This project is a standardized machine learning experiment boilerplate and project template that combines PyTorch Lightning with the Hydra configuration framework. It provides a structured codebase for organizing deep learning workflows, specifically designed to integrate hierarchical configuration management with distributed training. The template features a specialized workflow for hyperparameter optimization and batch experiment execution, allowing for automated parameter sweeps without modifying source code. It employs a hierarchical system for managing settings via YAML files and command
This tool is a command-line utility designed to manage sensitive data by encrypting specific values within structured files such as YAML or JSON. By protecting only the sensitive portions of a file while leaving the structure intact, it ensures that configuration files remain readable for version control systems and automated workflows. The utility provides a secure development workflow by transparently decrypting files into memory for editing and automatically re-encrypting them upon saving, which prevents plaintext secrets from being written to the local disk. It supports a variety of encry
This project is a cross-platform development framework and managed runtime environment designed for building high-performance applications. It provides a comprehensive toolkit for constructing web services, cloud-native microservices, and desktop applications, utilizing a unified runtime that handles memory management and execution across diverse operating systems. The framework distinguishes itself through a native ahead-of-time compilation toolchain that transforms source code into optimized, self-contained machine code binaries. This capability enables fast startup times and reduced memory
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,
Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions. The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services. The project covers a broad range of web capabilities, inc
Lura is an API gateway and traffic router that directs network requests to backend services using a configurable pipeline of processing steps. It functions as a backend load balancer and a request middleware engine designed to validate, modify, and transform incoming requests and responses. The system specializes in API response aggregation, allowing it to execute concurrent requests to multiple backend services and merge the results into a single unified output. This includes the ability to perform dynamic response mapping by renaming fields and filtering data to optimize the final client pa
This repository is a collection of implementation patterns, tutorial code, and practical examples for building web applications with the Gin framework in Go. It serves as a guide for learning how to structure Go web servers, specifically focusing on mapping URL paths to handler functions and managing request flow. The project provides demonstrations of middleware implementation for tasks such as authentication, logging, and rate limiting. It also includes reference examples for developing REST APIs, with a focus on structuring data and sending JSON responses to clients.
node-lessons is a comprehensive Node.js programming course and instructional guide. It provides a collection of guided lessons and code examples designed to teach the fundamentals of the Node.js runtime and server-side JavaScript development. The project serves as a practical guide for building web servers and backend applications, specifically covering the implementation of HTTP servers, request routing, and middleware chains. It includes specialized instructional material on managing asynchronous JavaScript workflows through promises and flow control, as well as guides for integrating NoSQL
This project provides a collection of architectural guidelines and operational standards for building secure, maintainable, and scalable server-side software systems. It establishes a framework for implementing consistent development environments, system observability, and data security practices across distributed application environments. The repository focuses on standardizing software engineering conventions to ensure environment parity and system transparency. It covers the implementation of aggregated health monitoring, request throttling, and secure data handling, including the use of
Sops is a secrets encryption tool designed to encrypt and decrypt sensitive values within configuration files. It functions as a manager for secrets that integrates with cloud key vaults and PGP keys to secure data stored in version-controlled files. The tool utilizes structure-preserving encryption to encrypt individual values while keeping the overall file format and non-sensitive keys intact. It employs a KMS-backed encryption model, interfacing with external key management services from AWS, GCP, and Azure to handle cryptographic operations without exposing private keys locally. The proj
Luban is a game configuration toolchain designed to convert spreadsheet-based data into optimized binary formats and type-safe source code for multiple languages. It functions as a comprehensive suite for configuration validation, data serialization pipelines, and code generation to ensure data consistency across different platforms. The system features a multi-language code generator that produces strongly-typed data classes from schemas, eliminating the need for reflection. It includes a localization manager for exporting translated text and assets with locale-specific patching, and a seria
Geocoder is a PHP library for converting addresses to geographic coordinates and coordinates back into addresses using various third-party services. It functions as a multi-provider geocoding wrapper and a reverse geocoding engine, providing an abstraction layer to manage multiple geocoding APIs. The project allows for switching between providers or chaining requests for failover to ensure high availability. It also serves as a GeoIP location resolver, translating IP addresses into geographic coordinates and location details through either remote services or local binary databases. The libra
Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation. The project distinguishes itself by acting as both a configuration file generator and a binding generator. It transforms high-level programmable definitions into static formats such as JSON, YAML, or XML, and produces language-specific source code to synchronize settings and provide type s
Paperless-ng is a self-hosted document management system designed to archive physical paperwork as searchable digital files. It functions as a private server for scanning, indexing, and organizing a digital library of documents through a web interface. The system acts as an encrypted file archive, utilizing a privacy guard backend to secure stored documents. It provides automatic on-the-fly decryption during the download process to ensure that archived records remain protected while in storage. The platform incorporates optical character recognition to convert scanned images and PDFs into se
OpenWeChat is a Go language software development kit and API wrapper designed for integrating WeChat messaging and account management into Go applications. It serves as a bot framework and messaging library for handling real-time chat events and programmatic interactions with the platform. The project provides a comprehensive system for session management, including QR code authentication and the persistence of session cookies in JSON format to maintain access across restarts. It distinguishes itself by offering capabilities to intercept and preserve messages that senders attempt to revoke, a
Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,
Melody is a cross-platform music downloader and archive manager designed to retrieve audio tracks from various video and audio websites for local or cloud storage. It functions as a playlist synchronizer that automatically copies songs from online playlists to personal storage via scheduled background tasks. The system includes a music track recovery mechanism that identifies unplayable or deleted songs in a playlist and replaces them with functional versions found in public web resources. It utilizes a cloud storage media pipeline to stream discovered audio files from source servers through