30 open-source projects similar to kentcdodds/cross-env, 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.
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
Cake is a cross-platform build automation system and scripting framework that allows users to define software build pipelines using C# scripts. It functions as a CI/CD pipeline orchestrator and build runner, providing a strongly-typed domain-specific language to simplify the orchestration of compilation, testing, and packaging processes across Windows, Linux, and macOS. The system ensures reproducible build environments by pinning the versions of build tools, modules, and dependencies. It distinguishes itself by enabling a C# scripting workflow with full IDE support, including autocomplete, s
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
Metalsmith is a Node.js static site generator and static content processor that transforms source files into websites, eBooks, or technical documentation. It functions as a file-to-object transformer, converting directory trees into plain JavaScript objects that can be programmatically manipulated in memory. The project is built around a pluggable build pipeline where files are passed through a sequence of custom functions to transform content and metadata incrementally. This architecture allows users to extend functionality by writing their own plugins or using third-party modules to define
This project is a development template and build system designed for creating browser extensions. It provides a unified framework that allows developers to maintain a single codebase for extensions targeting Chrome, Firefox, and Opera. The tool streamlines the development cycle by normalizing browser-specific manifest requirements and providing a build pipeline that handles asset transformation and dependency resolution. It includes a live-reloading server to facilitate immediate feedback during development and supports the injection of environment variables to manage configuration settings a
By checking if the process is root on Unix systems or if the user is administrator on Windows.
This utility is a command-line tool designed for managing multiple Node.js runtime versions on local development machines. It functions as a cross-platform manager that enables users to install, switch, and synchronize runtime versions across Windows, macOS, and Linux environments. The tool automates environment configuration by detecting project-specific version requirements through directory-traversal resolution. It maintains consistency by dynamically updating shell paths and environment variables, allowing for automatic version switching as users navigate between different project directo
ruby-build is a system for downloading, compiling, and installing specific versions of the Ruby language from source on Unix-like systems. It functions as a source compiler and version installer that manages the deployment of Ruby runtimes without relying on system packages. The tool supports custom Ruby compilation by allowing the application of patches to the source code before the compilation process begins. It also provides the ability to use external build definitions for versions not included by default. The installation pipeline includes package integrity verification using checksums
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Husky is a Git hook manager that automates the installation and execution of version control lifecycle events within a project repository. It functions by redirecting standard version control event triggers to a centralized configuration directory, allowing teams to standardize development workflows and enforce code quality without requiring manual setup on every machine. The tool enables custom workflow automation by triggering shell scripts during operations such as committing or pushing code. It distinguishes itself by integrating directly into package manager lifecycles, ensuring that aut
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
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
Thunder Client is a REST API client extension for VS Code that functions as an HTTP request manager, testing tool, and mocking workspace. It allows users to send requests, organize them into collections, and manage API configurations directly within the editor. The project distinguishes itself through a command-line interface for executing automated test suites in CI/CD pipelines and a Git-based synchronization system for sharing request collections and environment configurations across teams. It also incorporates artificial intelligence to automate the conversion of API scripts during migrat
This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and
Zsh is a Z Shell implementation that provides an interactive command-line interface for executing system commands, managing files, and automating workflows. It serves as a POSIX-compliant shell and a programmable scripting environment for writing automation scripts. The project focuses on providing a Unix shell environment with a high degree of customization. It includes advanced autocomplete, programmable completion, and sophisticated globbing to tailor terminal behavior and environment preferences. The system covers command-line workflow automation and the execution of system commands thro
This developer command-line tool manages deployments, configures serverless functions, and provisions resources for a cloud hosting platform. It provides a terminal utility to automate project deployment, environment variable management, and database provisioning for web applications, while also serving as a local development server that simulates production routing and proxy rules. The tool handles deployment workflows by synchronizing web projects through file hashing, artifact caching, and real-time progress tracking. It coordinates serverless function lifecycles with hot reloading across
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
react-native-config is a cross-platform mobile environment manager and native build configuration tool. It implements twelve-factor app configuration principles by separating environment-specific settings from application code. The project provides a mechanism to inject environment variables directly into native project files and build settings during the compilation process. It further functions as a type-safe configuration loader that generates TypeScript definitions for environment variables to ensure autocompletion and safety. The tool manages multi-environment configurations by loading
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
nconf is a configuration management library for Node.js that aggregates application settings from multiple sources into a single, unified store. It provides a centralized mechanism to manage parameters by merging data from command-line arguments, environment variables, and local files. The library distinguishes itself through a hierarchical provider system that enforces strict precedence rules when conflicting values are present. It supports atomic object merging to maintain consistent data structures and utilizes lazy loading to ensure that configuration sources are read only when accessed a
This is a desktop HTTP client application used for constructing, sending, and analyzing HTTP and GraphQL requests. It provides a graphical interface for API development and testing, including a dedicated GraphQL client with schema-driven autocomplete and validation. The project features an integrated AI assistant that generates API requests from natural language prompts. It supports a complex organization system of spaces and collections with hierarchical authentication inheritance and recursive variable resolution for dynamic request values. The tool covers a broad range of capabilities, in
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
SwiftBar is a macOS menu bar customizer and plugin-based status monitor that displays the output of executable scripts and shell commands directly in the system menu bar. It functions as a shell script dashboard, rendering real-time data and script results as interactive menu items and dropdowns. The project distinguishes itself by acting as an automation interface that integrates with system shortcuts and external URL schemes to trigger actions and update status indicators. It supports the installation of community-made scripts and the packaging of complex plugin assets into local directorie
Nuke is a build automation system for defining software compilation and deployment pipelines using a strongly typed C# console application. It functions as a cross-platform build engine and pipeline orchestrator that treats build configurations as standard executable programs rather than static files. By leveraging a compiled language, the system provides type safety and IDE support for build script logic. This approach allows for the definition of automation and CI/CD pipelines using a professional programming language instead of YAML or shell scripts. The engine manages .NET project orches
Dagger is a programmable CI/CD engine and containerized task runner designed to orchestrate build and test pipelines. It functions as an incremental build system that manages containers, filesystems, and secrets through a typed API to ensure consistent execution across local and cloud environments. The engine utilizes a language-agnostic client-server API to allow multi-language pipeline orchestration, enabling the sharing of typed artifacts and state across different SDKs without manual serialization. It optimizes execution through content-addressable caching and a directed acyclic graph to
Vite is a frontend build toolchain that provides a unified development and production pipeline for modern web applications. It functions as a modular, environment-agnostic build engine that leverages native ES modules to serve source code directly to the browser, eliminating the need for expensive bundling during the development phase. By maintaining an environment-aware module graph, it supports concurrent development across client, server, and custom runtime environments. The project distinguishes itself through a high-performance development server that utilizes a hot module replacement pr