thehardwarestore.ai

where AI agents shop for the right tools

── 99850 repos indexed ── | filtered by tag: cli
reinterpretcat/vrp ★ 507 101 APPLICATION

This repository is a comprehensive Vehicle Routing Problem (VRP) solver implemented in Rust, organized as a multi-crate workspace. It provides a command-line interface (vrp-cli), a core optimization library (vrp-core), a hyper-heuristic framework (rosomaxa), and format-specific crates for pragmatic JSON and scientific benchmarks (Solomon, Li&Lim, TSPLIB). The solver supports a wide range of VRP variants including capacity, time windows, skills, breaks, reloads, recharges, multi-depot, multi-trip, and route balancing. It employs advanced metaheuristics: ruin-and-recreate, local search (including LKH and SWAP*), and a custom evolutionary algorithm called ROSOMAXA that uses Growing Self-Organizing Maps (GSOM) for population diversity and Thompson sampling for dynamic operator selection. The codebase is highly modular with a trait-based feature system for composing constraints and objectives, type-safe dimension macros, and extensive test coverage including property-based tests. While primarily an application/library, it also contains research experiments (heuristic visualization, GPT-based encoding) and scientific benchmark integration. The project is actively maintained but explicitly labeled as 'permanently experimental' with limited support, and the API may introduce breaking changes in minor versions.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
blackfireio/player ★ 496 57 APPLICATION

Blackfire Player is a PHP CLI application (blackfire-player) that executes declarative scenario files to crawl HTTP services, extract data, and assert responses, with integrated Blackfire performance profiling. It uses a custom DSL (`.bkf` files) to define sequences of steps (visit, click, submit, loop, while, etc.) and supports concurrent execution via PHP Fibers. The architecture is modular: a step hierarchy (AbstractStep, Step, etc.), dedicated step processors following the Chain of Responsibility pattern, an extension system for lifecycle hooks (before/after step, scenario), and a Symfony ExpressionLanguage wrapper providing scraping-specific functions (css, xpath, json, regex, fake, etc.). The tool integrates with the Blackfire SDK for profiling and assertion checks, and outputs results as JSON or text. It is distributed as a PHAR archive and a Docker image, built via GitHub Actions. The codebase is well-structured, heavily tested with PHPUnit, and follows modern PHP practices (typed properties, strict types, PHP 8.4+ features).

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pre-commit/identify ★ 296 178 APPLICATION

identify is a Python library for file identification that returns standardized tags based on file type, executability, content, extension, filename, or shebang. The architecture centers around core identification functions in identify.py, supported by extension and interpreter mappings in extensions.py and interpreters.py. Key features include optimized filename-based identification to avoid unnecessary file I/O, robust shebang parsing handling edge cases like /usr/bin/env and nix-shell, and text/binary detection using a libmagic-inspired algorithm. The library includes a CLI entry point and optional license identification via the ukkonen package. It has no runtime dependencies beyond the Python standard library, making it lightweight and portable.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
gdavila/easyVmaf ★ 200 42 APPLICATION

The repository provides a command-line tool for computing VMAF (Video Multi-method Assessment Fusion) scores between reference and distorted video streams. It automates preprocessing steps required for accurate VMAF assessment, including deinterlacing, scaling, frame rate adaptation, and temporal synchronization. The tool supports both CPU and GPU-accelerated VMAF computation via libvmaf and libvmaf_cuda, and can process multiple video pairs using glob patterns. The architecture follows a three-layer design: the CLI layer handles argument parsing and output formatting, the VMAF layer orchestrates preprocessing and scoring, and the FFmpeg layer provides low-level wrappers for FFmpeg/FFprobe subprocesses and filterchain management. This separation of concerns makes the FFmpeg wrapper component particularly reusable for other multimedia processing tasks. The tool outputs results in JSON, XML, CSV, or to stdout, and includes features such as automatic sync window search, reverse sync, end-sync option, VMAF model selection (HD and 4K), and CAMBI heatmap generation. It is designed for Linux and macOS, with Docker support for both CPU and GPU environments.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
openclaw/imsgcrawl ★ 12 3 APPLICATION

imsgcrawl is a local-first CLI tool for reading, archiving, and searching Apple iMessage data. It operates by taking a read-only snapshot of the macOS Messages SQLite database (`chat.db`), extracting handles, chats, messages, and deletion events, then merging them into a local SQLite archive. The tool provides bounded commands for metadata, status, sync, chats, messages, full-text search, and phone-only contact export. It outputs both human-readable text (with terminal control escape protection) and stable JSON for automation. The architecture is cleanly separated into packages for archive management, message extraction (including attributed body decoding and edit/unsend reconstruction), and portable SQLite snapshotting with macOS copy-on-write support. The codebase demonstrates strong engineering practices: thorough test coverage including fuzzing, explicit privacy boundaries, identity validation for source databases, and careful handling of edge cases like malformed UTF‑16, hardlinked sidecars, and concurrent sync locking.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
ohmyzsh/ohmyzsh ★ 190022 28100 APPLICATION

Oh My Zsh is a community-driven framework for managing Zsh shell configuration. It consists of a core library (lib/), over 200 plugins providing aliases, functions, and completions for development tools and workflows, and over 100 prompt themes. The system is loaded by sourcing oh-my-zsh.sh, which initializes libraries, plugins, custom configurations, and the chosen theme. Plugins follow a consistent structure and many generate completions asynchronously. The repository also includes install/update/uninstall tooling and CI automation for dependency updates. While the vast majority of files are simple aliases or READMEs, several components exhibit high craftsmanship—notably the emoji definitions (auto-generated from Unicode data), the git prompt library (lib/git.zsh) with async support and security patches, the Zsh Navigation Tools (plugins/zsh-navigation-tools) providing full-screen interactive widgets, and the dependency updater script. Some content is stale (outdated completions for rustc, scala, yarn v1, docker-compose v1) and there is a long tail of low-effort plugins, but the core framework is well-maintained and actively developed.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
DevExpress/testcafe ★ 9895 676 APPLICATION

TestCafe is a free, open-source end-to-end web testing framework that runs tests in real browsers without requiring WebDriver. It provides a comprehensive API for writing tests in JavaScript or TypeScript, including actions (click, type, drag), assertions, selectors, client functions, roles, request mocking/logging, and hooks. The framework operates via a proxy-based architecture (using the custom 'hammerhead' proxy) or native Chrome DevTools Protocol (CDP) automation, enabling cross-browser testing on Chrome, Firefox, Edge, Safari, and remote/cloud browsers. Key entry points include the CLI (`bin/testcafe.js`), the programmatic API (`src/testcafe.js`), and the test file compilers that support ES6+, TypeScript, CoffeeScript, and a raw JSON format. The system manages browser connections, test execution (including quarantine mode, live mode with hot reload, and concurrency), screenshot capture, video recording, and detailed reporting with plugin support. External dependencies include custom internal libraries (hammerhead, browser-tools, legacy-api), Babel for compilation, and ffmpeg for video recording. The codebase is large and well-structured, with clear separation between client-side automation, server-side orchestration, and shared utilities, though it exhibits some technical debt from dual automation paths and legacy API support.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
artilleryio/artillery ★ 9093 571 APPLICATION

Artillery is a cloud-scale load testing and functional testing framework for backend services and APIs. It supports multiple protocols (HTTP, WebSocket, Socket.IO, Playwright, PostHog) through a plugin-based engine architecture. The system is primarily a CLI tool (built on oclif) that executes YAML/JSON test scripts defining virtual user flows with configurable arrival phases, payloads, and assertions. It provides distributed execution across local worker threads, AWS Lambda, AWS ECS/Fargate, and Azure ACI, with a bill-of-materials (BOM) system that bundles test dependencies for cloud workers. Metrics are aggregated via a custom Simple Statistics Measurement System (SSMS) supporting counters, histograms (DDSketch), and rates, and can be published to Datadog, CloudWatch, Prometheus, OpenTelemetry, Splunk, New Relic, and other observability platforms. The codebase is a monorepo managed with Turborepo, containing the core runner, platform integrations, first-party plugins (expect, ensure, apdex, slack, fake-data, metrics-by-endpoint, publish-metrics, memory-inspector), and shared type definitions. Key entry points include the `artillery` binary (`packages/artillery/bin/run`), the core runner (`packages/artillery/lib/core/runner.ts`), and platform launchers (`packages/artillery/lib/launch-platform.ts`). External dependencies include AWS SDK, Azure SDK, Playwright, got (HTTP client), and various metric publishing SDKs. The architecture is event-driven, using EventEmitter for lifecycle events and plugin hooks, with a global `global.artillery` object for shared state.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
developit/microbundle ★ 8129 359 APPLICATION

Microbundle is a zero-configuration bundler for small JavaScript/TypeScript libraries, built on top of Rollup. It automatically generates multiple output formats (ESM, CJS, UMD, and a modern ES2017 bundle) from a single source entry, using package.json fields to determine input and output paths. The system reads the package.json, resolves entry points, and creates Rollup configurations for each format, applying Babel for transpilation (with custom presets for modern vs legacy targets), TypeScript via rollup-plugin-typescript2, CSS handling via PostCSS, and minification via Terser. It supports features like JSX, CSS Modules, property mangling, build-time constant replacement, module aliasing, Web Workers, and bundle visualization. The architecture is a CLI tool (`src/cli.js`) that parses arguments with `sade` and calls the core `microbundle()` function (`src/index.js`), which orchestrates the build pipeline. The codebase is well-structured, with reusable utility modules for option normalization, Babel plugin customization, and size reporting. While the dependency versions are somewhat dated (Rollup 2, Babel 7.12), the project remains actively maintained with recent commits and a comprehensive test suite covering many edge cases.

RATING: 8.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
initialcommit-com/git-sim ★ 4687 130 APPLICATION

git-sim is a CLI tool that generates visualizations of Git operations from within a local repository. It uses the Manim animation library to render commit graphs, branches, tags, and file states as either static images (JPG/PNG) or animated videos (MP4/WEBM). The architecture is built around a base class `GitSimBaseCommand` that extends Manim's `MovingCameraScene` and provides common drawing methods for commits, refs, arrows, and zone tables. Each Git subcommand (add, branch, checkout, merge, etc.) is implemented as a separate Python class that inherits from this base class and overrides the `construct()` method to build the specific scene. The CLI interface is defined using Typer, and the application reads the current Git repository state via GitPython. The animation output is handled by a dedicated `handle_animations` function that manages rendering, format conversion, and file output. The codebase is well-organized, with clean separation between command logic, animation rendering, and configuration management via Pydantic settings. It demonstrates effective use of the Manim library for non-trivial graphics and provides a robust framework for simulating Git commands.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
thlorenz/doctoc ★ 4463 486 APPLICATION

doctoc is a CLI tool that automatically generates and updates a table of contents (TOC) for Markdown files. It parses markdown and HTML headings, creates anchor links compatible with GitHub, GitLab, Bitbucket, and other platforms, and inserts the TOC into the file between special comment markers. The tool supports a wide range of configuration options including heading level limits, custom titles, ordered/unordered lists, indentation styles, and pragma comment styles (legacy or compact). It can operate on single files or recursively scan directories, and offers a dry-run mode for CI validation. The architecture is a straightforward Node.js CLI application. The entry point is `doctoc.js`, which parses command-line arguments via `minimist` and delegates to `lib/transform.js` for the core TOC generation logic. `lib/transform.js` uses `@textlint/markdown-to-ast` to parse Markdown into an AST, `htmlparser2` to extract HTML headings, and `anchor-markdown-header` to generate anchor links. `lib/content-generation.js` handles the creation of comment markers (pragmas) for different syntaxes (`.md`, `.mdx`) and styles. `lib/file.js` provides recursive file discovery. The tool is distributed as an npm package and can also be used as a pre-commit hook via the provided `.pre-commit-hooks.yaml`. External dependencies are minimal and well-chosen: `@textlint/markdown-to-ast` for parsing, `htmlparser2` for HTML parsing, `anchor-markdown-header` for anchor generation, `loglevel` for logging, and `minimist` for argument parsing. The codebase is written in CommonJS style with `'use strict'`, and tests use the `tap` framework with a comprehensive suite of fixtures covering edge cases like frontmatter, emoji headers, nested markdown, and various formatting options.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
eclipse-openvsx/openvsx ★ 2056 365 APPLICATION

Eclipse Open VSX is a full-stack, vendor-neutral open-source registry for VS Code extensions, serving as an alternative to the Visual Studio Marketplace. The system comprises three main components: a Java/Spring Boot server that manages extension publishing, security scanning, rate limiting, download analytics, and trusted publishing via OIDC; a React/TypeScript web UI (MUI, TanStack Query) for browsing, searching, and administering extensions; and a Node.js CLI for publishing, verifying, and managing extensions. The server uses PostgreSQL with Flyway migrations, optional Elasticsearch for search, TimescaleDB for time-series download analytics, and Valkey/Redis for caching and rate limiting. Storage is abstracted over local filesystem, AWS S3, Azure Blob, and Google Cloud Storage. The architecture is a monolith with background job processing via JobRunr, and it exposes both a custom REST API and a VS Code Gallery-compatible API for seamless integration with VS Code and other editors.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
jakejs/jake ★ 1974 190 APPLICATION

Jake is a battle-tested JavaScript build tool for Node.js, inspired by Make and Rake. It allows developers to define tasks (synchronous or asynchronous), file tasks, directory tasks, and rules using a declarative JavaScript API. The system was designed for extensibility: tasks can have prerequisites, can be namespaced, and can be generated dynamically via pattern-based rules. Jake supports parallel execution with concurrency control, promise-based async tasks, and a rich set of built-in utilities for file manipulation, shell command execution, and package publishing. The architecture is a monolithic library with a CLI entry point; the core is the `jake` global object and the `Task` class hierarchy, which manages the invocation chain, prerequisite resolution, task lifecycle, and error handling. The codebase is well-structured, with clear separation of concerns across modules (API, loader, program, namespace, task types, rule engine, utilities). It has been actively maintained for over a decade, with a comprehensive test suite covering unit and integration scenarios. The most valuable reusable components are the shell command executor (`jake.exec`/`jake.createExec`), the file utility functions (`cpR`, `mkdirP`, `rmRf`), and the dynamic rule engine that can synthesize file tasks from patterns.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
lgarron/folderify ★ 1950 52 APPLICATION

folderify is a macOS CLI tool that generates pixel-perfect native-style folder icons from a mask image (typically a PNG with a black design on transparent background). It produces .iconset directories and .icns files covering all standard icon sizes (16x16 through 512x512@2x) by compositing the mask with bundled folder template graphics via ImageMagick. The tool automatically adapts to the current macOS version (Big Sur or Tahoe style) and color scheme (light/dark), supports optional badges (alias, locked), and can assign the icon directly to a folder using AppleScript, fileicon, or Rez. The codebase is well-structured Rust with clean CLI argument parsing via clap, careful error handling, and comprehensive behavioral tests using Bun. It relies on external dependencies including ImageMagick, iconutil, and various macOS command-line utilities.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
cloudfoundry/cli ★ 1933 987 APPLICATION

This is the official Cloud Foundry CLI (cf) version 9, a Go-based command-line tool for managing Cloud Foundry platforms. It provides a comprehensive set of commands for interacting with Cloud Controller (V2 and V3 APIs), UAA for authentication, networking policies, routing, and service brokers. The CLI supports application lifecycle management (push, scale, restart, logs), organization and space management, service instance and broker management, security groups, quotas, buildpacks, domains, routes, and plugins. The architecture follows a layered pattern: commands (in `command/v7/` and legacy `cf/commands/`) delegate to an actor layer (`actor/v7action/`, `actor/v7pushaction/`) which in turn uses API clients (`api/cloudcontroller/ccv3/`, `api/uaa/`, `api/cfnetworking/`, `api/router/`). HTTP clients are wrapped with middleware for authentication, retry, and logging. The codebase is heavily tested with unit tests (using counterfeiter fakes) and integration tests (Ginkgo/Gomega) that run against live or simulated CF environments. Key entry points include `main.go` which dispatches to either the V7 command parser or legacy V2 parser. The V7 commands are registered in `command/common/command_list_v7.go` and each command embeds a `BaseCommand` that provides shared setup (UI, config, actors). The push workflow is particularly complex, involving manifest parsing, resource matching, package creation, staging, and deployment via an event-driven pipeline in `actor/v7pushaction/`. External dependencies include Cloud Controller API, UAA, Log Cache, Networking Policy API, and Routing API. The CLI also supports a plugin system via RPC. The codebase is actively maintained with recent commits and CI workflows, though it carries legacy V2 code that is being gradually replaced by the V7 architecture.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
test-kitchen/test-kitchen ★ 1891 576 APPLICATION

Test Kitchen is a Ruby-based integration testing framework for infrastructure code, primarily used in the Chef ecosystem but extensible to any configuration management tool. It provides a CLI (`kitchen`) that orchestrates a lifecycle of actions—create, converge, setup, verify, destroy—across isolated target platforms (VMs, containers, cloud instances) using a plugin architecture for drivers, provisioners, transports, and verifiers. Configuration is defined in YAML files (`.kitchen.yml`) with layered merging (global, project, local) and ERB support. The core library manages instance state via YAML files, structured logging (NDJSON), lifecycle hooks, and concurrency. External dependencies include SSH (net-ssh), WinRM (chef-winrm), and shell execution (mixlib-shellout). The codebase is well-structured with extensive unit and integration tests, but carries some technical debt from legacy Chef provisioner migration and outdated documentation assets.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
openteams-lab/openteams ★ 614 78 APPLICATION

OpenTeams is a multi-agent AI coding assistant platform that enables users to collaborate with multiple AI coding agents (Claude Code, Codex, Gemini CLI, etc.) in a single shared session. The system provides a local-first desktop application built with Tauri (Rust backend + React/TypeScript frontend), a standalone CLI tool (`openteams-cli`) written in TypeScript with Bun, and a web frontend. The backend is an Axum HTTP server in Rust with SQLite persistence managed via SQLx, supporting chat sessions, workflow orchestration, source control integration, approval systems, and a skill registry. The architecture is modular: a `crates` workspace separates database models, services, executors, deployment, and utilities, while the CLI uses Effect-TS for dependency injection and includes a TUI built with SolidJS. In production, the system orchestrates AI agents through the Agent Client Protocol (ACP) and provider-specific SDKs, managing execution processes, worktrees, and chat message queues. Key data flows include: user input → chat runner → agent execution (with tool calls, file edits, git operations) → event streaming back to frontend/CLI. The platform integrates with GitHub for PR review, issue tracking, and work item management, and supports custom MCP servers and skill plugins. External dependencies include SQLite, Tauri, Bun, various AI provider APIs (Anthropic, OpenAI, Gemini, Copilot), and GitHub CLI for certain operations.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
S-Sigdel/vimhjkl ★ 541 13 APPLICATION

vimhjkl is a Vim technique trainer that drills advanced Vim skills (dot command, text objects, registers, macros, Ex commands) using real vim/nvim as a subprocess. It features a CLI with interactive menu (j/k navigation, vim-style counts) and four practice modes: Learn, Blind, Practice, Grind, and Review. The application uses a spaced repetition system (Leitner boxes) to schedule skill reviews based on keystroke efficiency. It includes 66 skills across 230 challenges, with a curriculum defined in JSON and generated by a separate build system. The codebase is pure Python stdlib with zero third-party dependencies, and supports internationalization (Chinese shipped) with an AI translation pipeline. The architecture is modular: CLI entry point, engine for session logic, grader for vim subprocess management, store for progress persistence, and TUI for terminal rendering. The repository also contains build scripts for curriculum generation and packaging (Homebrew, AUR).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
fregante/chrome-webstore-upload-cli ★ 506 36 APPLICATION

This is a CLI tool for uploading and publishing Chrome extensions to the Chrome Web Store. It wraps the `chrome-webstore-upload` library, providing a command-line interface with commands for upload, publish, or both. The tool handles OAuth2 authentication via environment variables, resolves the extension source (zip, crx, or directory with manifest.json), and supports options like deploy percentage, trusted testers, and max wait time for upload completion. The codebase is small, well-structured, and thoroughly tested with Ava. It demonstrates clean separation of concerns: configuration assembly in `config.js`, source resolution in `find-source.js`, API calls in `wrapper.js`, utility functions in `util.js`, and robust error handling in `error-handler.js`. The error handler is particularly well-crafted, extracting detailed error messages from Google API responses including field violations and localized messages. The tool is actively maintained with recent commits and CI testing across multiple Node.js versions.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
openclaw/goplaces ★ 258 36 APPLICATION

goplaces is a production-grade Go client and CLI for the Google Places API (New) and selected Routes API workflows. It provides typed request/response structs, deterministic field masks for cost control, context support, and pluggable HTTP. The CLI offers eight commands (search, nearby, autocomplete, details, photo, resolve, route, directions) with both human-readable and JSON output. The repository includes an extensive release pipeline with code signing, notarization, reproducible builds, and Homebrew distribution. The codebase is well-structured with clear separation between CLI rendering, API client logic, and validation. It demonstrates strong engineering practices: high test coverage (≥90%), linting, vulnerability scanning, and hardened release scripts with pinned tool versions and multi-phase verification. The project is actively maintained with frequent releases and comprehensive documentation.

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