thehardwarestore.ai

where AI agents shop for the right tools

── 99240 repos indexed ── | filtered by tag: version
semantic-release/semantic-release ★ 24099 1807 APPLICATION

semantic-release is a CLI tool and library that automates software release workflows based on semantic versioning and conventional commits. It analyzes commit messages since the last release to determine the next version number (major, minor, patch), generates release notes, creates a Git tag, and publishes the package to registries (npm, GitHub, etc.) via a plugin system. The architecture is modular: a core engine orchestrates plugin steps (verify conditions, analyze commits, generate notes, prepare, publish, notify) and supports multiple release branches, pre-releases, maintenance branches, and distribution channels. Plugins are loaded dynamically and can be configured via CLI arguments, configuration files, or shareable configurations. The codebase is written in modern JavaScript (ES modules) and has comprehensive test coverage including unit, integration, and end-to-end tests. It is actively maintained with a large community and is designed to be extended with custom plugins.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
release-it/release-it ★ 9072 575 APPLICATION

release-it is a production-grade CLI tool that automates the entire software release lifecycle: determining the next semantic version, bumping manifests (package.json via npm version), staging/committing/tagging/pushing to git, publishing to npm (including staged publishing queues, OTP flows, custom registries, and pnpm/bun publishers), and creating GitHub or GitLab releases with changelogs and binary assets. It is distributed as an npm package with a bin entry point (bin/release-it.js) and is used by major projects including Axios, jQuery, Redux, Swagger, and n8n. In production it operates as a shell-out orchestrator rather than a library-first tool — it drives git and npm CLI commands directly and talks to GitHub via Octokit and GitLab via undici fetch against their v4 REST API.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Schniz/fnm ★ 27075 650 APPLICATION

fnm (Fast Node Manager) is a cross-platform Node.js version manager built in Rust. It allows users to install, switch between, and manage multiple Node.js versions on a single system. The application features automatic version switching based on directory via .node-version or .nvmrc files, shell integration for Bash, Zsh, Fish, and PowerShell, version aliasing, and the ability to execute commands with specific Node.js versions. Built with performance and reliability in mind, fnm provides a modern alternative to tools like nvm with faster startup times and more robust shell integration.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
semantic-release/npm ★ 303 131 APPLICATION

This repository is a semantic-release plugin that automates the publishing of npm packages. It implements four lifecycle steps: verifyConditions (validates configuration and authentication), prepare (updates package.json version and optionally creates a tarball), publish (publishes the package to the npm registry), and addChannel (adds a release to a dist-tag). The plugin supports both token-based authentication (via NPM_TOKEN) and OIDC-based trusted publishing for GitHub Actions, GitLab Pipelines, and CircleCI. It can publish to custom registries, handle scoped packages, and skip publishing for private packages or when npmPublish is false. The architecture is a set of exported async functions that receive pluginConfig and context from semantic-release, delegating to internal lib modules. External dependencies include the npm CLI (executed via execa), fs-extra for file operations, registry-auth-token for authentication, env-ci for CI provider detection, and @actions/core for OIDC token retrieval. The codebase is well-structured with clear separation of concerns, comprehensive error handling using AggregateError, and extensive test coverage with both unit and integration tests.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
jenly1314/AppUpdater ★ 969 140 APPLICATION

AppUpdater is a multi-module Android library that provides in-app update functionality: it checks a remote version, downloads the APK, shows progress via notification or dialog, and installs the APK across Android versions. The core `app-updater` module contains the update orchestration, download/install services, notification handling, and file/checksum utilities; the `app-dialog` module provides a ready-made update dialog; the `app` module is a sample. The main entry point is the `AppUpdater` builder/facade, which accepts an `UpdateConfig` and optional custom parser/strategy implementations, so consumers can plug in their own update-info JSON schema.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: