thehardwarestore.ai

where AI agents shop for the right tools

── 99652 repos indexed ── | filtered by tag: cli
anchore/syft ★ 9678 998 APPLICATION

Syft is a production-grade CLI tool and Go library for generating Software Bills of Materials (SBOMs) from container images, filesystems, directories, and OCI artifacts. It detects and catalogs packages across 40+ ecosystems (Alpine, Debian, RPM, Python, Java, Go, Ruby, Rust, JavaScript, .NET, etc.) by parsing lockfiles, package databases, binary metadata, and source manifests. The tool outputs SBOMs in multiple formats including CycloneDX (JSON/XML), SPDX (JSON/tag-value), Syft JSON, and GitHub Dependency Snapshots, with version-aware encoding and decoding. Architecturally, Syft uses a modular cataloger system where each ecosystem implements a `generic.Cataloger` with parser functions registered by file globs or MIME types. A task-based pipeline orchestrates file indexing, package cataloging, dependency resolution, and relationship linking. The system supports both library integration via `syft.CreateSBOM()` and a CLI with cobra commands (`scan`, `attest`, `convert`, `cataloger`). A bubbletea-based TUI provides real-time progress feedback during image pulls and cataloging. External dependencies include `stereoscope` for container image access, `cosign` for attestation signing, and `go-partybus` for event-driven UI. Key entry points include `cmd/syft/main.go` (CLI), `syft/create_sbom.go` (library API), `syft/get_source.go` (source resolution), and the format encoders/decoders in `syft/format/`. The codebase demonstrates strong engineering practices: extensive test coverage (unit, integration, snapshot), CI/CD with GitHub Actions, auto-generated JSON schemas, and drift-check scripts for capabilities and schema. Notable reusable components include the generic cataloger framework, the dependency resolver, and the file resolver abstraction.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
oclif/oclif ★ 9599 363 APPLICATION

oclif is a self-hosting TypeScript CLI for building and releasing oclif-based command-line tools. In production it acts as the Open CLI Framework toolchain: it scaffolds new CLI projects from EJS templates (generate/init), generates command manifests and README documentation, packages CLIs into tarballs, .deb, macOS .pkg, and Windows NSIS installers, uploads artifacts to S3, and promotes versions across release channels. The codebase is a single package built on @oclif/core, with entry points at bin/run.js and src/index.ts (which exports `run`). It is best described as a developer-tools CLI plus an automated software distribution pipeline, not a data/research repository.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
git-ecosystem/git-credential-manager ★ 9367 2957 APPLICATION

Git Credential Manager (GCM) is a production-grade, cross-platform Git credential helper that handles authentication for GitHub, GitLab, Bitbucket, Azure Repos, and generic Git hosts. It implements Git's credential helper protocol (get/store/erase/capability) with support for OAuth2 (authorization code, device code, PKCE, refresh tokens), personal access tokens, basic authentication, Windows Integrated Authentication (NTLM/Kerberos), and Microsoft Entra ID (MSAL) with broker integration. The architecture is plugin-based: host providers register via a priority-ordered registry and are selected by URL matching, HTTP header probing, or explicit configuration. Credential storage is abstracted behind an interface with platform-specific backends (Windows Credential Manager, macOS Keychain, Linux Secret Service, GPG/pass, plaintext, cache). Interactive prompts are delivered via a terminal UI (Spectre.Console) or a cross-platform GUI (Avalonia) with a dispatcher pattern that lazily initializes the UI framework on the main thread. The codebase is heavily tested with a shared test infrastructure providing in-memory fakes for all platform services. Key entry points include Program.cs (process entry), Application.cs (command loop), GitCommandBase (protocol handler), and provider-specific modules. External dependencies include Git, OS credential stores, MSAL for Microsoft authentication, and Avalonia for GUI.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
ko-build/ko ★ 8569 454 APPLICATION

ko is a CLI tool for building container images from Go source code. It compiles Go binaries, packages them into OCI images with a minimal base image, and pushes them to container registries. It supports multi-platform builds, generates SPDX SBOMs by default, and integrates with Kubernetes for deploying images directly from YAML manifests. The tool does not require Docker to be installed, as it uses the go-containerregistry library for OCI operations. The architecture is modular, with separate packages for building (pkg/build), publishing (pkg/publish), and Kubernetes integration (pkg/commands, pkg/resolve). The build pipeline compiles Go code using the system's Go toolchain, creates OCI image layers, and attaches static assets from kodata directories. The publish pipeline supports multiple targets: container registries, local Docker daemon, KinD clusters, OCI layout directories, and tarballs. Key features include automatic SBOM generation, Linux capabilities support, build caching (KOCACHE), and YAML templating for Kubernetes manifests. The codebase is well-tested with unit tests, integration tests, and end-to-end tests running in CI. It is actively maintained by the ko-build community and is a CNCF Sandbox project.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found

This monorepo provides a suite of libraries and CLI tools for generating changelogs from git metadata according to the Conventional Commits specification. The core pipeline consists of: a git client to fetch commits, a parser to extract structured data from commit messages, a filter to remove reverted commits, and a writer to render the changelog in Markdown. Additional packages handle version bump recommendations, preset loading (Angular, Conventional Commits), and template rendering. The system is designed for both programmatic use via builder-style APIs (e.g., `ConventionalChangelog`, `Bumper`) and direct CLI invocation. It supports multiple git hosting platforms (GitHub, GitLab, Bitbucket) and is configured through presets that define commit type effects, reference formatting, and section ordering. The architecture is a monorepo with 11+ independently published packages, each with its own tests, TypeScript definitions, and CLI entry points. The codebase is actively maintained, with frequent releases, breaking changes managed through major version bumps, and a migration from Handlebars to render functions. It requires Node.js >= 22 and is fully ESM. The project also includes a documentation website (Astro/Starlight), CI/CD via GitHub Actions, and an AI agent skill for commit message guidance. While primarily a developer tool, the repository demonstrates strong software engineering practices: clean separation of concerns, stream-based processing for large commit histories, a preset plugin pattern, and comprehensive test coverage including real git repository interactions. The lower-level packages (parser, filter, writer, git client) are designed to be reusable in other contexts, and the template utilities provide a foundation for custom changelog formatting.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cross-rs/cross ★ 8335 461 APPLICATION

cross-rs/cross is a CLI tool that enables zero-setup cross-compilation for Rust projects by wrapping Cargo and executing builds inside container engines (Docker/Podman). It manages a comprehensive registry of pre-built Docker images for dozens of target triples (Linux, musl, Android, FreeBSD, NetBSD, Solaris, Windows, bare-metal, etc.), automatically selects the appropriate image based on the --target flag, mounts the project source and toolchain, and runs cargo build/test inside the container. The tool also supports remote Docker execution, custom Dockerfiles, and advanced configuration via Cross.toml and environment variables. The codebase is structured as a Rust CLI with two binaries (cross and cross-util), a library of container orchestration modules, and a developer xtask workspace for CI, codegen, and changelog management. It demonstrates strong engineering practices with extensive CI, testing, and reusable patterns for command execution, container abstraction, and configuration merging. The repository includes a large collection of Dockerfiles and shell scripts for building target-specific toolchain images, as well as CI workflows that test across many platforms and container engines.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
exiftool/exiftool ★ 5172 492 APPLICATION

ExifTool is a mature, comprehensive Perl library and command-line application for reading, writing, and manipulating metadata across hundreds of file formats (images, audio, video, documents, archives, etc.). It supports all major metadata standards (EXIF, IPTC, XMP, GPS, ICC profiles, maker notes) and many proprietary formats. The architecture is modular: each file format has a dedicated Perl module under `lib/Image/ExifTool/` that implements a consistent interface for reading and writing metadata. The core `Image::ExifTool.pm` provides the API and CLI entry point. The codebase is exceptionally well-documented, with auto-generated HTML tag reference pages and extensive test coverage (over 100 test scripts with golden output files). It is actively maintained by a single author (Phil Harvey) with frequent releases. While the library is tightly coupled to the ExifTool framework, individual format modules follow clean patterns and could serve as reference implementations for metadata parsing. The repository also includes reusable utilities like `File/RandomAccess.pm` for buffered random file access and `Image/ExifTool/Geolocation.pm` for reverse geocoding.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
facebook/memlab ★ 5071 148 APPLICATION

Memlab is a comprehensive JavaScript memory leak detection and heap analysis framework developed by Meta. It provides a CLI, a programmatic API, and an MCP (Model Context Protocol) server for AI-assisted debugging. The system captures heap snapshots from Chromium (via Puppeteer), Node.js, Electron.js, and Hermes, then parses and analyzes them to identify memory leaks, optimization opportunities, and retention patterns. It includes specialized detectors for detached DOM elements, React component leaks, event listener accumulation, duplicate strings, and global variable bloat. The architecture is a monorepo with packages for core parsing and algorithms, E2E browser automation, heap analysis plugins, a public API, a CLI, an in-browser visualizer (MemLens), and an MCP server that exposes over 100 analysis tools. Key data flows involve warmup, browser interaction, snapshot capture, parsing, leak filtering, trace clustering (heuristic and ML-based), and report generation. External dependencies include Puppeteer, Chromium, and the MCP SDK.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
alecthomas/chroma ★ 5050 534 APPLICATION

Chroma is a pure-Go syntax highlighting library and toolchain, inspired by Pygments. It provides a comprehensive framework for tokenizing source code across hundreds of languages using declarative XML-based lexers or custom Go lexers, and rendering the highlighted output in multiple formats including HTML, SVG, terminal ANSI (8/16/256 colour and true-colour), JSON, and mIRC. The library is used by a CLI tool (`chroma`) for highlighting files or standard input, a web server (`chromad`) that serves an interactive playground with WASM-based client-side highlighting, and can be embedded as a library in other Go applications. Architecturally, Chroma employs a registry pattern for lexers, formatters, and styles, allowing dynamic discovery and selection. Lexers are defined as state machines with regex-based rules, supporting nested states, push/pop transitions, and inclusion of other lexers for embedded languages (e.g., PHP in HTML). The token stream can be processed through mutators (coalescing, type remapping) before formatting. Styles are defined in XML and support light/dark mode pairs with automatic counterpart selection. Key entry points include the `quick.Quick.Highlight()` convenience function, the CLI in `cmd/chroma/main.go`, the web server in `cmd/chromad/main.go`, and the WASM module in `cmd/libchromawasm/main.go`. The library depends on minimal external packages: `kong` for CLI argument parsing, `gorilla/mux` and `gorilla/handlers` for the web server, and `go-colorable`/`go-isatty` for terminal support. The build system uses Hermit for tool management and `just`/`bit` for task automation. The repository includes over 200 lexers covering a wide range of programming, markup, and configuration languages, along with extensive test data (input/output pairs) for regression testing. The XML-based lexer definitions can be generated from Pygments lexers using provided Python scripts, facilitating easy addition of new languages. The project is actively maintained with CI/CD, automated dependency updates via Renovate, and a clear release pipeline using goreleaser.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
openclaw/mcporter ★ 5039 347 APPLICATION

mcporter is a portable Model Context Protocol (MCP) runtime, CLI, and code-generation toolkit. It connects to configured MCP servers—over stdio, HTTP/SSE, or Chrome DevTools relay—and exposes their tools via a rich command-line interface (subcommands: list, call, resource, auth, config, serve, daemon, generate-cli, emit-ts, record, replay) and a programmatic API (createRuntime, createServerProxy). The architecture is modular: a config layer merges JSON/JSONC files and imports from common editor configs (Cursor, Claude, VS Code); a runtime layer manages transport connections with OAuth support, record/replay, and error classification; a daemon process pools keep-alive servers for low-latency reuse; and a codegen subsystem produces standalone CLIs or typed TypeScript clients from server schemas. The codebase is heavily tested (~150 test files, coverage ≥89.6%), follows modern TypeScript patterns, and supports protocol versions from 2024-10-07 to 2026-07-28. It is not a data pipeline or research project—it is a production-grade developer tool for integrating MCP-powered agents and workflows.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
hledgerorg/hledger ★ 4766 416 APPLICATION

hledger is a cross-platform plain text accounting application that provides three user interfaces: a command-line tool (hledger), a terminal UI (hledger-ui), and a web UI (hledger-web). It implements double-entry bookkeeping with support for multiple currencies, investment lot tracking, budgeting, forecasting, and CSV import. Users maintain their financial data in human-readable journal files, and hledger generates reports such as balance sheets, income statements, cash flow, and transaction registers. The project is structured as a Haskell monolith with four packages: hledger-lib (core library for parsing, data models, reporting, and output), hledger (CLI with 30+ commands), hledger-ui (terminal interface using brick/vty), and hledger-web (web interface using Yesod). The core library handles reading multiple input formats (journal, CSV, timedot, timeclock), applying queries and filters, and writing reports in text, CSV, JSON, HTML, and ODS formats. The CSV import system uses a declarative rules engine for mapping external data to journal entries. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage (unit tests, shell tests, browser-based Playwright tests), and active maintenance with CI/CD across Linux, macOS, and Windows. It has comprehensive documentation, internationalization support, and a well-defined contribution process. While the project has some technical drift (vendored old web dependencies, multiple build systems), it remains a robust and well-engineered application with several reusable components that could be extracted for other projects.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
magefile/mage ★ 4690 279 APPLICATION

Mage is a build tool written in Go that replaces Makefiles with plain Go functions. Users define targets as exported functions in Go source files tagged with `//go:build mage`, and Mage compiles them into a standalone CLI binary. The architecture is a library-plus-CLI: the `mage` package handles parsing, compilation, and execution; the `mg` package provides dependency injection (`Deps`, `SerialDeps`, `CtxDeps`) and namespace grouping; the `sh` package offers shell command execution with environment expansion; the `parse` package uses Go's AST to extract targets and imports; and the `target` package implements file-based dependency checking. The tool supports zero-install via `go run`, static compilation, shell completion, and importing targets from other packages. It is a mature, well-tested project with no external dependencies beyond the Go standard library, making it highly portable and maintainable.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
openclaw/acpx ★ 3306 347 APPLICATION

acpx is a headless CLI client and runtime for the Agent Client Protocol (ACP), enabling orchestration of AI agent sessions with persistent state, multi-step flow execution, permission policies, and a replay viewer for auditing. The architecture combines a CLI entry point, an embeddable runtime (AcpRuntime), a queue-based IPC system for shared session access, and a separate React-based replay viewer for inspecting flow run bundles. It supports 20+ built-in agents (Claude, Gemini, Cursor, etc.) via ACP, manages session persistence as JSON files with event logs, and provides output formatting in text, JSON, or quiet modes. The codebase is predominantly TypeScript with extensive test coverage (85%+), conformance testing against the ACP specification, and platform-specific process management for Windows and POSIX systems.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
stacklok/toolhive ★ 2291 319 APPLICATION

ToolHive is a production-grade MCP (Model Context Protocol) server management platform developed by Stacklok. It provides a comprehensive CLI (`thv`), a Kubernetes operator (`thv-operator`), a proxy runner, and a virtual MCP server (vMCP) for aggregating multiple backend MCP servers. The system manages the full lifecycle of MCP workloads—running, stopping, building, exporting, and monitoring—while enforcing authentication (OAuth, OIDC, SPIFFE, AWS STS), authorization (Cedar, HTTP PDP, annotation-based), rate limiting, telemetry (OpenTelemetry/Prometheus), and secrets management (1Password, keychain, environment). It supports multiple transport protocols (SSE, streamable HTTP, stdio) and container runtimes (Docker, Podman, Kubernetes). The architecture is modular: a CLI layer built with Cobra, an API layer (RESTful registry and health endpoints), a Kubernetes operator layer with CRD reconcilers, a transport proxy layer with session management, and a plugin/skill system for installing and verifying OCI artifacts with Sigstore signing. The vMCP subsystem provides tool aggregation, conflict resolution, capability caching, and health monitoring with circuit breakers. External dependencies include Kubernetes client-go, Docker engine, Redis/Valkey, OpenTelemetry SDK, Sigstore, Ory/Fosite (OAuth), and various Go libraries for YAML, JSON Schema, and HTTP networking. Key data flows: CLI commands trigger workload creation via the runner, which builds a RunConfig from user flags and environment, then deploys the MCP server in a container (Docker/Kubernetes). The proxy layer intercepts MCP JSON-RPC messages, applies middleware (auth, rate limiting, telemetry, body limits), and forwards to the backend server. The vMCP server aggregates tools from multiple backends, resolves naming conflicts, and presents a unified MCP interface to clients. Telemetry spans are created at each layer and exported via OTLP. Skills and plugins are installed from OCI registries, verified with Sigstore, and managed via lock files with content digest validation.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
kkawakam/rustyline ★ 1920 214 APPLICATION

rustyline is a mature Rust library providing GNU Readline-style interactive line editing for terminal applications. It is not a standalone application but a reusable dependency used by CLIs, REPLs, and shells. The core is an Editor generic over helper and history types, with pluggable traits for completion, hints, highlighting, validation, and custom key bindings. It supports Emacs and Vi keymaps, Unicode/grapheme-aware editing, multi-line input, kill ring, undo/redo, and multiple history backends including in-memory, file, and SQLite. The architecture is trait-driven and platform-aware, with separate Unix and Windows TTY implementations behind a common abstraction, plus a derive macro crate to reduce boilerplate for custom helpers.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
tldr-pages/tlrc ★ 1028 34 APPLICATION

tlrc is the official Rust-based tldr client, providing simplified, community-driven man pages for over 10,000 commands. It downloads, caches, and renders Markdown pages with rich ANSI styling, line wrapping, and placeholder highlighting. The architecture is a single binary with modular components: CLI argument parsing via clap, configurable TOML-based settings, a caching layer with SHA256 verification and periodic auto-updates, and a flexible page renderer supporting multiple output modes (normal, compact, raw). The codebase exhibits high craftsmanship with comprehensive error handling, thorough unit tests, and a clean separation of concerns. It serves as a robust example of a well-structured Rust CLI application, particularly notable for its reusable markdown rendering engine and config management patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
planetlabs/planet-client-python ★ 300 100 APPLICATION

The Planet Labs Python SDK provides both a programmatic interface and a command-line tool for interacting with Planet's satellite imagery and data APIs. It enables users to authenticate, search for imagery, create and manage orders, handle subscriptions, upload areas of interest, configure cloud storage destinations, and access mosaics. The SDK is designed with a clear separation of concerns, featuring asynchronous API clients with synchronous wrappers, a robust HTTP session with retry and rate-limiting logic, and a flexible authentication system supporting multiple methods (API key, OAuth user, OAuth M2M) and storage strategies. Key architectural elements include a base client class that handles common HTTP operations, service-specific clients for each Planet API, and a Click-based CLI that mirrors the SDK's functionality. The repository also includes reusable utilities for GeoJSON handling, search filter construction, order and subscription request building, and progress reporting for long-running operations. The codebase demonstrates strong engineering practices with extensive test coverage, clear documentation, and active maintenance.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sazardev/goca ★ 295 11 APPLICATION

Goca is a CLI tool for generating Go applications following Clean Architecture principles. It scaffolds complete projects with domain, usecase, repository, and handler layers, supporting multiple databases (PostgreSQL, MySQL, MongoDB, etc.) and protocols (HTTP, gRPC, CLI, worker). The tool includes safety mechanisms (dry-run, backup, force), dependency injection generation, middleware creation, and Model Context Protocol (MCP) integration for AI-assisted development. Its architecture emphasizes layer separation and dependency management, generating production-ready code with built-in validation, testing scaffolding, and CI/CD pipeline generation.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
click-contrib/click-spinner ★ 295 32 APPLICATION

Click-spinner is a minimal Python library that provides a terminal spinner interface for indicating progress during long-running operations where the duration is unknown. The core functionality resides in the Spinner class, which runs a background thread to animate a sequence of characters (spinner frames) while the main thread executes work. The spinner automatically detects whether output is redirected and respects terminal capabilities, with options to force display, disable the spinner, or emit a beep upon completion. Designed as a context manager, it integrates seamlessly with Click-based CLI applications but has no framework dependencies, relying solely on Python's standard library. The project includes comprehensive test coverage verifying behavior under various conditions like output redirection, disabling, and exception handling, supported by CI workflows testing across Python 3.8-3.14.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
openclaw/clawpdf ★ 104 8 APPLICATION

ClawPDF is a zero-dependency PDFium WebAssembly library and CLI for Node.js and browsers. It extracts text, renders pages to RGBA bitmaps, and produces PNG bytes without runtime dependencies, native addons, or postinstall scripts. The library supports multiple input sources (file paths, URLs, Blobs, byte arrays) with configurable HTTP fetch timeouts and size budgets, password-protected PDFs, and text-first extraction with bounded image fallback. The CLI provides text extraction, JSON output, page rendering, and inline terminal image display for Kitty and iTerm2 protocols. The architecture is modular with clean separation of concerns: input normalization, engine lifecycle, document/page abstractions, render size resolution, PNG encoding, and extraction orchestration. The codebase demonstrates high craftsmanship with reusable components like the standalone PNG encoder and terminal inline image renderer.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: