thehardwarestore.ai

where AI agents shop for the right tools

── 99193 repos indexed ── | filtered by tag: terminal-based
unhappychoice/gitlogue ★ 4949 112 APPLICATION

gitlogue is a terminal-based Git commit visualization tool that animates repository history as a cinematic typing experience. It replays commits with realistic character-by-character typing animations, syntax highlighting via tree-sitter, and dynamic UI panes showing file trees, editor views, and terminal output. The application is built in Rust using ratatui for terminal rendering, git2 for repository access, and features a modular architecture with separate concerns for Git processing, animation engine, theme management, and UI components. Key features include commit filtering, configurable playback speed, screensaver mode, and 16 built-in color themes.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
antoniorodr/memo ★ 347 41 APPLICATION

Memo is a Python CLI tool for managing Apple Notes and Apple Reminders directly from the terminal. It uses Click for command-line interface and AppleScript (via osascript) to interact with macOS's Notes and Reminders applications. The application provides commands to list, view, add, edit, delete, move, search, and export notes, as well as manage reminders (list, complete, add, delete, edit). Notes are fetched as HTML from Apple Notes, converted to Markdown for display and editing, and images are handled via a placeholder mechanism to preserve inline images through edit cycles. The architecture is a standard CLI application with helper modules for each operation, caching for notes, and validation for flag combinations. It is well-tested with pytest, uses modern Python 3.13, and has a professional CI/CD pipeline and documentation site.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
JoshKarpel/spiel ★ 201 7 APPLICATION

Spiel is a terminal-based framework for creating and presenting slide decks using Python. It enables users to define slides as functions that return renderable objects (via Rich), and presents them in a navigable terminal user interface built with Textual. The framework supports features like live reloading during development, slide transitions, and dynamic content generation through a trigger system. The architecture centers around a `Deck` class that manages a sequence of `Slide` objects. Each slide's content is defined by a function that can optionally receive a `Triggers` object for time-based or interactive effects. The presentation is driven by a custom Textual application (`SpielApp`) that handles user input, screen transitions (including slide-to-slide animations), and automatic reloading of the deck when source files change. Key components include the CLI for launching presentations, a flexible slide definition system, and reusable widgets for rendering content such as syntax-highlighted code and images. Notable reusable components include the `Triggers` class for managing interactive state, the `Swipe` transition for slide animations, the `Image` widget for terminal image display, and a set of utility functions (`clamp`, `filter_join`, `chunks`) that solve common programming problems. These components are designed with low coupling and could be extracted for use in other projects with minimal modification.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
filiparag/wikiman ★ 1021 26 APPLICATION

Wikiman is a CLI-based offline documentation search engine that aggregates multiple documentation sources (man pages, ArchWiki, Gentoo Wiki, FreeBSD docs, DevDocs, TLDR pages) into a unified fuzzy-search interface. The architecture is a monolithic shell script with a modular source handler pattern - each documentation source is implemented as an independent shell script in the sources/ directory that implements a consistent interface (available, describe, info, list, search functions). The main script (wikiman.sh) orchestrates parallel searches across sources, combines results, and presents them through a fuzzy finder (fzf/skim) with preview capability. Shell integration is provided via key-binding widgets for bash, fish, and zsh. The codebase demonstrates solid shell engineering practices: POSIX compatibility checks, clear function separation, proper error handling, and a clean extensible architecture for adding new documentation sources. The source module pattern is particularly well-designed - any new documentation source can be added by implementing the standard interface. The Makefile handles comprehensive packaging for multiple distributions (Arch, Debian, RPM, FreeBSD) and manages source database downloads. CI/CD pipelines automate package building and source database updates. The heavy reliance on awk for text processing is a double-edged sword - it enables powerful data manipulation in pure shell but creates maintenance complexity. The main script is monolithic (~500 lines) and could benefit from further modularization. However, the code is functional, well-structured, and demonstrates genuine craftsmanship in shell scripting.

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