30 open-source projects similar to nvm-sh/nvm, 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.
n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime environment switcher, allowing for the installation and management of multiple Node.js versions to maintain compatibility across different projects. The tool orchestrates the downloading and caching of Node.js binaries from official or custom distribution mirrors. It enables switching between installed versions via a command line interface or interactive menu, providing the ability to execute scripts using specific versions from a local cache without performing a full system i
pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si
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
Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables, aliases, and startup scripts through a modular file structure. It functions as a plugin collection and prompt theme engine, utilizing Zsh-native scripting to manage shell behavior across different platforms. The framework distinguishes itself through a modular-based configuration and submodule-driven extensions, allowing users to load discrete functional modules and update core components via Git. It features a dedicated prompt engine that integrates repository metadata and system
SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits on Unix systems. It functions as a software installer and environment manager that automates the downloading and configuration of development tools for Linux and macOS. The tool enables the installation of parallel SDK versions on a single system and provides the capability to toggle between them to change the active environment for a shell session. It specifically facilitates the setup of Java development environments, including the management of various Java Development Kit
Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a single machine. It provides a unified interface for installing, switching, and configuring software versions across different operating systems, ensuring consistent development environments. The project distinguishes itself through a modular, plugin-based architecture that allows for the integration of diverse language runtimes and utilities beyond built-in defaults. It utilizes a combination of shim-based execution, symlink management, and dynamic shell-hook environment injecti
Steamtinkerlaunch is a game launch wrapper and Wine prefix orchestrator designed to manage the execution environment of games on Linux. It functions as a compatibility layer manager that downloads and organizes custom Wine and Proton versions, while creating isolated filesystem hierarchies and registry hives to prevent configuration conflicts between games. The project specializes in automating the installation of mod managers and script extenders within these isolated environments. It acts as a post-processing shader injector, managing the installation and dynamic library overrides required
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
RVM is a Ruby version manager and build automation tool designed to install and switch between multiple versions of the Ruby interpreter on a single system. It serves as a dependency isolator and shell environment wrapper, allowing for the creation of named library sets to prevent version conflicts between different projects. The project distinguishes itself as a deployment orchestrator that automates the provisioning of Ruby runtimes across remote servers and build agents. It generates standalone executable wrappers to ensure specific runtimes and library sets are loaded for scheduled tasks,
PartyKit is a serverless WebSocket backend platform for building real-time multiplayer applications. It provides a globally distributed edge computing runtime that runs stateful server code close to users, with automatic scaling and hibernation for idle rooms. The platform handles WebSocket connections, HTTP requests, and durable storage without requiring infrastructure management, and includes a client and server SDK with hooks, storage, and Yjs integration for building collaborative features. The platform distinguishes itself through per-room isolation using Durable Objects, where each uniq
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
DevOps-Bash-tools is a collection of shell scripts and aliases designed to automate cloud infrastructure, container orchestration, and CI/CD pipelines. It provides a comprehensive toolset for managing operational workflows through the command line. The project specializes in automating tasks across multiple platforms, including managing namespaces and secrets in Kubernetes, auditing resources in AWS and GCP, and triggering builds or managing environment variables in GitHub Actions, GitLab CI, and CircleCI. It also includes a toolkit for interacting with container registries to query manifests
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
Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and lifecycle management of software. It utilizes a manifest-driven architecture where applications are defined in structured text files, allowing for consistent and repeatable deployments. By leveraging shim-based path management and symlink-based version switching, it enables users to install and toggle between multiple software versions without cluttering the global system environment. The project distinguishes itself through its focus on portability and clean system integration. It su
This project is an Emacs configuration framework that provides a curated distribution of the editor. It focuses on a modular editor environment and a declarative package management system to ensure reproducible installations and optimized defaults. The framework distinguishes itself through a performance-optimized editor setup that uses lazy loading to reduce startup times. It implements a Vim-emulation layer, providing a modal editing interface with Vim keybindings and a leader-key command hierarchy for efficient navigation. The system covers a broad range of capabilities, including IDE lan
zsh-completions is a shell autocomplete plugin and library that provides a collection of completion definitions for the Zsh shell. It serves as a community-maintained repository of scripts designed to extend the shell's ability to suggest command arguments and flags for tools and applications not included in the default shell installation. The project focuses on integrating external command line tools with shell autocomplete features, enabling intelligent tab-completion for a wide variety of third-party utilities. This reduces typing effort by allowing users to discover available flags and ar
chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files
This project is a Swift standard library extension and cross-platform system library. It provides a collection of core utility types and fundamental data structures that extend the base Swift language, acting as an OS-independent interface layer for handling system operations such as networking and file systems. The project features a specialized C++ interoperability layer that maps C++ types and functions into compatible Swift interfaces for cross-language communication. This includes a bridging mechanism to handle standard library types and foreign containers, allowing C++ types to be mappe
Swift Evolution serves as the central governance and design platform for the Swift programming language. It provides a structured, collaborative framework for tracking, discussing, and managing the formal proposals and technical goals that define the language's syntax, semantics, and core features. By maintaining a comprehensive collection of design documentation, the project ensures the long-term stability and consistency of the language as it matures. The repository acts as the primary hub for the language's evolution, coordinating community feedback and technical decisions through a transp
Deployer is a PHP deployment tool and SSH-based deployment automator used to push applications to remote servers and automate the provisioning of hosting environments. It functions as a zero-downtime deployment manager that utilizes symbolic links to switch between application versions, ensuring continuous site availability. The system employs pre-defined deployment recipes tailored to the specific requirements of popular PHP web frameworks. This framework-specific automation allows for the execution of task sequences designed for particular software environments. The tool covers remote serv
tfenv is a Terraform version manager and command-line utility designed to install and switch between multiple versions of the Terraform CLI on a single local system. It functions as a binary switcher that ensures consistent infrastructure as code tooling across different projects and team environments. The utility manages active executable versions through environment variables and local configuration files. It supports project version pinning to lock specific versions for different environments or client projects, preventing compatibility issues during collaboration. The tool provides utili
XcodesApp is a desktop application and version manager for the Xcode integrated development environment. It functions as a macOS development tool that enables the installation, updating, and switching of multiple Xcode versions. The application automates the process of downloading and deploying specific software versions and metadata. It provides a metadata browser to view available releases, release notes, and operating system compatibility requirements. The tool manages the installation of platform runtimes and SDKs for iOS, macOS, watchOS, and tvOS. It allows users to select and toggle th
This project is a collection of POSIX-compliant shell functions and polyfills designed to replace external binaries with portable, built-in utility implementations. It serves as a compatibility library and utility kit for shell scripting, providing shell-native alternatives to common command line utilities. The library focuses on removing dependencies on external processes by implementing tasks directly within the shell. This includes the use of shell-native sequences for terminal user interface design, such as text coloring and cursor movement, and the use of built-in pattern matching for te
Laptop is a macOS development environment bootstrapper and system configuration script. It functions as a development toolchain automator designed to install and configure the programming languages, databases, and utilities required for web and mobile development. The project automates workstation provisioning by deploying a curated suite of software dependencies through a sequential shell execution process. It integrates package management and version-manager orchestration to handle multiple programming language runtimes and library dependencies. The system supports environment customizatio
This project is a collection of reusable Bash scripts designed for system administration, automation, and command-line utility development. It provides a modular library of tools that leverage POSIX-compliant shell execution and standard stream processing to perform tasks directly within Unix-like environments without requiring additional language runtimes. The collection distinguishes itself by offering a broad range of interactive and automated capabilities, including guided command-line menus, time-tracking timers, and remote file synchronization. These scripts are environment-aware, capab
fhs-install-v2ray is a shell script that automates the deployment of V2Ray, a network proxy tool, on Linux servers. It downloads precompiled binaries and geographic data from a release server, places them into standard Linux filesystem directories, and registers V2Ray as a persistent background service managed by systemd. The script is designed to be idempotent, meaning repeated runs do not overwrite custom configurations, and uninstallation removes all installed files and services completely. The tool distinguishes itself by enforcing a Filesystem Hierarchy Standard (FHS) layout, mapping bin
acme.sh is a shell-based certificate manager and ACME SSL certificate client. It automates the issuance, renewal, and installation of digital security certificates using a portable Unix shell script to remove dependencies on heavy runtime environments. The project specializes in automated domain ownership verification through a DNS challenge automator that integrates with provider APIs. It supports the generation of diverse certificate types, including wildcard certificates and issuance based on pre-existing certificate signing requests. The tool covers the full certificate lifecycle, includ
tmpmail is a terminal-based temporary email client implemented as a POSIX shell script. It provides a disposable email interface for creating short-term email addresses and reading incoming messages without a web browser. The tool generates random or custom temporary email addresses to prevent the exposure of permanent primary accounts during service registrations. It includes a utility to copy these generated addresses directly to the system clipboard. The software manages email workflows through a command-line interface, offering capabilities to list inbox messages and retrieve specific em
vite-plus is a unified web development toolchain and command line interface designed to manage Vite builds, JavaScript runtimes, and package managers from a single entry point. It functions as a JavaScript runtime manager for installing and pinning language versions, a monorepo task orchestrator for dependency-aware script execution, and a project scaffolding engine for bootstrapping applications and libraries. The project distinguishes itself by consolidating a full development lifecycle into one tool, featuring a unified static analysis engine that performs type-checking, linting, and forma
This project is a command-line utility designed to manage development environments by installing, switching, and pinning multiple versions of programming languages, SDKs, runtimes, and database engines. It functions as a centralized controller for complex toolchains, ensuring that specific software versions are maintained consistently across different machines and project directories. The tool distinguishes itself through an interactive terminal interface that allows users to browse and select software versions visually, reducing the need to memorize complex command-line arguments. It also pr