30 open-source projects similar to yarnpkg/yarn, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Yarn alternative.
This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote registry. It serves as a dependency resolution tool, a software registry publishing client, and a security auditor for Node.js development workflows. The tool distinguishes itself by providing integrated monorepo workspace management and a comprehensive registry authentication client that supports multi-factor authentication. It enables detailed control over the software supply chain through provenance attestations, package signature verification, and the generation of a Software
This project is a cross-platform package manager designed to automate the acquisition, compilation, and integration of third-party software libraries into native development projects. It functions as a manifest-driven dependency manager, utilizing declarative configuration files to define project requirements and resolve them into consistent, versioned dependency graphs across Windows, Linux, and macOS. The system distinguishes itself through port-based build automation, which uses standardized scripts to fetch, patch, and compile source code, and triplets-based configuration files that encap
pnpm is a command-line package manager designed to automate the retrieval, installation, and version management of software dependencies. It utilizes a deterministic resolution process and a lockfile to ensure that dependency trees remain consistent across different environments and machines. The project distinguishes itself through a content-addressable storage engine that saves every version of a package exactly once on the file system. By employing a hard-linking installation strategy and a symlink-based directory structure, it maps dependencies from a central store into individual project
This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor
Berry is a Node.js package manager, dependency resolution engine, and monorepo workspace manager. It provides the tools necessary for resolving, downloading, and managing dependencies to ensure consistent environments across different development machines, while also serving as a publishing tool for uploading versioned package tarballs to registries. The project is distinguished by its implementation of Plug'n'Play, which resolves dependencies without creating a physical node_modules directory by mapping dependencies directly to the file system. This enables a zero-install development workflo
Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing u
This project is a NestJS testing boilerplate and reference implementation. It provides a structured monorepo workspace designed to demonstrate various architectural and testing patterns for NestJS applications. The project features a dockerized test environment and an integration testing framework. It includes a dedicated GraphQL API test suite to validate graph-based endpoints and schemas for queries and mutations. The suite covers a layered testing hierarchy consisting of unit, integration, and end-to-end tests. These capabilities extend across the application and data layers, including da
Chocolatey is a Windows package manager and command-line software automator. It serves as a system configuration tool designed to automate the installation, upgrading, and removal of software packages on Windows operating systems through a terminal interface. The project utilizes a NuGet-based software distribution model to manage and version applications. This approach replaces manual downloads and interactive installer wizards with scripted, repeatable deployments. The tool covers broad capability areas including automated system provisioning, Windows package deployment, and software manag
Lerna is a monorepo management tool, build orchestrator, and package publisher for JavaScript and TypeScript projects. It enables the management of multiple packages within a single shared repository, providing utilities for workspace organization and the coordinated publishing of packages to a registry. The tool distinguishes itself through dependency-aware task orchestration and automated version management. It uses topological sorting to sequence tasks and utilizes content-hash caching to skip redundant executions when input files remain unchanged. Versioning is automated by parsing standa
Yay is a command-line package manager designed for Arch Linux systems. It functions as an interface for managing the software lifecycle, including the installation, updating, and removal of packages from both official repositories and community-maintained archives. The tool serves as an automated helper for the Arch User Repository, streamlining the retrieval, compilation, and installation of software by handling dependency resolution and build script execution. It coordinates these multi-step workflows through a terminal-based interface, allowing users to interact with package metadata, subm
Mamba is a package manager for scientific and data science workflows that implements a high-performance dependency solver in C++. It uses a SAT-based resolution model and a specialized library for metadata processing to calculate compatible package versions across different operating systems. The project provides a standalone executable runtime, allowing the creation of isolated package environments without requiring a pre-existing system installation. It ensures reproducible environment setup by utilizing lock files to pin exact package versions and channels. The system supports containeriz
Conda is a binary package manager, cross-platform environment manager, and dependency resolution engine. It serves as a software repository manager that enables the installation and update of pre-compiled binaries and their dependencies across different operating systems. The system creates isolated execution spaces to prevent dependency conflicts between projects and uses a solver to calculate compatible package versions based on constraints from available repositories. It supports the creation of custom software packages from recipes, which can be hosted in public or private channels for di
Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across different systems. It functions as a lockfile resolver, generating deterministic lockfiles from high-level dependency constraints to prevent version drift. The tool integrates project workflow automation by loading environment variables and executing custom project scripts. It also includes security auditing capabilities to scan installed packages for known vulnerabilities. The system covers a broad range of capabilities including dependency version locking, package installatio
pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files. The tool supports various installation methods, including fetching packages directly from web URLs and Git commits, as well as installing packages in editable mode for active development. It enables the crea
RequireJS is a JavaScript module loader and dependency manager that implements the Asynchronous Module Definition API. It enables the asynchronous loading of JavaScript files in the browser to prevent page rendering blocks and manages interdependent scripts to avoid global namespace pollution and execution order issues. The project includes a build optimizer that combines and minifies multiple script files into single bundles to reduce network requests. It also provides a mechanism for version management, allowing multiple versions of the same library to coexist on a single page without confl
Bower is a frontend package manager and client-side asset manager used to install and track third-party JavaScript and CSS libraries for browser-based projects. It functions as a web dependency manager that ensures consistent versioning across different development environments. The tool operates as a Git-based dependency manager, retrieving source code directly from Git repositories rather than relying on a central package registry. It utilizes a semantic versioning resolver to match manifest constraints against Git tags to determine the correct package version. To prevent nested directory t
This project provides a command-line interface for managing the lifecycle of applications from the Apple App Store. It functions as a package manager for macOS, enabling users to search for software, install new applications, and maintain existing installations directly through terminal commands. The tool distinguishes itself by wrapping private system APIs to perform store operations that are typically restricted to the graphical user interface. It integrates with the operating system to handle administrative privilege elevation, allowing for secure, automated modifications to protected appl
OCRmyPDF is a command-line tool designed to transform scanned documents into searchable, selectable PDF files. It functions as a document processing pipeline that adds a hidden text layer to image-based files while simultaneously optimizing the document's file size and image quality. By preserving the original visual fidelity of the input, it ensures that digitized documents remain accessible to screen readers and search engines. The project distinguishes itself through a modular architecture that supports custom plugins and the integration of external recognition engines, allowing users to t
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer
Twenty is a headless customer relationship management framework that enables developers to build, version, and deploy custom business applications using code. By utilizing a declarative approach to data modeling, the platform allows for the definition of custom objects, fields, and complex relationships directly within the source code. This schema-driven architecture automatically generates corresponding REST and GraphQL APIs, ensuring that data structures and interface components remain synchronized across development and production environments. The platform distinguishes itself through a m
Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration engine that resolves complex dependency graphs, manages isolated virtual environments, and ensures reproducible builds through deterministic lock file generation. By centralizing project metadata and build requirements into a single configuration file, it provides a unified workflow for managing the entire lifecycle of a Python codebase. The project distinguishes itself through its constraint-based solver, which evaluates environment markers and version requirements to maintain
This project is a configuration framework for the Fish shell, providing a centralized system for managing plugins, themes, and custom environment settings. It functions as a plugin manager and theme engine that allows users to install, update, and remove functional extensions and visual styles. The framework includes a shell extension scaffolder that generates standardized directory structures and boilerplate files for creating new plugins and themes. To ensure quality, it provides a specification-based testing suite for validating package functionality through automated assertions. The syst
PicGo is a cross-platform desktop utility designed to automate image hosting and asset management. It functions as a pipeline-based engine that processes image inputs—such as local files, base64 strings, or clipboard data—through a configurable sequence of transformations and uploads to various cloud storage providers. The application distinguishes itself through a modular, plugin-based architecture that allows users to extend core functionality without modifying the main binary. By utilizing a lifecycle hook system, developers can register custom logic to intercept and modify data at specifi
Parcel is a web application bundler designed to automate the packaging of project assets for production. It functions as a zero-configuration tool that detects dependencies and transforms source files into optimized output without requiring manual setup files. The project includes a built-in development server that supports incremental builds and hot module replacement to reflect code changes during the development cycle. The core of the system is a dependency graph resolver that maps relationships between modules to determine the structure of output bundles. This is supported by a modular as
Certbot is a command-line client designed to automate the lifecycle of digital security certificates. By implementing the ACME protocol, it manages the communication between a local server and a certificate authority to verify domain ownership and issue transport layer security certificates without manual intervention. The tool distinguishes itself through a modular plugin architecture that allows it to interact directly with various web server configurations and DNS providers. This framework enables the software to perform automated domain validation, modify server settings, and configure vi
Vim is a keyboard-driven text editor designed for the high-speed manipulation of source code and plain text files. It utilizes a modal interface that interprets keystrokes as either text insertion or complex navigation and editing commands. Built on a portable C core, the software maintains a consistent experience across diverse operating systems and terminal emulators through an abstraction layer that manages text in memory-mapped buffers. The editor functions as a highly modular platform that supports extensive customization through a built-in scripting engine and a plugin-based architectur
Devbox is a development environment orchestrator designed to create reproducible, isolated workspaces for software projects. By leveraging declarative configuration files and the Nix package manager, it ensures that project dependencies, environment variables, and tooling remain consistent across different machines and team members. It functions as a central manager for project-specific environments, providing isolated shell execution that prevents conflicts with host system software. The project distinguishes itself through its ability to bridge local development and cloud-hosted infrastruct
Flowise is a low-code platform designed for building and deploying complex language model workflows through a visual, node-based interface. It functions as an orchestrator for autonomous multi-agent systems, allowing users to construct conversational pipelines by connecting language models, memory stores, and external tools on a drag-and-drop canvas. The platform distinguishes itself through its support for sophisticated agentic patterns, including supervisor-worker delegation and iterative reasoning strategies. Users can design directed acyclic graphs to manage conditional branching, state p
This project is a curated reference guide and cheatsheet for modern JavaScript development. It provides a collection of syntax and patterns covering ECMAScript standards, specifically focusing on contemporary language features from ES6 and later. The resource offers specialized guides on asynchronous JavaScript, functional programming patterns, and object-oriented design. It details the use of promises and async/await syntax for non-blocking operations, as well as the application of map, filter, and reduce for data transformation. The guide covers a broad range of language fundamentals, incl