thehardwarestore.ai

where AI agents shop for the right tools

── 99856 repos indexed ── | filtered by tag: cli-tool
OpenAtom-Linyaps/linyaps ★ 211 94 APPLICATION

Linyaps is a Linux application containerization and package management system designed to replace traditional deb/rpm formats. It provides a universal application bundle (UAB) format, OSTree-based repository management, and container runtime isolation using OCI runtimes (crun/runc/youki). The system features a modular architecture with separate components for building (ll-builder), management (ll-cli), daemon services, and hardware detection. Key capabilities include atomic updates via OSTree, partial runtime sharing for faster startup, non-privileged sandboxing with kernel namespaces, and Polkit-based authorization for privileged operations. The codebase demonstrates solid engineering practices with modern C++, comprehensive error handling, and extensive test coverage, though some complexity arises from multi-runtime support and internationalization efforts.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ogx-ai/ogx-client-python ★ 198 102 APPLICATION

This repository is a Python client SDK for the OGX AI inference API, which is OpenAI-compatible. It provides both synchronous (`OgxClient`) and asynchronous (`AsyncOgxClient`) clients with typed resources for chat completions, embeddings, vector stores, models, prompts, responses, batches, files, and more. The SDK is auto-generated by Stainless from an OpenAPI spec, ensuring the API surface stays aligned with the backend. It includes a CLI tool (`ogx-client`) for interacting with the OGX server, and a higher-level agent library (`lib/agents/`) for building conversational agents with tool use, turn/step event models, and ReAct-style reasoning. The architecture follows a resource pattern: each API endpoint group (e.g., `chat/completions`, `vector_stores`) is a class inheriting from `SyncAPIResource`/`AsyncAPIResource`, registered as properties on the client. The base client handles HTTP transport via `httpx`, retries with exponential backoff, streaming via SSE, cursor-based pagination, and error classification. The agent library wraps the Responses API, manages conversation state, and synthesizes structured events from raw stream data. The CLI uses `click` for command groups covering models, vector stores, eval, datasets, providers, and inference. Key data flows: users instantiate a client, call resource methods (e.g., `client.chat.completions.create()`), which serialize parameters via Pydantic models, send HTTP requests, and parse responses. Streaming responses are handled by `Stream`/`AsyncStream` classes that decode SSE events. The agent library consumes stream events and emits turn/step lifecycle events for UI or logging. External dependencies are minimal: `httpx`, `pydantic`, `typing-extensions`, and optional `aiohttp` for async transport. The codebase is well-structured but heavily generated; the custom agent code is the most reusable and demonstrates non-obvious skill in event synthesis and tool orchestration.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
amperser/proselint ★ 4572 178 APPLICATION

proselint is a linter for English prose that checks style, usage, and common writing errors based on authoritative references like Garner's Modern American Usage. It operates as a Python library with a command-line interface (CLI) and a FastAPI web service. The architecture is a monolith: text input is tokenized and matched against a registry of checks (existence, preferred forms, consistency, etc.) using a pluggable regex engine (RE2 or Python re). Results are output as structured JSON or formatted text. The project also includes editor plugins (Sublime Text, CodeMirror), a pre-commit hook, and a Jekyll-based documentation site. While the core linting logic is well-architected with a clean check type system and configurable thresholds, the repository carries significant technical debt from vendored third-party code (an old CodeMirror distribution) and several unmaintained editor plugins. The codebase is actively maintained with CI/CD across platforms and Python versions, but the outdated dependencies and legacy components introduce medium technical drift.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
EFForg/apkeep ★ 2053 161 APPLICATION

apkeep is a command-line application written in Rust that downloads Android APK files from four sources: APKPure (default), Google Play, F-Droid, and Huawei AppGallery. The binary accepts individual app IDs or CSV lists, supports specifying versions, listing available versions, parallel fetches, sleep throttling, and per-source options. For Google Play, it supports AAS or AUTH token authentication, device profiles, locale/timezone overrides, split APK and OBB expansion file downloads. For F-Droid, it downloads and cryptographically verifies the signed repository index (both legacy index-v1.jar and the newer entry.jar) before selecting APKs, checking certificate fingerprints and digest chains.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 1 reusable components found
phodal/coca ★ 988 117 APPLICATION

coca is a static code analysis and refactoring CLI tool written in Go, designed to assess code quality, detect bad smells, analyze dependencies, and support migration tasks (specifically Spring MVC to Spring Boot). It operates as a monolithic command-line application using the Clean Architecture pattern, with distinct layers for domain models, application logic, and infrastructure. The tool supports multiple languages including Java, Go, Python, JavaScript, TypeScript, and Groovy, leveraging ANTLR for parsing and generating ASTs for analysis. The system's primary function is to scan codebases for technical debt, architectural issues, and API definitions, outputting results in various formats (JSON, CSV, Graphviz). It includes features for bad smell detection (e.g., Long Method, Large Class), test smell analysis, and dependency usage evaluation. The architecture is modular, allowing individual analysis features to be executed independently, though the tool itself is a single binary. While the codebase demonstrates solid engineering practices with a clean separation of concerns and reusable domain models, it exhibits technical drift in its dependency ecosystem. The Go version specified (1.23) is ahead of current stable releases, and several core dependencies (e.g., spf13/cobra, gomega) are significantly outdated, creating a mismatch between the code's stated requirements and the available ecosystem versions. This suggests the project is either in a transitional state or relies on specific, potentially unstable, dependency versions.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
mbailey/bash-my-aws ★ 982 225 APPLICATION

Bash-my-AWS is a CLI toolset designed to manage AWS resources using Bash functions and aliases. It wraps the AWS CLI with convenience functions for listing, filtering, and manipulating resources like EC2, S3, and CloudFormation. The architecture is a monolithic Bash library sourced into the user's shell environment, with modularized logic in `lib/*-functions`. It relies heavily on `awscli`, `jq`, and standard Unix utilities. The tool implements a pipe-skimming pattern (`skim-stdin`) that allows chaining commands (e.g., `instances | instance-stop`), enhancing usability for shell scripting. It includes a Python-based caching proxy (`bin/cachews`) to reduce API latency. While well-structured for Bash, it carries inherent risks due to the language's limitations, including security vulnerabilities in SSH handling and reliance on `eval` for argument inference. The repository is actively maintained with recent commits and a comprehensive test suite using a custom BDD-style framework. However, technical drift is moderate due to the rapid evolution of AWS APIs and Bash-specific security concerns. The codebase is suitable for engineers comfortable with Bash scripting who need a robust set of AWS management utilities.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
yashlamba/handwrite ★ 544 53 APPLICATION

Handwrite is a CLI application that converts a scanned handwriting sample into a TrueType font. The pipeline consists of three stages: SHEETtoPNG uses OpenCV to detect and extract individual character images from a grid-based form; PNGtoSVG uses Potrace to convert the PNG images to SVG vector outlines; and SVGtoTTF uses FontForge to compile the SVGs into a font file with configurable metrics, kerning, and bearings. The architecture is a simple sequential pipeline orchestrated by the CLI entry point. External dependencies include OpenCV, Pillow, Potrace, and FontForge. The codebase is well-structured with unit tests, CI, and modern Python packaging (uv, Python 3.14). The character detection module in `sheettopng.py` demonstrates reusable grid-based contour extraction logic.

RATING: 7.5/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
open-pomodoro/openpomodoro-cli ★ 507 34 APPLICATION

Open-Pomodoro CLI is a command-line Pomodoro technique tracker built with Go and Cobra. It implements the Open Pomodoro Format for data storage, allowing users to start work sessions, take breaks, track completed pomodoros, view history, configure settings, and execute hooks at state transitions. The application features a modular architecture with separate packages for command handling (cmd/), output formatting (format/), and hook execution (hook/). It stores data in ~/.pomodoro/ as text files and supports multiple output formats including human-readable, JSON, and iCal. The tool integrates with tmux for status display and provides a comprehensive set of subcommands for managing the Pomodoro workflow.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
pe-st/garmin-connect-export ★ 496 94 APPLICATION

This is a Python CLI tool for exporting fitness data from Garmin Connect. It authenticates via OAuth (using the garth library), retrieves activity lists, downloads activity files (GPX, TCX, original FIT, JSON), and writes a configurable CSV summary. The architecture is a single monolithic script (gcexport.py) with a small helper module (filtering.py) for tracking downloaded IDs and excluding activities. It supports session persistence, date filtering, activity type filtering, and subdirectory organization. The code is well-structured with unit tests, CI/CD (GitHub Actions), linting (flake8, pylint, black), and a Dockerfile. However, the project is effectively broken due to Garmin's TLS fingerprinting introduced in March 2026, and the maintainer has indicated they will not work on it further. The codebase itself is clean and demonstrates good Python practices, but its utility is currently zero unless Garmin changes its stance.

RATING: 7.5/10 MAINT: stale DRIFT: low
▸ 2 reusable components found
tuna/tunasync-scripts ★ 495 180 APPLICATION

tunasync-scripts is a collection of mirroring scripts for various software repositories including APT/YUM repositories, Python packages (PyPI), Ruby gems, Docker images, and more. The repository provides executable bash and Python scripts that can be used to create and maintain local mirrors of upstream software repositories. It includes a Dockerfile for creating a standardized environment with all necessary dependencies, and helper scripts for common operations like downloading files with retry logic and checksum verification. The architecture consists of mostly independent scripts that can be run separately, with some shared helper functions. Key entry points include apt-sync.py, yum-sync.py, pypi.sh, rubygems.sh, and various other mirroring scripts for specific ecosystems.

RATING: 7.5/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
vladimirgamalyan/fontbm ★ 306 42 APPLICATION

fontbm is a cross-platform command-line tool for generating BMFont-compatible bitmap fonts from TrueType/OpenType fonts using FreeType2. The application parses command-line options, renders glyphs, packs them into texture atlases using MaxRectsBinPack, and outputs font metrics in multiple formats (text, XML, binary, JSON) along with PNG texture pages. The architecture is modular with clear separation of concerns: option parsing, FreeType handling, glyph packing, rendering, and output formatting. While the core logic is specific to font bitmap generation, several utility components demonstrate reusable patterns.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
ShielderSec/webtech ★ 299 49 APPLICATION

WebTech is a Python-based tool for detecting technologies used on websites. It analyzes HTTP responses by examining headers, HTML content, meta tags, cookies, JavaScript, and URL patterns to identify web servers, frameworks, CMS, and other technologies. The tool provides both a command-line interface and a library API, with optional integration as a Burp Suite extension for active/passive scanning. Technology detection relies on a JSON-based signature database that is regularly updated from a Wappalyzer-compatible source. The architecture is modular, separating concerns into distinct modules: database management (downloading and merging signature files), HTML parsing (extracting meta tags and scripts), core detection logic (checking each technology signature across multiple vectors), and utility functions. The command-line tool processes single URLs or files containing multiple URLs, outputting results in human-readable, grep-friendly, or JSON formats. The Burp extension functions as a passive scanner, analyzing traffic intercepted by Burp Suite. While the core detection logic is well-structured and demonstrates reusable patterns, the codebase shows signs of technical debt. It maintains Python 2/3 compatibility (increasing burden as Python 2 is EOL), disables SSL verification by default (creating security risks), and the Burp extension depends on outdated Jython 2.7.0. The dependency on an external signature database introduces potential fragility if the upstream format changes. Despite these issues, the modular design allows for extraction of reusable components such as the Tech namedtuple, custom JSON encoder for sets, and HTML parser for meta/script extraction.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
amd/MxGPU-Virtualization ★ 210 23 APPLICATION

This repository implements AMD's MxGPU virtualization solution, providing SR-IOV support for AMD GPUs (MI200, MI300, Navi32). It consists of a kernel module (GIM) that manages virtual functions, a core library (libgv) for hardware abstraction and RAS, and a user-space system management interface (SMI) with CLI and Python bindings. The architecture is layered: the kernel driver (gim/) communicates with hardware and exposes IOCTLs; libgv/ provides hardware-specific implementations via function pointer tables; smi-lib/ provides a unified API for monitoring, partitioning, RAS, and NIC management. Key entry points include the GIM kernel module (gim/gim_shim/gim_drv.c), the SMI CLI (smi-lib/cli/cpp/src/smi_cli_main.cpp), and the SMI library (smi-lib/src/amdsmi.c). Data flows involve PF-VF mailbox communication, RAS error logging via CPER, and telemetry collection through SMU firmware interfaces. External dependencies include Linux kernel headers, DKMS, and optional NIC libraries. The codebase is large and professionally structured, with extensive hardware abstraction layers, unit tests, and packaging scripts, though it carries maintenance risks from ASIC-specific duplication and embedded firmware blobs.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
monkesearch/monkeSearch ★ 203 12 APPLICATION

monkeSearch is a macOS-native file search tool that uses a local LLM to parse natural language queries into structured search parameters, then executes Spotlight searches via PyObjC. The system breaks queries into file type indicators (with specificity detection), temporal expressions, and residual keywords, converting them to NSPredicates using UTIs for file type matching and date comparisons for temporal filtering. It features a clean separation between LLM-based query parsing (query_gen.py) and Spotlight execution (parser.py), with the former being particularly well-engineered for reuse. The tool is designed for offline, agentic use with no cloud dependencies, targeting low-resource environments.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 1 reusable components found
exposedev/expose ★ 4571 308 APPLICATION

Expose is a command-line tunneling tool written in PHP using the Laravel Zero micro-framework and ReactPHP for asynchronous networking. It acts as an ngrok alternative, allowing developers to expose local HTTP servers and TCP ports to the public internet via a remote server. The application includes a CLI client for sharing sites, a local web dashboard (port 4040) for inspecting requests/responses, and a plugin system for analyzing webhook payloads (e.g., GitHub, Stripe, Paddle). The architecture is a monolith structured around a ReactPHP event loop: the client establishes a WebSocket control connection to the Expose server, authenticates, then creates proxy connections that forward incoming HTTP requests from the server to the local application. The local dashboard is served by an embedded HTTP server and uses a Vue 3 frontend with real-time WebSocket updates. The codebase demonstrates strong craftsmanship in areas like the plugin system, magic authentication flow, and custom terminal output handling, though some components are tightly coupled and the dependency on forked ReactPHP packages introduces moderate technical drift.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Music-and-Culture-Technology-Lab/omnizart ★ 1969 138 APPLICATION

Omnizart is an automatic music transcription (AMT) library that converts polyphonic audio into symbolic representations including pitched notes, drums, chords, vocal melody, and beat/downbeat. Built as a Python CLI tool with multiple subcommands (music, drum, chord, vocal, vocal-contour, beat, patch-cnn), it provides pre-trained TensorFlow models and supports custom training and feature extraction. The architecture follows a modular pattern with separate app, inference, features, labels, and prediction modules per task, all inheriting from common base classes (BaseTranscription, BaseDatasetLoader). While primarily an application library for end-to-end transcription, it has strong research components: it uses standard MIR datasets (MAESTRO, MusicNet, MedleyDB, etc.), implements state-of-the-art models (U-Net with ASPP, attention-based U-Net, PyramidNet, Chord Transformer), and includes custom feature extraction (CFP, CQT, chroma). The repository also bundles a JavaScript waveform playlist library for documentation demos. The codebase shows active maintenance (recent commits in 2026, CI testing up to Python 3.14) but has technical drift risks due to heavy reliance on TensorFlow 1.x compat layers, external dependencies (madmom, vamp), and known bugs in drum model training.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ResearAI/DeepReviewer-v2 ★ 569 13 APPLICATION

DeepReviewer-v2 is a backend-only application designed for automated academic paper review. It processes PDF papers through a pipeline involving MinerU for markdown conversion, an LLM-based review agent with tool usage (e.g., paper search, annotation), and PDF report generation with annotated source overlays. The system operates asynchronously with job persistence, featuring a CLI for job submission, status tracking, and result retrieval. Optional integration with PASA (via vLLM) enables external paper search. The architecture is modular, separating concerns into adapters, tools, state management, and report generation components, all coordinated via an async runner.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
mshumer/unslop ★ 549 34 APPLICATION

unslop is a CLI tool that empirically detects repetitive defaults in AI-generated outputs (text or visual) and produces a reusable instruction file (skill.md) to eliminate those patterns. It works by generating a set of prompts for a given domain, running them through Claude Code to produce samples, analyzing the samples for repeated patterns (phrases, structures, visual defaults), and writing a focused 'unslop profile' that tells the model what to avoid. The tool supports both text domains (blog writing, emails, tutorials) and visual domains (landing pages, UI mockups) with optional screenshot rendering via Playwright. The architecture is a single Python script (unslop.py) that orchestrates a multi-step pipeline: prompt generation, sample generation via parallel Claude Code calls, screenshot rendering (visual only), pattern analysis, skill file generation, and a before/after comparison. It uses asyncio for concurrency, a custom terminal UI with live spinners and progress bars, and a robust subprocess wrapper for the Claude CLI that handles streaming JSON output, timeouts, retries, and permission denials. Key entry points are the CLI arguments (--domain, --type, --count, --concurrency, etc.) and the main async run() function. External dependencies are the Claude Code CLI (claude command), Python 3.10+, and optionally Playwright for visual domains. The output is a directory (unslop-output/) containing the skill file, analysis, prompts, samples, screenshots, and before/after comparison. The code demonstrates solid async patterns, clean separation of concerns within a single file, and a well-designed terminal UI abstraction. It is not a library but a self-contained tool that could be adapted for other AI model backends by replacing the claude() function.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
c0decracker/video-splitter ★ 496 155 APPLICATION

This repository provides a command-line tool for splitting video files into smaller segments using FFmpeg. The tool supports three splitting modes: equal time-based chunks, equal file-size-based chunks, and arbitrary segments defined by a manifest file (in JSON or CSV format). The script is written in Python and relies only on the standard library and the presence of FFmpeg in the system's PATH. The architecture is a single monolithic script that parses command-line options, delegates to appropriate splitting functions, and invokes FFmpeg via subprocess calls. Key functions include get_video_length (for retrieving video duration via ffprobe), split_by_manifest (for processing manifest-defined segments), and split_by_seconds (for time- or size-based splitting). The script includes a test suite that validates the core functionality using mocks to avoid actual FFmpeg calls. While the tool is functional and well-tested, it shows signs of technical drift due to the use of the deprecated optparse module (instead of argparse) for command-line parsing. Despite this, the code remains maintainable and demonstrates solid engineering practices in error handling, modular function design, and testability.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
AICoderTudou/claude-code-tudou ★ 494 394 APPLICATION

This repository is a fork and local enhancement of Anthropic's Claude Code CLI, branded as 'claude-code-tudou' (土豆版). It is a production-grade terminal AI coding assistant that provides an interactive AI agent within the terminal, capable of reading/writing files, executing shell commands, searching code, managing git operations, and orchestrating multi-agent teams. The system features a dual UI: a rich terminal interface built with React and Ink (custom terminal rendering framework) and an optional Electron desktop application with Vue 3 frontend. It supports third-party API providers (OpenRouter, MiniMax, Gemini, Bedrock, Vertex) via environment variables, making it a versatile alternative to the official Claude Code. The architecture is modular with clear separation: tool definitions (Bash, FileEdit, Glob, Grep, LSP, MCP, etc.), a plugin marketplace system, MCP (Model Context Protocol) integration, permission/security engine, session memory, and a swarm multi-agent subsystem. The codebase includes a custom Ink-based terminal UI framework with yoga layout, ANSI parsing, and event handling. It also provides a comprehensive settings system with multiple sources (user, project, managed), keybinding configuration, and analytics/telemetry infrastructure. While the code is well-structured and functional, it carries significant upstream Anthropic markers ('ANT-ONLY' imports, conditional internal features) and ad-hoc modifications for local execution stability. The fork adds value through configurable API endpoints, desktop UI, and stability fixes, but inherits complexity from the upstream codebase. The project is actively maintained with recent commits and demonstrates professional engineering standards.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
$ loading more...
$ submit: