thehardwarestore.ai

where AI agents shop for the right tools

── 99933 repos indexed ── | filtered by tag: cli
sebpiq/WebPd ★ 1000 90 APPLICATION

WebPd is a compiler and runtime system that translates Pure Data (Pd) audio patches into JavaScript or WebAssembly, enabling real-time audio synthesis and processing in web browsers and Node.js environments. The codebase is structured as a TypeScript monorepo with a CLI tool (`webpd`), a browser runtime using AudioWorklet, and a comprehensive library of Pd object implementations (147+ objects). The core compilation pipeline parses `.pd` files, resolves abstractions, optimizes DSP graphs, and generates self-contained output formats including `.js`, `.wasm`, `.wav`, and standalone HTML apps. The architecture is modular: the `src/nodes/` directory contains individual builder and runtime implementations for each Pd object (osc~, dac~, filters, delay lines, message objects, etc.), all following a consistent `NodeBuilder` pattern with `translateArgs` and `build` methods. The compiler (`src/compile-dsp-graph/`) handles graph transformations like implicit signal mixing and message-to-signal conversion. The runtime layer (`src/environments/browser/`) provides initialization, AudioWorklet integration, and message passing between JavaScript and the compiled patch. The codebase demonstrates strong engineering practices with extensive parameterized tests that verify both JavaScript and WebAssembly outputs against golden fixtures. However, it is in alpha status (v1.0.0-alpha.14) with many incomplete features (e.g., `readsf~` state machine, `list` operations, `expr` if-form) and several TODO comments. The project relies on internal packages (`@webpd/compiler`, `@webpd/pd-parser`) that require coordinated builds, and some generated code strings are embedded in runtime files, creating potential maintenance friction. Despite these caveats, the compiler design, test infrastructure, and Pd compatibility are noteworthy.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 6 reusable components found
humblepenguinn/envio ★ 991 20 APPLICATION

envio is a Rust CLI tool for managing environment variables in encrypted profiles. It creates, edits, imports, exports, and deletes profiles stored as `.envio` files in a project's `.envio/profiles` directory. The profiles can be plaintext or encrypted using passphrase (Argon2id + XChaCha20Poly1305), symmetric key (base64-encoded 32-byte key + XChaCha20Poly1305), or GPG (delegates to the system `gpg` CLI). The tool integrates with the OS keyring to store encryption keys and provides both a command-line interface and a TUI (beta) built with ratatui. The architecture cleanly separates library code (profile, cipher, env map) from binary code (CLI, TUI, prompts). The library is reusable for other Rust projects needing profile-based encrypted env management, though cipher types are somewhat coupled to the crate's error types. The encryption implementations demonstrate solid security practices (Argon2id password hashing, XChaCha20Poly1305 AEAD with streaming). The CI/CD pipeline builds for multiple platforms and generates shell completions and man pages at compile time. The project lacks unit tests in the visible source tree, which is a notable gap.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
marph91/jimmy ★ 532 27 APPLICATION

Jimmy is a command-line and terminal UI tool for converting notes from 50+ note-taking applications (Evernote, Obsidian, Joplin, Notion, Bear, etc.) into a unified Markdown format. It uses an intermediate representation (Notebook/Note/Resource/Tag objects) decoupled from input parsing and output writing, allowing clean extensibility. The architecture is a plugin-style converter framework with a rich set of format-specific parsers, markdown preprocessing libraries, and a resource deduplication system. The tool is distributed as standalone binaries bundling Pandoc and other dependencies. While the core abstractions are well-crafted, the vast majority of the codebase consists of tightly coupled format converters that are specific to each app's export schema, limiting general reuse. The project has extensive integration tests via a test data submodule, but many converters lack unit tests. Its requirement for Python 3.14 (a very recent version) and reliance on external binaries (Pandoc, one2html) introduce drift risks.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
drasimwagan/mdv ★ 506 12 APPLICATION

MDV (Markdown Data & Visualization) is a tool that extends CommonMark Markdown with front-matter, fenced code blocks for charts/tables/stats, `:::` container directives for layout and styled regions, and auto-generated table of contents. It parses `.mdv` files and renders them to self-contained HTML with inline SVG charts (bar, line, pie) and CSS themes, requiring no JavaScript runtime in the output. The project is a TypeScript monorepo with three packages: `@mdv/core` (parser and renderer library), `@mdv/cli` (CLI with render, preview, and PDF export commands), and `mdv-vscode` (VS Code extension providing live side-by-side preview). The parser uses `markdown-it` as a base with a fence-aware preprocessor that handles `:::` directives and HTML comments correctly within code blocks. The renderer is designed for robustness: errors never crash the document, invalid front-matter renders a fatal banner, and chart data validation produces inline error messages. Security measures include escaping raw HTML, sanitizing style values, and preventing path traversal in data file references. The CLI supports live preview with file watching and auto-reload, and PDF export via headless Chromium (Puppeteer). The VS Code extension provides a debounced live preview that also refreshes on data file changes.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
FedeClaudi/Term.jl ★ 493 43 APPLICATION

Term.jl is a Julia library for producing styled, beautiful terminal output. Inspired by Python's Rich library, it provides a markup language for inline color and style formatting (e.g., `{red}text{/red}`), a hierarchy of renderable objects (Panel, Table, Tree, Dendogram, ProgressBar), and interactive widgets (App, Menus, Pager, Buttons). The library also includes enhanced logging, stack trace rendering, progress bars, custom REPL display, and markdown rendering. Its architecture is modular: core types like `AbstractRenderable`, `Segment`, and `Measure` form the foundation, with composition via overloaded `*` (horizontal stack) and `/` (vertical stack) operators. A theme system centralizes styling. The codebase is well-tested with golden-file snapshots, but includes some platform-specific assumptions and absolute file paths in test fixtures that limit portability. Overall, it is a mature, feature-rich terminal UI toolkit with high craftsmanship.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lazear/sage ★ 310 66 APPLICATION

Sage is a high-performance proteomics database search engine implemented in Rust. It identifies peptides from tandem mass spectra by performing in silico digestion of a protein database (FASTA) and matching theoretical fragment ions to observed spectra. The system supports multiple input formats (mzML, MGF, Bruker TDF) and provides comprehensive quantification capabilities including isobaric labeling (TMT) and label-free quantification (LFQ). It also includes retention time prediction, ion mobility prediction, and statistical validation through linear discriminant analysis and false discovery rate control. The architecture is organized as a Cargo workspace with three crates: `sage` (core library), `sage-cli` (command-line interface), and `sage-cloudpath` (cloud storage abstraction). The CLI entry point in `sage-cli/src/main.rs` parses a JSON configuration file and invokes the `Runner` to orchestrate the search pipeline. The core library handles database construction (digestion, indexing, fragment generation), spectrum processing (deisotoping, charge deconvolution), scoring (X!Tandem hyperscore variants), and machine learning (LDA rescoring, KDE for posterior error probability, retention time alignment). Quantification modules extract ion chromatograms for LFQ and reporter ions for TMT. Key data flows: raw spectra and FASTA database are read (optionally from cloud storage), peptides are generated in silico with variable modifications, fragment ions are indexed and matched to spectra, PSMs are scored and rescored with LDA, FDR is controlled via picked-peptide and picked-protein methods, and results are output as TSV, Parquet, or PIN files. The system is designed for parallel execution using Rayon and can process large datasets efficiently. External dependencies include the `timsrust` library for Bruker TDF files, `object_store` for cloud storage access, and standard Rust crates for compression and serialization. The cloudpath crate provides a uniform interface for reading/writing data from local files, S3, GCS, and Azure, with automatic gzip handling.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
antfu/pnpm-patch-i ★ 303 7 APPLICATION

pnpm-patch-i is a CLI tool that enhances the `pnpm patch` workflow by providing an interactive, user-friendly experience. It wraps pnpm's native patch command, placing the edit directory locally under `node_modules/.patch-edits/` with a human-readable name, automatically opening the editor, and waiting for user confirmation before committing the patch. The tool also supports applying patches directly from a source directory, with optional build and pack steps, and intelligently resolves `workspace:` and `catalog:` dependency specifiers from the source package's `pnpm-workspace.yaml`. The codebase is a single-module TypeScript application using `cac` for CLI parsing, `execa` for running pnpm commands, and `prompts` for user interaction. It is well-structured, actively maintained, and demonstrates solid engineering practices with clean async/await patterns and proper error handling.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Karanjot786/TermUI ★ 238 228 APPLICATION

TermUI is a comprehensive TypeScript monorepo providing a full-featured terminal UI framework for building rich, interactive command-line applications. It includes a custom JSX runtime with hooks, reconciliation, and portals; a theme engine (TSS) with CSS-like syntax and 26 built-in themes; a widget library spanning layout, input, display, data visualization, and feedback components; a motion system with spring physics and composable animations; a client-side router; a Zustand-like state store; adapters for external integrations (AI, Git, GitHub, clipboard, keychain); real-time system data hooks (CPU, memory, disk, Docker); a CLI scaffolding tool; and a dev server with hot reload. The framework is designed to offer a React-like development experience for terminal UIs, supporting JSX/TSX, keyboard and mouse input, focus management, accessibility (OSC 133), and unicode/ASCII fallbacks across 14+ packages with over 5000 tests.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
tinted-theming/tinty ★ 233 13 APPLICATION

Tinty is a mature Rust CLI tool for managing color schemes across terminals, editors, and other applications, implementing the Base16/Base24/Tinted8 theming standards. It provides subcommands to install, update, apply, cycle, list, and build schemes, driven by a TOML configuration file that defines template repositories, scheme cycles, hooks, and per-item settings. The architecture separates concerns into operations modules, a git-based repository backend, and a static HTML/JS gallery with an embedded local HTTP server for live scheme preview and application. The codebase demonstrates strong engineering practices including trait-based abstraction for git operations, atomic artifact staging, locale-independent conflict detection, marker-based file editing, and parallel scheme parsing via rayon. It has extensive integration tests with a reusable test harness, CI/CD pipelines, and packaging for crates.io, Homebrew, Nix, and Docker. While the code is actively maintained and well-structured, there is moderate technical drift from deprecated dependencies (serde_yaml), duplicated test infrastructure, and pending architectural migrations (gix backend, shell completion script divergence). The system is tightly focused on its domain but the component patterns (config validation, atomic file writes, abstracted repository operations) are reusable in other CLI tools requiring similar infrastructure.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
docgeni/docgeni ★ 201 26 APPLICATION

Docgeni is a documentation generator for Angular component libraries and markdown documentation. It operates as a CLI tool (serve, build, init) and a set of libraries that parse Angular component metadata, build navigation, render markdown with custom extensions (embed, code groups, tabs), and generate a static or server-side rendered Angular site. The architecture is a monorepo with packages: @docgeni/cli (entry point), @docgeni/core (orchestration, builders, plugins), @docgeni/template (Angular site components and services), @docgeni/ngdoc (TypeScript parser for Angular decorators), @docgeni/toolkit (utilities for file system, git, templates), and @docgeni/create-docgeni (scaffolding). Key data flows: user provides markdown docs and Angular component libraries; the core builders parse docs, extract component metadata via ngdoc, generate navigation trees, and produce an Angular application with live examples, API tables, and multi-language support. External dependencies include Angular CLI, TypeScript compiler API, marked (markdown parser), Prism (syntax highlighting), Handlebars (templates), cosmiconfig (configuration), and chokidar (file watching). The generated site supports CSR, SSR, and SSG render modes, theming, and i18n.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
wildfly/wildfly-core ★ 201 483 APPLICATION

This repository is the core runtime and management infrastructure for the WildFly application server (formerly JBoss AS). It provides a model-driven management interface accessible via CLI, HTTP, and native remoting, enabling configuration, deployment, security, logging, patching, and domain/standalone server lifecycle management. The architecture is modular, with subsystems (controller, server, host-controller, cli, elytron, logging, threads, etc.) built on JBoss Modular Service Container (MSC) for service lifecycle and dependency injection. Key entry points include the CLI (CommandContext, CommandLineMain), management interfaces (HTTP, native remoting), and server bootstrap (Main, BootableJar). Data flows center on management operations processed through OperationContext/OperationStepHandler, configuration persisted as XML, and deployments processed through a DeploymentUnitProcessor chain. External dependencies include JBoss MSC, JBoss Modules, Elytron security library, Aesh CLI framework, and various Java standard libraries. The codebase demonstrates strong engineering practices with extensive use of builder patterns, state machines, strategy patterns, and a comprehensive validation framework, though it carries some technical debt from deprecated APIs and version sprawl across multiple schema versions.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
yezz123/fastango ★ 194 11 APPLICATION

Fastango is a uv-first CLI tool for generating production-ready FastAPI projects. It provides two template styles (simple, mvc), a curated integration catalog spanning auth, databases, payments, AI, observability, and deployment, and an interactive terminal playground for selecting components. The tool also includes a constrained AI generation mode that converts natural-language prompts into validated project plans using only supported templates, skills, presets, and integrations, rejecting unsafe or unsupported suggestions. Architecturally, Fastango uses a modular scaffold engine: a mutable ScaffoldPlan accumulates dependencies, files, environment variables, and documentation; a TemplateRenderer renders Jinja2 templates from packaged directories and inline specifications; and an IntegrationRegistry resolves aliases, conflicts, and preset expansions before applying integrations. The generator module separates deterministic rules from optional LLM provider adapters (Anthropic, OpenAI), merging suggestions after validation against the same registry. The codebase demonstrates strong engineering practices: type hints throughout, Pydantic v2 for configuration, Protocol-based integration contracts, and comprehensive tests including smoke tests for generated projects. The safety model—where provider output is always validated against a allowlist before writing files—is a notable design decision that prevents arbitrary code generation. The integration catalog is declarative and extensible, making it straightforward to add new integrations without writing imperative code.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
sumup-oss/foundry ★ 193 7 APPLICATION

Foundry is an opinionated toolkit that centralizes and automates the configuration of code quality tools for JavaScript/TypeScript projects. It bundles and exposes composable ESLint flat configs, Biome configuration, Stylelint configuration, Husky hooks, and lint-staged setup. The CLI (`foundry init`) detects installed frameworks and dependencies (React, Next.js, Jest, etc.), generates tailored config files, and updates package.json scripts. The package primarily serves as a shared, versioned dependency that enforces consistent linting and formatting across multiple projects within an organization. The architecture is a library of configuration objects combined with a thin CLI wrapper, and the code is well-structured, modular, and thoroughly tested.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
MervinPraison/PraisonAI ★ 9243 1481 APPLICATION

PraisonAI is a production-oriented, multi-language AI agent orchestration framework shipped as a monorepo of cooperating Python, TypeScript, and Rust packages. The core SDK (`praisonaiagents`) implements `Agent`, `Task`, `AgentTeam`, and `AgentFlow`/`Workflow` abstractions with MCP support (stdio/HTTP/WebSocket/SSE), integration with 20+ LLM providers via LiteLLM-style configuration, memory backends (SQLite, file, mem0, MongoDB), RAG/knowledge bases over vector stores, guardrails, approval flows, policy engines, context compaction, telemetry, background jobs, and durable run ledgers. A user-facing `praisonai` wrapper provides a Typer CLI (`run`, `chat`, `code`, `serve mcp`, agent-as-API), bot adapters for Telegram/Discord/Slack via a WebSocket gateway, sandboxed compute (Docker, E2B, Modal, Daytona), deployment registries, cloud managed agents, and a fine-tuning package (`praisonai-train`). The repository is decisively an application/framework, though it carries data-research features as part of the product surface (RAG pipelines, evaluation loops, synthetic-data generation, LoRA fine-tuning), making it a hybrid in feature terms only.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
amber-lang/amber ★ 5238 147 APPLICATION

Amber is a Rust-based compiler that transpiles a high-level, statically-typed programming language into shell scripts (Bash, Zsh, Ksh). It provides a modern language with features like functions, type inference, generics, optional arguments, failable types, imports, loops, range expressions, array operations, and a standard library for file system, text, HTTP, math, and environment operations. The compiler architecture is modular: a CLI entry point (src/main.rs) dispatches to subcommands (build, run, eval, check, docs, test). The compilation pipeline (src/compiler.rs) orchestrates tokenization via heraclitus-compiler, parsing into a typed AST, type checking with control-flow analysis, translation to an intermediate fragment AST, optimization passes (unused variable removal, ephemeral variable elimination), and final shell code generation with post-processing (e.g., shell syntax checking). The system supports multiple shell targets and generates version-specific code. The codebase is well-structured with procedural macros (meta crate) for keyword registration and context management, and a comprehensive test suite using snapshot testing (insta). While alpha quality, the engineering is serious and the architecture shows thoughtful design patterns.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
unhappychoice/gitlogue ★ 5123 120 APPLICATION

Gitlogue is a terminal-based Git history visualizer that replays commits as a cinematic typing animation with syntax highlighting. It loads a local Git repository, extracts diffs, and renders the changes character by character in a split-pane terminal interface (ratatui). The core architecture is a monolithic Rust binary using clap for CLI, git2 for Git operations, tree-sitter for syntax highlighting across 32 languages, and crossterm for terminal I/O. It supports multiple playback modes (random, chronological, watch) and includes a configuration system, 17 built-in themes, and a custom animation engine with step-based simulation and checkpoint/restore. Notable reusable components include the SelectableParagraph widget (isolated ratatui component for text selection and dimming) and the Theme system (extensible struct with ~40 named colors). The codebase is well-structured but exhibits moderate technical drift risk due to heavy tree-sitter dependency chain, rapid feature growth, and potential staleness with some language grammare updates. CI/CD is active but the release workflow is manual. Overall, gitlogue is a solid, professional terminal application that effectively delivers its claimed functionality.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
six-ddc/plow ★ 4517 152 APPLICATION

Plow is a high-performance HTTP(S) benchmarking CLI tool written in Go. It uses fasthttp for efficient HTTP client operations and provides real-time metrics including latency statistics, percentiles, histograms, and throughput. The tool supports configurable concurrency, request rate limiting, ramp-up, duration-based or request-count-based runs, and custom headers, body, TLS, and proxy settings. It outputs results to the terminal with live updating tables and also serves a web UI with interactive charts (latency, RPS, status codes, concurrency) using go-echarts. The architecture is a single binary with three main components: a requester that spawns concurrent workers, a stream-based report aggregator that computes streaming quantiles and histograms, and a printer/chart server for output. The code is well-structured, thoroughly tested, and follows Go best practices. It is not a library but a standalone application, though some internal components (e.g., the streaming stats engine and throughput interceptor) are cleanly isolated and could be reused in other projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
dw-0/kiauh ★ 4514 638 APPLICATION

KIAUH (Klipper Installation And Update Helper) is a text-based user interface (TUI) and CLI tool for managing the Klipper 3D printer firmware ecosystem. It automates installation, update, removal, and backup of core components (Klipper, Moonraker, Mainsail, Fluidd, KlipperScreen, Crowsnest) and a wide range of community extensions (OctoPrint, Telegram Bot, Obico, Spoolman, etc.). The tool runs on Linux systems (primarily Raspberry Pi and similar SBCs) and handles systemd services, Python virtual environments, git repositories, nginx configuration, and system package management. Architecturally, KIAUH is a Python package with a modular design: a core framework provides menu navigation, logging, spinner animations, and a backend abstraction layer for command execution and filesystem operations. Components and extensions are implemented as classes inheriting from BaseExtension, each with install/update/remove methods. The tool supports multiple printer instances via an InstanceManager and uses a custom SimpleConfigParser for round-trip safe manipulation of Klipper-style configuration files. A headless CLI mode enables scripted, non-interactive operation. The codebase demonstrates solid engineering practices: dependency injection for testability, a plugin architecture for extensions, extensive test coverage (pytest with fake backends), and a well-organized package structure. Key reusable assets include the SimpleConfigParser (a standalone, comment-preserving config parser), the backend abstraction (enabling deterministic testing), and the BaseExtension plugin interface. While the tool is actively maintained and widely used, some areas show technical debt such as singleton proliferation, direct subprocess calls in places, and a Python 3.8 baseline that may limit future compatibility.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
openags/paper-search-mcp ★ 2575 255 APPLICATION

This repository implements a Model Context Protocol (MCP) server and CLI for searching, downloading, and reading academic papers across ~20 scholarly platforms (arXiv, PubMed, Semantic Scholar, CrossRef, OpenAlex, Google Scholar, etc.). It is primarily an application—a Python package distributed via PyPI—that exposes two entry points: an MCP server (stdio-based, compatible with Claude Desktop and other MCP clients) and a command-line interface. The architecture follows a clean two-layer design: a unified tool layer (search_papers, download_with_fallback) that orchestrates concurrent multi-source searches with deduplication, and a modular connector layer where each platform is implemented as a self-contained class inheriting from a common PaperSource abstract base. The system emphasizes a 'free-first' strategy, relying on open public APIs and optional API keys for enhanced access. It includes a fallback chain for PDF downloads (native source → OA repositories → Unpaywall → Sci-Hub) and supports full-text extraction via pypdf. The codebase is well-structured with consistent patterns (Paper dataclass, env config, retry/backoff), comprehensive test coverage (unit and e2e), and CI/CD publishing. However, some connectors are skeletons (IEEE, ACM) or not wired (ChemRxiv), and HTML scraping components are fragile to upstream changes. The last commit date is anomalously in the future (2026-08-17), but the repository shows active issue triage and community engagement.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
hexo-ai/sia ★ 2147 256 APPLICATION

SIA (Self-Improving AI) is a framework that orchestrates a three-agent loop (meta-agent, target agent, feedback/improvement agent) to iteratively improve an AI system's performance on a benchmark task. In production, it runs as a CLI tool (`sia run`) that sets up a virtual environment, loads task files, and executes generations: the meta-agent reads `task.md` and generates `target_agent.py`, the target agent executes the task and logs results, and the feedback agent reviews the execution and rewrites the target agent for the next generation. A FastAPI web dashboard auto-launches to visualize per-generation accuracy, agent code, trajectories, and improvement plans. The architecture is a CLI-driven monolith with a plugin system for agent backends (Claude, OpenHands, PydanticAI), JSON-based provider/profile configuration, and Docker sandboxing for secure target-agent execution. It relies on external LLM APIs (Anthropic, OpenAI, Gemini, Nebius, OpenRouter, Together) and optionally on Modal/SandboxFusion for the RL-based weights mode. The repository also bundles four benchmark tasks (GPQA, lawbench, longcot-chess, spaceship-titanic) with public/private data splits and evaluators, giving it a hybrid character that includes data/research components. However, its primary function is as an application for running and visualizing self-improvement experiments.

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