thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: console
symfony/console ★ 9814 264 APPLICATION

Symfony Console is a mature, feature-rich PHP library for building command-line interfaces. It provides a complete framework for defining commands with arguments and options, formatting output with colors and styles, rendering tables and progress bars, handling interactive questions, and generating shell completion scripts. The library follows a clean, event-driven architecture with pluggable value resolvers, signal handling, and dependency injection integration. It is extensively tested and actively maintained as part of the Symfony ecosystem, supporting modern PHP features like attributes and enums. While primarily a library, it includes testing utilities (CommandTester, ApplicationTester) that make it easy to write automated tests for CLI applications.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 7 reusable components found
tqdm/tqdm ★ 31352 3219 APPLICATION

tqdm is a fast, extensible progress bar library for Python and CLI. It provides a simple way to add progress meters to loops, with support for multiple frontends including console, Jupyter notebooks, matplotlib GUI, Tkinter, and rich. The core implementation in `tqdm/std.py` is dependency-free and optimized for low overhead (~60ns per iteration). It features smart algorithms for predicting remaining time and skipping unnecessary display updates. The library integrates with pandas, keras, dask, asyncio, and concurrent.futures. The CLI mode allows piping data through tqdm for progress monitoring. The codebase is well-structured with clear separation of concerns: core logic in `std.py`, frontends in separate modules (`notebook.py`, `gui.py`, `tk.py`, `rich.py`), and integrations in `contrib/`. Extensive test suite covers performance, correctness, and edge cases. The project is actively maintained with regular releases and CI.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
microsoft/terminal ★ 105050 9640 APPLICATION

The Microsoft Terminal repository contains the source code for Windows Terminal, a modern, feature-rich terminal application for Windows, along with its underlying console host (conhost.exe). The application provides tabs, rich text, globalization, configurability, and theming while maintaining efficiency. The architecture is modular with clear separation: TerminalApp (main application logic), TerminalControl (reusable UI control), TerminalCore (shared terminal functionality), TerminalSettingsModel (settings management), and the console host implementation. Key entry points include src/cascadia/WindowsTerminal/main.cpp for the terminal application and src/host/ for the console host. The codebase demonstrates high craftsmanship with reusable components like the Terminal Implementation Library (til), settings inheritance model, and resource localization system. It actively maintains compatibility with modern Windows dependencies and shows low technical drift.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
htop-dev/htop ★ 8395 651 APPLICATION

htop is a cross-platform interactive process viewer and system monitor written in C on ncurses. It enumerates and displays processes by reading OS kernel interfaces — primarily /proc on Linux, sysctl/kvm/kstat on the BSDs and Solaris, libproc/mach on macOS, and PCP (Performance Co-Pilot) metrics for the pcp-htop variant — and renders a scrollable process table alongside a header of pluggable meters (CPU, memory, swap, disk I/O, network I/O, ZFS ARC, GPU utilization, pressure stall, battery, sensors, and more). Beyond display, it supports process management actions: kill, renice, set CPU affinity, scheduling and I/O priority, spawning strace/lsof child processes, plus tree view, sorting, filtering, incremental search, and persistent configuration in htoprc. Architecturally this is a monolithic C application with emulated object orientation: an Object base class with vtable-style Class function tables, generic containers (Hashtable with Robin Hood open addressing, Vector with ownership semantics), a RichString wide-character rendering layer, reusable Panel/Meter widget classes, and a ScreenManager event loop. Each supported OS lives in a backend directory (linux/, darwin/, freebsd/, openbsd/, netbsd/, dragonflybsd/, solaris/, pcp/, unsupported/) that implements the Platform/Machine/ProcessTable/Process contract. Entry points are htop.c and pcp-htop.c, which route through CommandLine_run() into ScreenManager_run(). The build uses GNU autotools with optional features (hwloc, libsensors, libnl, libcap, libunwind, PCP), and CI runs the binary headlessly under sanitizers plus a Lua/rote terminal-emulation test suite. Maintenance is genuinely active: recent commits, a CodeQL workflow, address/UB sanitizer jobs, valgrind suppressions, and a ChangeLog showing security fixes (CVE-2024-37676) and steady feature work through 3.6.0-dev. The honest caveats are platform fragility: Solaris and OpenBSD have TODO stubs for disk/network I/O, NetBSD uses deprecated proplib compatibility aliases, /proc and DRM fdinfo parsers are sensitive to kernel format changes, and there is visible copy-paste divergence across BSD backend field arrays. The core Linux path is current and well-maintained; the tail platforms lag, which keeps overall technical drift at medium rather than low.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 6 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
tokio-rs/console ★ 4598 169 APPLICATION

The Tokio Console is a debugging and profiling tool for asynchronous Rust programs using the Tokio runtime. It consists of three main crates: `console-api` defines protobuf gRPC schemas for instrumentation data (tasks, resources, async operations, trace spans), `console-subscriber` is a `tracing-subscriber` layer that collects runtime telemetry and serves it over gRPC, and `tokio-console` is a terminal user interface (TUI) that connects to instrumented applications and displays real-time task lists, resource details, histograms, and warnings. The architecture follows a producer-consumer pattern: the instrumented application runs a gRPC server (via `console-subscriber`), and the CLI client subscribes to streaming updates. The system supports TCP, Unix domain sockets, vsock, and gRPC-Web transports. It provides interactive filtering, sorting, and detailed views of async task states (running, scheduled, idle, completed), resource utilization, and async operation performance. The codebase is well-structured, with clear separation between API definitions, instrumentation library, and client application. It demonstrates high craftsmanship in areas like string interning, dirty-tracking for incremental updates, and reusable TUI table components.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nunomaduro/collision ★ 4661 183 APPLICATION

Collision is a PHP library that provides beautiful error reporting for CLI applications, particularly integrated with Laravel, PHPUnit, and Pest. It wraps the Whoops error handler to render exceptions with syntax-highlighted code snippets, stack traces, and solution suggestions. Additionally, it includes a custom PHPUnit/Pest test printer that outputs test results with color-coded summaries, warnings, and slow-test profiling. The library is built on top of Symfony Console, Termwind, and Whoops, and is designed as a drop-in replacement for default error handling in Laravel's artisan commands and PHPUnit test runners. The codebase is well-structured with clear separation of concerns: core error rendering (Provider, Handler, Writer), terminal styling (ConsoleColor, Highlighter), argument formatting (ArgumentFormatter), code coverage reporting (Coverage), and framework-specific adapters (Laravel service provider, PHPUnit event subscribers). The PHPUnit adapter demonstrates advanced event-driven architecture by hooking into PHPUnit's event system to produce a rich, compact test output.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ilai-deutel/kibi ★ 1942 116 APPLICATION

Kibi is a minimal terminal-based text editor written in Rust, inspired by the kilo editor and constrained to under 1024 lines of code per platform (Unix, Windows, WASI). It provides syntax highlighting for 40+ languages, incremental search, line numbers, UTF-8 support, cut/copy/paste of lines, external command execution, and comment toggling. The codebase is structured around a clean platform abstraction module (`src/sys/`) and a generic INI configuration parser used for both editor settings and syntax definitions. Core editing logic lives in `src/editor.rs`, with row management and render mapping in `src/row.rs`. The project features extensive CI (including fuzzing, sanitizers, and code coverage), SLSA-proven releases, and a strict line-count enforcement via an xtask. While the line limit promotes concise code, it occasionally leads to code golf and TODOs that hint at future improvements.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
da-luce/astroterm ★ 2036 50 APPLICATION

Astroterm is a terminal-based star map application written in C. It renders the real-time positions of stars, planets, the Moon, and constellation figures using ASCII or Unicode characters. The system computes celestial positions from the Yale Bright Star Catalog, Keplerian orbital elements, and user-specified date/time and location (latitude/longitude or city name). It projects the visible sky onto the terminal via a stereographic projection and uses ncurses for display and input. The build system is Meson with Ninja, supporting Linux, macOS, and Windows. The codebase is well-structured into separate modules for astronomy calculations (astro.c), coordinate transforms (coord.c), terminal rendering (drawing.c, term.c), and data parsing (parse_BSC5.c, city.c). It includes comprehensive unit tests using Unity and CI via GitHub Actions. The application is highly configurable through command-line arguments and demonstrates strong craftsmanship in astronomical computations and terminal graphics.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
onevcat/Rainbow ★ 1942 112 APPLICATION

Rainbow is a zero-runtime-dependency Swift library that applies ANSI escape sequences to strings for colored terminal output. It supports the named 16-color palette plus light variants, 8-bit 256-color mode (38;5;N), 24-bit true color (38;2;R;G;B), hex colors approximated to the nearest 256-color cube, HSL colors converted to RGB, and styles (bold, dim, italic, underline, blink, swap, strikethrough). Output is gated by OutputTarget detection that checks isatty() on POSIX/Windows plus NO_COLOR/FORCE_COLOR environment variables, so redirected output degrades to plain text automatically.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
lmorg/murex ★ 1913 40 APPLICATION

Murex is a cross-platform shell and scripting language designed as a more readable, safe, and type-aware alternative to Bash. In production it works as both an interactive REPL (with autocomplete, hint text, preview panes, spellchecking, and job control) and a scripting interpreter with a custom expression language, typed pipelines, exception handling (try/catch/trypipe), multi-scope variables, a built-in unit test framework, event hooks (onPrompt, onKeyPress, onFileSystemChange, onSignalReceived), an HTTP client, and a package/module manager. The defining architectural feature is that data in pipelines carries type metadata: JSON, YAML, CSV, TOML, XML, S-expressions, HCL and more are first-class structured objects with registered Marshal/Unmarshal/ReadArray/ReadMap/ReadIndex hooks, so builtins like alter, tabulate, count, and jsplit operate on structured data rather than raw text. The implementation is Go (with a JS/WASM interpreter variant), organized around lang/ (parser, expression engine, process lifecycle), shell/ (interactive terminal layer), builtins/ (roughly 200 commands, data type adapters, pipes, and event handlers), config/ (profile-driven runtime configuration), and utils/ (standalone helper libraries).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
veeso/tui-realm ★ 1001 41 APPLICATION

tui-realm is a Rust library/framework for building terminal user interfaces (TUIs) using a component-based, event-driven architecture. It is not a standalone application but a reusable framework that wraps ratatui (formerly tui-rs) and provides an Application loop, Component/AppComponent traits, a Model/Update/View pattern, and a subscription system for routing events between components. The monorepo is organized as a Cargo workspace containing the core `tuirealm` crate, a `tuirealm_derive` procedural macro crate, a standard library of reusable components (`tui-realm-stdlib`: Input, Label, List, Table, etc.), and optional integration crates `tui-realm-textarea` and `tui-realm-treeview`. The framework is designed to reduce boilerplate by centralizing focus management, event routing, and state handling in the Application/View layer, while allowing developers to define custom components and event sources via Ports and Subscriptions.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
containerd/console ★ 200 58 APPLICATION

This is a Go library for console and terminal handling, part of the containerd project. It provides a cross-platform `Console` interface with methods for setting raw mode, resizing, disabling echo, and querying window size. The library supports Linux, macOS, FreeBSD, NetBSD, OpenBSD, Windows, and z/OS via build tags. On Linux, it includes an `Epoller` that uses edge-triggered epoll for efficient non-blocking I/O, handling EAGAIN/EIO errors gracefully. It can create PTY pairs (`NewPty`) and obtain the current process console (`Current`). The only external dependency is `golang.org/x/sys`. The code is idiomatic, well-tested, and follows Go best practices, though the dependency version and CI Go version are outdated.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
tldr-pages/tldr ★ 63812 5440 APPLICATION

This repository is the canonical source of tldr-pages, a community-maintained collection of simplified man pages for command-line tools. It contains tens of thousands of Markdown files organized by language and platform, each providing concise usage examples for a CLI command. The repository also includes a suite of validation scripts, a build system for generating indexes and archives, and a client specification for consuming the pages. While primarily a documentation project, the tooling (Node.js and Python scripts) constitutes a small application layer that ensures consistency, quality, and automated releases. The repo supports translations in over 30 languages, with strict formatting and linting enforced by CI/CD pipelines. It is not a standalone application but the authoritative dataset and tooling for the tldr ecosystem.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
gpakosz/.tmux ★ 25431 3588 APPLICATION

This repository provides a comprehensive, self-contained tmux configuration known as 'Oh my tmux!'. It is a single `.tmux.conf` file with an embedded shell script that dynamically applies themes, key bindings, pane management, status line widgets (battery, uptime, load average, SSH-aware hostname/username), clipboard integration, and plugin management via tpm. The configuration is highly customizable through a separate `.tmux.conf.local` file. The code demonstrates advanced tmux scripting techniques, including conditional version checks, Unicode escape handling, and background processes for status updates. While the configuration is tightly coupled to tmux and not reusable as a standalone library, the shell functions for battery bars, uptime, and SSH detection exhibit high craftsmanship and could inform similar tmux configurations. The repository also includes an install script and detailed documentation.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
klaudiosinani/signale ★ 9177 231 APPLICATION

Signale is a highly configurable logging library for Node.js. It provides 19 out-of-the-box loggers (e.g., success, error, debug, info) with customizable badges, labels, colors, and log levels. The library supports scoped loggers, integrated timers, secrets filtering, interactive mode (overwriting previous log lines), and multiple writable streams. Configuration can be set globally via package.json or locally per instance. The architecture is a single Signale class that dynamically creates logger methods from a types definition. The main entry point (index.js) exports a default instance and the Signale constructor. External dependencies are minimal: chalk for coloring, figures for Unicode symbols, and pkg-conf for reading package.json configuration. The code is clean, well-structured, and includes TypeScript definitions. However, the dependencies are outdated (chalk v2, figures v2, pkg-conf v2) and the CI targets Node.js 6, 8, 10, indicating the project has not been actively updated in recent years despite being widely used.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
anki-code/xonsh-cheatsheet ★ 299 16 APPLICATION

This repository provides an xontrib (plugin) for the Xonsh shell that adds a `cheatsheet` command to open the project's README.md in a web browser. The README.md serves as a comprehensive cheat sheet for the Xonsh shell, covering installation, basics, and advanced topics. The repository also includes an example script demonstrating how to make web requests, process output, and use colored output in Xonsh.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
mgree/ffs ★ 498 17 APPLICATION

ffs is a FUSE-based filesystem that mounts semi-structured data formats (JSON, TOML, YAML) as a Unix directory tree, enabling interactive editing with standard shell commands (cat, echo, mv, rm, mkdir). It includes companion tools pack (directory tree → data format) and unpack (data format → directory tree). The system is implemented in Rust with a modular architecture: the nodelike crate provides a generic trait and Node enum for format-agnostic representation, while ffs handles FUSE mount logic and pack/unpack handle batch conversion. Key features include lazy/eager loading strategies, name munging for special characters, extended attribute support, and format conversion (e.g., JSON to YAML). The repository also contains an extensive benchmark suite using real-world datasets (FDA, GitHub, NOAA, etc.) to compare loading strategies. While the core functionality is complete and well-tested with over 60 integration test scripts, the project appears to be in a stale maintenance state with no recent commits (last significant activity in 2021) and several open issues. The codebase demonstrates good software engineering practices (modular design, comprehensive tests, performance instrumentation) but has limited reuse potential beyond its specific domain of semi-structured data manipulation via filesystem semantics.

RATING: 6.9/10 MAINT: stale DRIFT: medium
▸ 3 reusable components found
railsware/upterm ★ 19071 607 APPLICATION

Upterm is a terminal emulator for the 21st century, built as an Electron desktop application with TypeScript and React. It provides an IDE-like terminal experience with features such as autocompletion (for git, npm, brew, and many other commands), output prettyfiers (JSON tree, git grep, image display), multiple tabs and split sessions, a custom shell parser, and a plugin system. The application uses node-pty for pseudo-terminal management and Monaco Editor for the prompt input. It also includes a full VT100/xterm-compatible terminal emulator (Output.ts) that handles ANSI escape sequences, scrolling, cursor movements, and SGR attributes. Architecturally, Upterm follows a modular pattern with services (FontService, HistoryService, GitService, etc.) that communicate via RxJS observables, a plugin manager that registers autocompletion providers and prettyfiers, and a shell layer that parses commands and manages jobs. The codebase is well-structured and demonstrates non-obvious craftsmanship in areas like the history trie for fuzzy matching, man page parsing for flag extraction, and the terminal buffer implementation. However, the project is explicitly deprecated and unmaintained. The README states it is no longer accepting pull requests or issues. The codebase relies on outdated dependencies (Node 8.11.0, Electron 2.0.10, React 16.2.0) and has several incomplete features and security concerns (e.g., execFile with user-controlled input). Despite its quality, the technical drift is high, and the repository should be considered a reference or learning resource rather than a production-ready tool.

RATING: 5.7/10 MAINT: deprecated DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: