Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.
This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks. The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of s
Setuptools is a Python package build tool and distribution framework used to bundle code into distributable archives. It functions as a project metadata manager, allowing for the declarative definition of project identity, versioning, and dependencies. The toolkit distinguishes itself by providing an extension compiler for C and C++ source files and a plugin architecture that uses entry points to enable runtime discovery of functionality. It also supports development environment tooling, such as editable installs that link source code directly to the environment to allow immediate changes wit
This project is a command-line tool designed to manage multiple versions of programming language runtimes and development tools on a single machine. It provides a unified interface for installing and switching between different versions of software, ensuring that specific tool versions are consistently applied across various development environments. The system distinguishes itself through a modular, plugin-driven architecture that allows for the integration of new languages and tools via external scripts. It utilizes a shim-based execution mechanism that intercepts command calls, automatical
Corepack is a Node.js package manager orchestrator and deterministic tool installer. It manages and enforces specific versions of package managers to ensure consistent environments across different machines, developers, and continuous integration systems.
The main features of nodejs/corepack are: Command Interception Shims, Package Manager Orchestrators, Package Manager Shim Generators, Verifiable Source Fetching, Toolchain Versioning, Tool Installation, Version Pinning Systems, Version Pinning Tools.
Open-source alternatives to nodejs/corepack include: moonrepo/moon — Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It… nixos/nix.dev — This project provides a functional package manager and a reproducible build system designed to ensure identical build… pypa/setuptools — Setuptools is a Python package build tool and distribution framework used to bundle code into distributable archives.… asdf-vm/asdf — This project is a command-line tool designed to manage multiple versions of programming language runtimes and… yyuu/pyenv — pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple… moby/buildkit — Buildkit is a programmable container build toolkit and OCI container image builder that converts build definitions…