30 open-source projects similar to sindresorhus/np, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Np alternative.
release-it is an automated software release tool used for version bumping, Git tagging, and publishing software packages to registries. It functions as a Git versioning manager and changelog generator, facilitating the transition from code changes to official releases. The tool provides a non-interactive mode for executing release pipelines within continuous integration environments, as well as an interactive command-line workflow for manual configuration. It utilizes a plugin architecture to allow for custom versioning schemes and changelog generators. The system handles semantic versioning
release-it is a Git release automation tool designed to coordinate software versioning, changelog generation, and package publishing. It functions as a semantic versioning manager that increments project versions and updates configuration files based on semantic standards or custom schemes. The project distinguishes itself through a plugin-based extension system that allows for custom versioning and publishing logic. It supports complex project structures via monorepo versioning automation to synchronize internal dependencies across multiple workspaces. The tool covers a broad range of capab
Semantic-release is an automated release management tool that determines version increments, generates changelogs, and publishes software packages by analyzing commit history against standardized conventions. It functions as a plugin-based orchestrator that integrates directly into continuous integration pipelines to manage the entire release lifecycle, from verifying environment conditions to distributing artifacts. The project distinguishes itself through its commit-message-driven approach, which enforces consistent versioning standards and automates the creation of release notes based on t
Standard-version is a semantic versioning release automation tool and Git versioning manager. It calculates the next semantic version by parsing commit messages that follow the Conventional Commits specification and automates the process of updating project files and creating signed Git tags. The tool distinguishes itself by generating formatted changelogs automatically from commit history and providing a release process simulation to preview version bumps without modifying files or Git history. It supports pre-release version management for experimental builds and allows for manual version o
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
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
Release Drafter is an automated changelog generator and GitHub Actions release automator. It aggregates merged pull requests into categorized draft release notes and calculates the next semantic version number based on project changes. The tool functions as a GitHub pull request labeler that assigns labels by analyzing changed files, branch names, or titles. It uses these labels and predefined rules to organize contributions into titled sections and determine version increments. The system covers content generation through template-based formatting and regex-based text post-processing. It su
This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building, versioning, and uploading Python distributions. It serves as a concrete project template and example for configuring metadata and build artifacts for package indices. The repository illustrates how to package software by defining project metadata and dependencies in static configuration files. It covers the process of transforming source trees into versioned archives and platform-specific binary distributions, specifically showing how to build binary wheels and source distribut
Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration. The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multi
This project provides a comprehensive guide for securing the software supply chain within Node.js and npm environments. It focuses on hardening the entire lifecycle of third-party dependencies and package publishing processes to protect applications from malicious code injection and unauthorized registry modifications. The guide distinguishes itself by emphasizing identity-based authentication and cryptographic provenance to verify the origin of distributed artifacts. It advocates for strict governance policies, such as enforcing minimum release ages for dependencies and disabling automatic l
Swift Package Manager is a build tool, dependency manager, and registry client for the Swift language. It transforms source files and external dependencies into executable binaries or libraries and manages the resolution, download, and integration of external code libraries. The project provides a client for publishing and versioning signed code packages via a remote registry, ensuring identity verification through digital signing. It also includes a source code formatter to standardize code style and indentation. The system covers a broad range of capabilities including modular code distrib
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
Crossplane is a Kubernetes-based control plane framework that functions as a cloud resource orchestrator and infrastructure-as-code platform. It enables the management of heterogeneous infrastructure by extending the Kubernetes API to provision and maintain external cloud services through declarative configuration. By utilizing custom resource controllers, it continuously reconciles the state of external infrastructure with defined desired states, ensuring consistent deployment and lifecycle management across multiple cloud providers. The platform distinguishes itself through its composition-
This project serves as a comprehensive directory of open-source libraries, tools, and technical documentation designed for building and managing infrastructure on the Amazon Web Services platform. It functions as a centralized knowledge base, aggregating software development kits, command-line utilities, and editor extensions to assist developers in cloud-native application development. The directory distinguishes itself through a categorical taxonomy that organizes disparate technical resources into a structured hierarchy. It incorporates community-driven metadata aggregation and automated m
This project is a comprehensive framework for literate programming that enables developers to build production-ready Python libraries entirely within Jupyter Notebooks. By treating notebooks as the primary source of truth, it integrates code, documentation, and testing into a unified development pipeline that exports directly to standard Python modules. The framework distinguishes itself through specialized tooling designed to overcome the inherent challenges of using notebooks in professional software engineering. It includes custom Git hooks and merge drivers that sanitize volatile notebook
Krew is a command-line extension manager and cross-platform plugin installer designed specifically for the kubectl ecosystem. It functions as a package manager that allows users to discover, install, and update community-driven extensions to add new capabilities to the Kubernetes command line interface. The project utilizes a manifest-based distribution system where YAML files map binaries to specific operating systems and architectures. This ensures secure deployment through the use of checksums for integrity verification and enables the hosting of both public and private plugin registries.
This repository is a comprehensive sample library providing reference implementations for automating tasks and extending functionality across Google Workspace applications. It serves as a collection of code examples and templates for building workspace automation scripts, custom add-ons, and integrated productivity tools. The project distinguishes itself by providing specialized examples for integrating large language models into productivity tools for content generation and data analysis. It also includes reference implementations for creating conversational chat apps, interactive cards, and
Capacitor is a cross-platform mobile framework that enables developers to build native applications using web technologies. It functions as a hybrid app container, wrapping web assets within a native runtime that provides a standardized bridge to device hardware and system-level services. By exposing native functionality through a plugin-based architecture, it allows web applications to access platform-specific features while maintaining a consistent interface across mobile and desktop environments. The project distinguishes itself by maintaining native project files as source assets, allowin
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
GoReleaser is a release automation tool for building, packaging, and distributing Go binaries across multiple platforms and architectures. It functions as a cross-compilation build pipeline and binary distribution orchestrator that manages the end-to-end lifecycle of versioned software releases. The tool utilizes a declarative configuration pipeline based on a YAML definition file to automate the Go toolchain. It links Git tags to the compilation process, allowing for automated version tagging and the injection of build metadata and version strings into binaries via linker flags. Its capabil
This project is a TypeScript library starter kit that provides a pre-configured development environment for building and publishing typed packages. It establishes a zero-config build pipeline to accelerate the creation of library projects. The toolkit includes a RollupJS bundle configuration to compile source code into optimized bundles with automatic type definition generation. It integrates a semantic release workflow to manage versioning and changelogs based on conventional commit messages, alongside a Jest testing framework suite for stability verification. The environment covers code qu
This project is a suite of tools for scraping remote assets, applying binary modifications, and orchestrating the distribution of patched Android applications. It functions as an automated build pipeline that fetches remote assets and compiles patched binaries into installable packages. The system includes a specialized remote asset downloader designed to fetch application files and version metadata from remote servers while bypassing bot protections. It also operates as an Android app distribution system that uploads modified binaries to a repository and sends update notifications via Telegr
Concourse is a container-based continuous integration and delivery platform that functions as a distributed build system. It operates as a declarative pipeline orchestrator, using a central controller and multiple worker nodes to execute concurrent tasks within isolated containers. The system distinguishes itself by executing every build step in a separate container to ensure environment consistency and by defining software delivery sequences through portable, versionable configuration files. It provides a web-based pipeline visualizer to display the real-time status and progress of automated
node-semver is a tool for parsing, comparing, and validating version strings according to the Semantic Versioning specification. It functions as a version range evaluator, a comparison library, and a utility for incrementing release identifiers. The project includes a version coercion utility that extracts numeric sequences from non-compliant strings to approximate a semantic version. It also provides logic to calculate the next release string by incrementing major, minor, or patch segments. The library covers a broad range of version management capabilities, including range analysis to dete
python-build-standalone is a toolchain designed to produce redistributable Python executables across multiple operating systems and hardware architectures. It generates standalone Python binaries that can be distributed to users without requiring a pre-installed system interpreter. The project manages the end-to-end process of cross-platform compilation using target triples and containerized environments to ensure consistent binary output. It includes a distribution pipeline that automates the generation of build matrices and the uploading of compiled artifacts to public release pages and mir
This project is a cross-platform mobile project template and TypeScript boilerplate designed for bootstrapping React Native applications using the Expo ecosystem. It provides a pre-configured architecture with a standardized folder structure to accelerate initial development. The template distinguishes itself through a feature-based project architecture and a comprehensive automation suite. It integrates file-based routing for navigation, a utility-first mobile UI kit for styling, and a server state management layer for fetching and caching remote API data. The setup includes a mobile CI/CD p
Spinnaker is a multi-cloud continuous delivery platform designed to automate software releases and deployment pipelines across various public cloud providers and Kubernetes clusters. It functions as a cloud deployment orchestrator and infrastructure delivery tool, coordinating the promotion of software artifacts through multiple environments using visual workflows and directed acyclic graphs. The platform distinguishes itself with a dedicated canary analysis engine that compares performance metrics between new and stable software versions to automate release decisions. It utilizes cloud-agnos
This project is a version control documentation tool designed to automate the generation of release notes and changelogs. It functions as a pipeline-based engine that parses repository history, categorizes commits, and transforms them into structured documentation. By leveraging conventional commit patterns or custom regular expressions, it provides a consistent method for tracking project evolution and managing semantic versioning. What distinguishes this tool is its highly flexible template-driven architecture, which allows for deep customization of output formatting, grouping, and sorting.
dependabot-core is the automated dependency management engine that powers multi-ecosystem package updates and vulnerability remediation. It parses package manifests and lockfiles, polls package registries for newer versions, resolves version constraints across entire dependency trees, and generates pull requests with changelogs and structured descriptions. The system integrates vulnerability database matching to detect known security flaws and can automatically create remediation pull requests. What distinguishes this project is its handling of complex multi-ecosystem resolution across dozens