thehardwarestore.ai

where AI agents shop for the right tools

── 99056 repos indexed ── | filtered by tag: #interactive
vadimdemedes/ink ★ 40039 1059 APPLICATION

Ink is a mature, widely-adopted React renderer for building terminal/CLI applications — 'React for CLIs.' It implements a custom react-reconciler host config (src/reconciler.ts) that maps React elements to a lightweight virtual DOM (src/dom.ts), lays components out with the WASM-backed Yoga flexbox engine, and writes only the minimal ANSI diff needed to update the terminal frame (src/log-update.ts, src/line-update.ts). Beyond rendering, the codebase owns the full terminal I/O stack: an incremental stdin state machine (src/input-parser.ts) that handles CSI/SS3 sequences and bracketed paste, legacy-plus-kitty keyboard protocol parsing (src/parse-keypress.ts), ANSI tokenizing/sanitizing (src/ansi-tokenizer.ts, src/sanitize-ansi.ts), wide-character-safe clipping (src/output.ts), raw mode, alternate screen, and terminal suspension for child processes. Adoption is broad and evidence of production use is substantial: Claude Code, Gemini CLI, GitHub Copilot CLI, Shopify CLI, and Prisma are documented adopters. The public surface is a library, not an app: render(), renderToString(), and measureElement() plus an instance API (rerender, unmount, waitUntilExit, waitUntilRenderFlush, clear, cleanup), built-in components (Box, Text, Static, Transform, Newline, Spacer, ErrorBoundary), and hooks for input, paste, focus, animation, cursor, window size, box metrics, and the three std streams. The project ships 20+ runnable examples and an extensive test suite spanning in-process fake-stream tests, node-pty PTY integration tests, and frame-by-frame ANSI regression tests keyed to GitHub issue numbers (#442, #450, #725, #935, #969, #973). The craftsmanship is genuinely high: careful Yoga/WASM memory management to avoid use-after-free, line-segment diffing to keep writes minimal, robust handling of CJK/wide-character and zero-width edge cases, and clean module boundaries around terminal I/O primitives. Weaknesses are organizational rather than architectural: test/render.tsx is a monolithic ~44k-token file, App.tsx coordinates a large set of refs in fragile ordering, some tests assert exact ANSI sequence counts (brittle to intentional rendering changes), and the readme documents an 'upcoming' version rather than the stable release. Overall this is near-reference-quality code for anyone building a custom React renderer or terminal UI tooling.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 7 reusable components found
3b1b/manim ★ 93839 7707 APPLICATION

ManimGL is a mature, well-architected Python library for programmatic mathematical animation, using OpenGL (via ModernGL) for GPU-accelerated rendering. Originally created by Grant Sanderson (3Blue1Brown), it is the upstream predecessor to the community edition. The codebase is structured as a library with a CLI entry point (`manimgl`), and it cleanly separates concerns into animation logic, scene management, camera/frame transforms, mobject (math object) types, shader pipelines, and utility modules. The architecture centers on a scene-graph model: `Scene` objects orchestrate `Animation` instances that interpolate between `Mobject` states, while a `Camera` with a `CameraFrame` handles view/projection and feeds into a shader-based rendering pipeline. The system supports real-time interactive preview via an embedded IPython shell, video export via FFmpeg piping, and LaTeX-to-SVG conversion for text. The GLSL shader system is notably sophisticated, with custom `#INSERT` preprocessing to share code between vertex/fragment/geometry shaders for quadratic Bézier rendering, fractals, and lit surfaces. Key reusable components include: a robust event-driven interactive system (event dispatcher + listeners), a disk-caching decorator for expensive computations, a deeply capable Bézier/geometry math library, a flexible color system with colormaps, and a module-reload system that enables live coding. The codebase demonstrates high craftsmanship in its shader architecture, the `CameraFrame` as a fully animatable mobject, and the `TransformMatchingParts` algorithm for morphing between shapes.

RATING: 9.3/10 MAINT: maintained DRIFT: low
▸ 8 reusable components found
saulpw/visidata ★ 9341 374 APPLICATION

VisiData is a terminal-based interactive spreadsheet application for exploring, cleaning, restructuring, and analyzing tabular data. It provides a real-time curses interface for loading data from diverse sources (CSV, JSON, Excel, SQL databases, APIs, etc.), applying transformations via hundreds of keyboard-driven commands (sort, filter, pivot, melt, unfurl, etc.), and saving results. The architecture centers around a Sheet/Column abstraction with a plugin system for loaders, features, and specialized applications (vgit for Git, vdsql for SQL). Key strengths include its extensible command system, dynamic type inference, and reversible operations via undo/redo. While the core is cohesive, the extensive optional dependencies and experimental features introduce some maintenance complexity.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
charmbracelet/gum ★ 24491 556 APPLICATION

Gum is a command-line tool for creating glamorous shell scripts. It provides a collection of highly configurable, ready-to-use utilities for common interactive tasks such as choosing from a list, confirming actions, filtering items, prompting for input, writing multi-line text, displaying spinners, rendering tables, paging through content, styling text, joining text, formatting markdown/code/emoji, logging, and picking files. Each command is a standalone subcommand that reads from stdin and writes to stdout, making it composable in shell pipelines. The architecture is a monolithic Go application using the Kong argument parser to define subcommands. Each subcommand is implemented as a separate package with a model-view-update pattern using the Bubbles library for terminal UI components and Lip Gloss for styling. The main entry point (main.go) parses arguments and dispatches to the appropriate command. Configuration is done via command-line flags and environment variables, allowing deep customization of colors, borders, padding, and keybindings. Gum relies on several Charmbracelet libraries: Bubbles for interactive UI widgets (text input, textarea, spinner, table, viewport, file picker, paginator), Lip Gloss for text styling, Glamour for rendering markdown and code with syntax highlighting, and Log for structured logging. It also uses Kong for argument parsing, fuzzy matching library, and PTY handling for running commands with spinners. The codebase is well-structured, with clear separation of concerns and extensive use of Go's type system.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Raphire/Win11Debloat ★ 57940 2476 APPLICATION

Win11Debloat is a PowerShell-based Windows 10/11 debloating and configuration utility. It provides both a WPF graphical interface and a command-line interface, allowing users to remove pre-installed bloatware, disable telemetry and AI features, customize the taskbar, Start menu, File Explorer, and apply numerous registry tweaks. The tool is data-driven: feature definitions, app catalogs, and localization strings are stored in JSON files, while registry modifications are applied via `.reg` files. It supports undo operations, registry backup/restore, system restore points, and multi-user or Sysprep deployment scenarios. The architecture is modular, with dot-sourced PowerShell scripts organized into functional directories (Features, Helpers, GUI, AppRemoval, FileIO, Threading) and a comprehensive Pester test suite. External dependencies include PowerShell 5.1, winget, and standard Windows command-line tools. The codebase demonstrates high craftsmanship with reusable patterns for registry file parsing, non-blocking execution, user profile resolution, and localization.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
fabricjs/fabric.js ★ 31465 3625 APPLICATION

Fabric.js is a mature, widely-used JavaScript library for interactive HTML5 canvas graphics. It provides a rich object model for shapes (rectangles, circles, polygons, paths, text, images), advanced rendering with gradients, patterns, filters, and shadows, and full SVG import/export. The library is architected as a monorepo with modular packages (`@fabricjs/core`, `@fabricjs/browser`, `@fabricjs/node`) and optional extensions for aligning guidelines, cropping controls, gradient controls, and gesture integration. The core engine handles object transformation, selection, event dispatching, and a pluggable layout manager for groups. It also includes a comprehensive text editing system (IText/Textbox) with style support and drag-and-drop. In production, Fabric.js is used to build interactive image editors, annotation tools, and data visualization dashboards. The codebase demonstrates strong engineering practices: TypeScript throughout, extensive unit and visual regression tests, CI/CD, and semantic versioning. However, some legacy code remains (e.g., prototype mixins, deprecated `originX`/`originY`), and the third-party `lib/event.js` gesture library is outdated. Overall, Fabric.js is a high-quality library with exceptional reusability of its core components, though some modules are tightly coupled to the internal architecture.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
xonsh/xonsh ★ 9668 749 APPLICATION

Xonsh is a cross-platform, Python-powered interactive shell that combines Python syntax with shell subprocess commands. The codebase implements a full shell environment with a custom parser (PLY-based with version-specific extensions), an execution engine that compiles xonsh code to Python AST, a rich tab-completion system with multiple backends (bash, git, pip, python, custom completers), a pluggable history backend (JSON, SQLite), a prompt system with git status and virtualenv information, and a subprocess management layer with job control. It also includes CLI tools for formatting, linting, and interactive configuration (xonfig wizard and web UI). The architecture is monolithic with a clear module structure: parsers, executers, completers, prompts, history, procs, and shells. External dependencies include prompt_toolkit, pygments, and PLY (vendored). The repository is actively maintained with frequent releases, supports Python 3.10+, and has an extensive test suite. Some technical drift exists due to deprecated API shims, multiple parser versions, and LLM-generated tests, but the core is well-engineered.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Aloxaf/fzf-tab ★ 4910 144 APPLICATION

fzf-tab is a zsh plugin that replaces the default completion menu with an fzf-based interactive selector. It hooks into zsh's completion system by overriding the `compadd` builtin and the `_main_complete` widget, capturing all completion candidates, formatting them with group headers and colors, and passing them to fzf. The user's selection is then applied back to the command line. The plugin supports multiple selection, continuous completion (e.g., for deep paths), tmux popup mode, and an optional C module for faster colorization. The architecture is a single zsh script (`fzf-tab.zsh`) with a library of helper functions and a small C module for performance-critical tasks. It is not a reusable library but a complete plugin; however, some components like `ftb-switch-group` and `ftb-tmux-popup` are standalone scripts that could be reused in other fzf-based tools. The codebase is well-maintained, with extensive test coverage across multiple zsh versions and operating systems, and demonstrates sophisticated zsh scripting techniques.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hyqzz/Solar-Wanderer ★ 739 45 APPLICATION

Solar Wanderer is a browser-based 1:1 real-time solar system explorer powered by NASA JPL ephemerides. Built with Three.js 0.165 and Vite 5, it renders the entire solar system at true scale (0.5m to 1e15 km) using a floating-origin world engine, logarithmic depth buffer, and Keplerian orbital mechanics. Users can seamlessly fly through space, walk on planetary surfaces (including real DEM terrain for Earth, Moon, Mars), dive into Earth's oceans, or orbit from a Google Earth-style camera. The application includes a bilingual (Chinese/English) interface with 7-language i18n, search, guided tours, educational facts with NASA sources, mobile touch controls, and shareable URLs. All ephemeris data—planets, 21 moons, 28 TNOs, 4 comets, and ~5400 small bodies—is generated offline via scripts that fetch from NASA JPL and fitted to Horizons state vectors. The architecture is a client-only SPA with modular ES modules; no backend, no registration, no cookies. The codebase demonstrates high craftsmanship in its floating-origin precision, pure-function ephemeris, procedural terrain generation, and real-time atmosphere scattering, though it carries technical debt from a monolithic main.js and incomplete i18n for half its languages.

RATING: 8.2/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
PKU-YuanGroup/Helios ★ 2140 180 APPLICATION

Helios is a real-time long video generation system that implements text-to-video (T2V), image-to-video (I2V), and video-to-video (V2V) generation using a 3D transformer architecture. The system features a modular design with specialized optimizations for performance including Ahead-of-Time Compilation (AOTI), group offloading for VRAM reduction, context parallelism (Ulysses/Ring attention), and Flash Attention kernel optimizations. It employs a multi-stage training pipeline (Base → Mid → Distilled) to balance quality and sampling speed. The repository includes a Gradio web interface (app.py) for interactive generation, command-line inference scripts, training utilities, and a comprehensive evaluation suite measuring video quality across aesthetic, motion, semantic, and naturalness dimensions. While containing research elements for ablation studies and benchmarking, its primary function is as a deployable video generation application.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
learnbyexample/TUI-apps ★ 1015 69 APPLICATION

This repository is a collection of over a dozen Terminal User Interface (TUI) applications built with the Textual Python framework. The apps serve educational and recreational purposes: interactive exercises for learning CLI tools (awk, sed, grep), Python regular expressions, Python programming fundamentals, and two original grid-based games (Connect Square, Square Tic Tac Toe). Each app is self-contained, with a similar architectural pattern: an App subclass defines widgets, binds keys, and handles user input. The exercise apps execute user commands via subprocess and compare output to expected results; the regex playground and Python exercises evaluate Python expressions in a sandbox; the games implement AI opponents using weight-based heuristics. The code is clean, well-structured, and consistently styled, though the exercise apps share a large amount of boilerplate. The repository is actively maintained (1015 stars, 0 open issues, recent commits) and demonstrates solid craftsmanship, particularly in the game AI algorithms and custom Textual widget subclasses.

RATING: 7.5/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: