thehardwarestore.ai

where AI agents shop for the right tools

── 99818 repos indexed ── | filtered by tag: cross-platform
ggez/ggez ★ 4710 442 APPLICATION

ggez is a lightweight, cross-platform 2D game framework for Rust, inspired by LÖVE. It provides a comprehensive set of subsystems for graphics, audio, input, filesystem, and timer management, all accessible through a central `Context` object. The framework abstracts over `winit` for windowing and events, `wgpu` for GPU rendering, `rodio` for audio playback, and `gilrs` for gamepad support. The architecture is modular, using sub-contexts (e.g., `GraphicsContext`, `AudioContext`) that can be individually accessed via `Has`/`HasMut` traits, allowing for custom context composition. The graphics pipeline supports 2D and optional 3D rendering (behind a feature flag) with shaders, meshes, images, instanced drawing, and text rendering via `glyph_brush`. The filesystem uses a virtual filesystem (VFS) layer with physical directories and zip archives, and configuration is handled via TOML serialization. Key entry points include `ContextBuilder` for initialization, `EventHandler` trait for the game loop (with `update`, `draw`, and input callbacks), and the `event::run()` function to start the application. Data flows are event-driven: user input is collected by `winit` and forwarded to the event handler, while rendering commands are batched and submitted to the GPU each frame. The framework also includes built-in coroutines for asynchronous tasks without futures. The repository contains over 40 examples demonstrating all major features, from simple drawing to complex 3D scenes and shader effects. ggez is actively maintained with a stable API, though some parts (e.g., 3D support, coroutine implementation) are less mature. The codebase demonstrates good engineering practices: builder patterns, resource caching, buffer sub-allocation, and a clear separation of concerns. It is suitable for hobby game development, educational projects, and rapid prototyping. The heavy reliance on evolving crates like `wgpu` and `winit` introduces some technical drift, but the framework keeps pace with updates.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
appshubcc/Bettbox ★ 4192 220 APPLICATION

Bettbox is a cross-platform network diversion (proxy) tool built on the Clash.Meta proxy engine. It provides a Flutter-based GUI for Windows, macOS, Linux, and Android, backed by a Go core that implements extensive proxy protocols (VMess, VLESS, Shadowsocks, Hysteria, TUIC, etc.), DNS resolution, TUN/VPN, rule-based routing, and traffic obfuscation. The system manages proxy configurations, supports profile import/export, real-time connection monitoring, and a scriptable code editor plugin.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
UZDoom/UZDoom ★ 2198 189 APPLICATION

UZDoom is a modern, feature-rich source port for Doom-engine games, forked from GZDoom. It is a monolithic game engine application that provides software and hardware-accelerated rendering (OpenGL, Vulkan, GLES), a full audio subsystem (ZMusic) supporting MIDI, tracker modules, and chip emulation, a custom GUI toolkit (ZWidget) for the launcher and in-game menus, a scripting engine (ZScript/ACS) with a Debug Adapter Protocol (DAP) server, and a resource filesystem. The codebase is large and complex, with extensive third-party library vendoring (FreeType, HarfBuzz, Abseil, asmjit, etc.) and multiple rendering backends. It is actively maintained with recent commits and CI pipelines. While the architecture is well-structured with clear subsystem boundaries, the sheer volume of vendored code and platform-specific implementations introduces medium technical drift. Several components (ZMusic, ZVulkan, ZWidget, DAP debug server) are self-contained and could be extracted for reuse in other projects.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
praat/praat.github.io ★ 1977 290 APPLICATION

Praat is a cross-platform desktop application for phonetic analysis, speech manipulation, and linguistic research. It provides a rich GUI with interactive editors for viewing and editing sounds, spectrograms, pitch, formants, text annotations, and more. The core architecture is a monolithic C++ application built on a custom object system (Thing/oo_* macros) with automatic serialization, a comprehensive preferences framework, and a scriptable interface. The codebase bundles many external libraries (GSL, eSpeak, FLAC, Opus, LAME, PortAudio, WhisperCPP, etc.) for numerical computing, audio I/O, speech synthesis, and machine learning. It includes modules for linear predictive coding (LPC), cepstral analysis, neural networks (FFNet), optimality theory grammar, multidimensional scaling, and EEG/ERP processing. While the code is well-structured and domain-specific, the heavy reliance on external libraries, custom object system, and platform-specific ifdefs introduce maintenance complexity and moderate technical drift.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
DeaDBeeF-Player/deadbeef ★ 1964 208 APPLICATION

DeaDBeeF is a cross-platform desktop music player with a modular plugin architecture. It supports a vast array of audio formats including MP3, AAC, FLAC, Ogg Vorbis, Opus, WavPack, Musepack, DTS, and numerous chiptune and video game music formats (SID, NSF, VGM, MOD, S3M, XM, IT, PSF, etc.) through bundled emulation libraries. The core player handles playlist management, metadata caching, replaygain, DSP chain processing, and streaming. Two native GUI implementations exist: a GTK2/GTK3 interface for Linux and a Cocoa interface for macOS, both offering full-featured playback controls, media library browsing, cover art display, and visualization (scope, spectrum analyzer). The player also includes a converter plugin, MPRIS integration, and extensive keyboard shortcut customization. The architecture is centered around a lightweight plugin API (DB_plugin_t) that decouples decoders, outputs, DSP effects, and UI components. The core library (libdeadbeef) provides threading, file I/O, configuration, and message passing. Plugins are loaded dynamically and register themselves via a factory pattern. The media library plugin uses SQLite for indexing and file system watchers (inotify on Linux) for automatic updates. Artwork is fetched from embedded tags and online services (Last.fm, MusicBrainz) with a local cache. The build system uses autotools, premake5, and Xcode projects, with Docker-based CI for Linux, macOS, and Windows. Key data flows include: file opening via VFS abstraction → decoder plugin → decoded audio blocks (ring buffer) → DSP chain → output plugin. Metadata flows from file tags through a caching layer to the UI and media library. The player supports CUE sheets, gapless playback, and crossfading. External dependencies include GTK2/GTK3, libcurl, libsamplerate, and various codec libraries (libmpg123, libmad, libvorbis, libFLAC, etc.), many of which are bundled as source for portability.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
mattiasw/ExifReader ★ 997 106 APPLICATION

ExifReader is a mature, well-maintained JavaScript library for extracting metadata from image files. It supports a wide range of image formats including JPEG, TIFF, PNG, HEIC, AVIF, WebP, GIF, and JPEG XL. The library parses EXIF, IPTC, XMP, ICC profiles, JFIF, MPF, Photoshop, and camera maker notes (Canon, Pentax). It is designed for both browser and Node.js environments, with a modular architecture that allows custom builds via tree-shaking and feature flags to reduce bundle size. The library exposes a promise-based API (`load()` and `loadView()`) and includes advanced features like adaptive partial file loading (`length: 'auto'`), tag filtering, thumbnail extraction, and comprehensive metadata range reporting. Security is a strong focus: bounds checks, value budgeting, and protection against crafted/malformed files are present throughout the parsers.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ultimatepp/ultimatepp ★ 995 144 APPLICATION

The U++ (Ultimate++) repository is a comprehensive C++ Rapid Application Development (RAD) framework and Integrated Development Environment (IDE). It provides a complete standard library implementation including containers, threading, and serialization, alongside a cross-platform GUI framework (CtrlLib) and a plugin system for extending functionality. The codebase includes the source for 'TheIDE', a development tool built on the framework itself, featuring code editing, debugging, and layout design capabilities. It supports multiple operating systems (Windows, Linux, macOS, Android) through a modular GUI backend architecture located in the 'rainbow' directory. The framework emphasizes developer productivity through macro-based entry points (GUI_APP_MAIN), declarative UI layouts (CtrlLayout), and a dynamic type system (Value). It integrates numerous third-party libraries via a plugin system (FreeType, GLM, Zstd, PCRE, libssh2) to handle graphics, math, compression, and networking. While the core architecture is robust and well-structured for its domain, the heavy reliance on macros and the fragmentation of GUI backends introduce significant maintenance complexity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
reactiveui/splat ★ 992 139 APPLICATION

Splat is a cross-platform .NET utility library that provides a lean abstraction layer for dependency injection (service location), logging, bitmap loading, color handling, and application performance monitoring. It is part of the ReactiveUI ecosystem and is designed to work across .NET Framework, .NET Core, Xamarin, and modern .NET (including NativeAOT). The library offers multiple DI container adapters (Autofac, DryIoc, Ninject, SimpleInjector, Microsoft.Extensions.DependencyInjection), logging backends (Serilog, NLog, Log4Net, Microsoft.Extensions.Logging, Exceptionless), and bitmap loaders (SkiaSharp, WPF, Android native, Cocoa). The core service location includes several resolver implementations with different performance characteristics, including a modern lock-free generic-first resolver optimized for AOT. The logging abstraction supports allocation-free typed arguments and composable wrappers. While the library is well-tested and actively maintained, some adapter packages are marked as alpha/prototype and a few components rely on reflection or platform-specific code that may drift.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Losses/rune ★ 991 31 APPLICATION

Rune is a cross-platform music player and library manager built with a Rust backend and Flutter frontend. It provides local audio playback, metadata extraction, audio analysis (FFT, spectral features, MFCC, chroma), acoustic fingerprinting (MusicBrainz/Shazam-style), and a recommendation engine based on feature vectors. The system supports multi-device synchronization using Hybrid Logical Clocks (HLC) and chunked data transfer, LAN device discovery with TLS certificate pinning, and scrobbling to Last.fm, Libre.fm, and ListenBrainz. It includes a CLI tool, a Svelte-based authorization panel for remote server management, and a full GUI with cover art wall, lyrics display, dynamic mixes, and extensive theming. Architecturally, the project is a monorepo with 11 Rust crates and a Flutter app. The Rust backend (native/hub) handles database operations (SeaORM/SQLite), audio analysis, playback (rodio), networking (WebSocket/HTTP server), and sync. The Flutter frontend communicates via rinf (Rust-FFI message passing). The codebase demonstrates strong engineering practices: trait-based abstractions (FsIo, PlaybackStrategy, HLCRecord), macro-driven boilerplate reduction (collection_query!, parallel_media_files_processing!), and a clean separation of concerns between UI, business logic, and data layers. While primarily an application, it incorporates significant data engineering patterns in its sync and analysis subsystems, making it a hybrid project with reusable data infrastructure.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
opentibiabr/otclient ★ 527 512 APPLICATION

OTClient is a fully functional open-source alternative client for the MMORPG Tibia, implemented in C++20 and Lua. It is a cross-platform desktop application that renders a 2D tile-based game world using OpenGL, communicates with game servers via a custom TCP protocol (with encryption, compression, and version negotiation), and provides a rich Lua-scripted user interface built on a custom UI framework (OTML). The repository contains the complete client engine (graphics, networking, audio, input, platform abstraction), game-specific modules (action bars, minimap, market, NPC trade, skill wheel, etc.), and a significant set of bot/automation mods (cavebot, targetbot, loot system). The architecture follows a hybrid C++/Lua model where the core engine is in C++ and all game logic and UI are implemented in Lua, allowing extensive customization and module loading. While the codebase is generally well-structured with reusable components (event dispatcher, layout system, protocol abstraction), it also carries technical debt from accumulated version-specific conditionals, a large bot subsystem that may violate game terms of service, and some duplication between Lua modules.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
f-person/auto-dark-mode.nvim ★ 509 36 APPLICATION

auto-dark-mode.nvim is a Neovim plugin that automatically switches the editor's background between dark and light mode based on the host operating system's appearance setting. It supports macOS (via `defaults read`), Linux (via `dbus-send` with optional `dbus-monitor` for event-driven updates), Windows (via `reg.exe`), and WSL/OrbStack. The plugin polls the system at a configurable interval (default 3000ms) or uses D-Bus monitoring on Linux for immediate updates. It provides user-definable callback functions (`set_dark_mode` and `set_light_mode`) that default to changing Neovim's `background` option. The architecture is modular: `init.lua` handles OS detection and setup, `interval.lua` manages polling/monitoring and theme synchronization, `health.lua` provides a `:checkhealth` diagnostic with benchmarking, and `types.lua` defines type annotations. The code is well-structured with graceful fallbacks for older Neovim versions (0.7.x) and comprehensive error handling for edge cases like running as root or missing system utilities. It is a focused, single-purpose plugin with clean separation of concerns.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
conda/constructor ★ 499 181 APPLICATION

The conda/constructor repository is a CLI tool for building cross-platform installers from conda packages. It reads a `construct.yaml` configuration file, solves package specifications via conda's API, fetches packages, and generates installer artifacts: shell archives (`.sh`) for Linux/macOS, macOS `.pkg`, Windows `.exe` via NSIS, experimental Windows `.msi` via Briefcase, and Docker images. The architecture is modular with dedicated modules for each installer type, configuration validation (Pydantic + JSON Schema), signing abstraction, and utility functions. Production data flows: construct.yaml → validation → spec solving → package download → payload staging → installer generation + signing + hash outputs. External dependencies include conda, NSIS, Apple pkgbuild, signtool/AzureSignTool/codesign, and Docker. The codebase shows clear separation of concerns, automated CI/CD across platforms, and comprehensive example recipes, though it exhibits moderate coupling to conda internals and some deprecated configuration options.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
hiddify/hiddify-app ★ 33117 3089 APPLICATION

Hiddify is a cross-platform proxy/VPN client built with Flutter and a Go core (Sing-box). It supports multiple proxy protocols (Vless, Vmess, Reality, TUIC, Hysteria, WireGuard, SSH, etc.), subscription management, per-app proxy, routing rules, chain configuration, and advanced features like Warp, Psiphon, and TLS tricks. The architecture is a Flutter frontend communicating with a Go backend via gRPC/protobuf over a local socket. The app uses Riverpod for state management, drift for local SQLite storage, freezed for immutable models, and go_router for navigation. It has platform-specific native code for Android (Kotlin), iOS/macOS (Swift), Windows (C++), and Linux (C). The codebase is well-organized into feature modules, core infrastructure, and generated protobuf bindings. It is actively maintained with CI/CD pipelines and multi-platform releases, though it contains some commented-out code and generated file churn.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
flameshot-org/flameshot ★ 31062 2043 APPLICATION

Flameshot is a powerful cross-platform screenshot application written in C++ with Qt. It provides a GUI for capturing screen regions, annotating with various tools (arrows, circles, text, pixelation, etc.), and saving or uploading images to Imgur or other services. The architecture includes a command-line interface for scripting, a background daemon for system tray and global shortcuts, and a DBus interface for desktop integration. Internally, it is a monolithic desktop app with a modular tool system (each annotation tool is a separate class) and a config system with validation. The codebase is well-structured but carries platform-specific workarounds (Wayland, Windows registry hacks) and some legacy code, leading to medium technical drift. It is actively maintained with recent commits, though translations show signs of staleness.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
TomBadash/Mouser ★ 5296 208 APPLICATION

Mouser is an open-source, cross-platform (Windows, macOS, Linux) Logitech mouse remapper that serves as a local, telemetry-free alternative to Logitech Options+. It is a desktop application built with PySide6 and Qt Quick (QML) for the user interface, with platform-specific low-level mouse hooks (WH_MOUSE_LL on Windows, CGEventTap on macOS, evdev+uinput on Linux) to intercept and remap button presses and gestures. The core engine orchestrates per-app profile auto-switching, gesture recognition (swipe detection), a radial actions ring, DPI/SmartShift/haptic feedback control via HID++ protocol, and cross-platform shortcut injection. The application also includes an auto-updater, system tray integration, multi-language support (English, Simplified/Traditional Chinese), and a comprehensive test suite. While primarily a desktop application, it contains some research-like elements such as detailed HID++ protocol reverse engineering and a community-driven device catalog.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
productdevbook/port-killer ★ 5107 209 APPLICATION

PortKiller is a cross-platform desktop application for developers to monitor, manage, and kill processes listening on TCP ports. It provides a unified interface across macOS (SwiftUI), Windows (.NET 9 / WinUI 3), and Linux (Python GTK3 + Rust core) with features including real-time port scanning, process type detection, favorites and watched ports with notifications, two-stage process termination (SIGTERM → SIGKILL), Kubernetes port-forward management with auto-reconnect, and Cloudflare tunnel integration (quick and named tunnels). The application also includes an onboarding wizard, sponsor/contributor display, Sparkle-based auto-updates (macOS), and extensive keyboard shortcut support. The architecture is platform-native with shared patterns: each platform implements its own UI layer, port scanner, and process killer, while a Rust core library (`portkiller-core`) provides scanning and process termination for Linux. The macOS version uses an actor-based `PortScanner` and observable state management (`AppState`), the Windows version follows MVVM with a system tray mini-window, and the Linux version uses a GTK3 system tray indicator. All platforms share a common feature set but with varying completeness (macOS is the most feature-rich). External dependencies include `lsof`/`ss` (Linux), `kubectl`, `cloudflared`, `socat`, and system utilities for process enumeration. Key data flows: port scanning via platform-specific commands (lsof, ss, GetExtendedTcpTable) → parsing into `PortInfo` models → filtering/searching → display in tree/table views → user actions (kill, watch, favorite, forward, tunnel). Kubernetes port-forwards and Cloudflare tunnels are managed as subprocesses with monitoring loops for reconnection and log streaming. The application persists user preferences (favorites, watched ports, customizations) using platform-native storage (Defaults on macOS, JSON on Windows/Linux).

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
not-fl3/macroquad ★ 4612 425 APPLICATION

macroquad is a Rust game engine and graphics library inspired by raylib, providing a simple, immediate-mode API for 2D and 3D rendering, audio, input handling, and UI. The codebase is structured as a monolithic core library with several subcrates (particles, tiled, profiler, physics-platformer, macroquad_macro) that add specialized functionality. The architecture centers on a single-threaded game loop orchestrated by the `#[macroquad::main]` proc macro, with drawing batched via an internal OpenGL abstraction (miniquad). Key data flows include texture and font loading, immediate-mode UI widget rendering, and an experimental scene/coroutine system for game logic. The library is cross-platform (Windows, Linux, macOS, Web, Android, iOS) and emphasizes minimal dependencies and ease of use. While the core is tightly coupled, several subcrates and subsystems are well-encapsulated and demonstrate high craftsmanship.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
codedogQBY/ReadAny ★ 2353 183 APPLICATION

ReadAny is a full-featured, cross-platform e-book reader application with deep AI integration. It supports reading EPUB, PDF, MOBI, FB2, and other formats via the modified foliate-js engine, and provides text-to-speech, annotations, reading statistics, and cross-device sync (WebDAV, S3, LAN). The AI subsystem offers chat with RAG (semantic search over book content), context-aware tools, and execution of user-defined skills. The application follows a local-first architecture with robust offline capabilities and optional cloud sync. The codebase is structured as a pnpm monorepo with four main packages: 'core' (shared business logic, types, stores, AI, RAG, sync, stats, TTS), 'app' (Tauri desktop client with React+shadcn UI), 'app-expo' (Expo/React Native mobile client), and 'cli' (agent integration via MCP and managed shims). The application exhibits high craftsmanship in its platform abstraction layer, persistent store pattern, and hybrid search engine. However, there is significant platform-driven code duplication (desktop vs. mobile UI components) and a complex dependency graph with multiple patched packages, indicating some architectural debt.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
supreme-gg-gg/instagram-cli ★ 2133 143 APPLICATION

This is a monorepo housing two terminal-based Instagram clients: a modern TypeScript client using React Ink for a rich Terminal User Interface (TUI) and a legacy Python client using curses. The system provides a full-featured Instagram experience entirely within the terminal, including real-time messaging via MQTT, feed and story browsing, profile viewing, multi-account management, authentication (with 2FA/challenge support), and one-turn CLI commands for AI agent integration. It also incorporates LLM-based chat summarization (OpenAI compatible) and basic analytics in the Python client. Architecture is straightforward: a CLI entry point (Pastel for TS, Typer for Python) dispatches commands, with the TUI built from reusable Ink components (ScrollView, MessageList, InputBox, etc.) that manage state via React hooks and contexts. A mock system enables offline UI development. External dependencies include reverse-engineered Instagram APIs (instagram-private-api, instagram_mqtt) and multiple utility libraries. The dual-client structure and reliance on patched, unofficial APIs introduce maintenance risks, but the TypeScript client is well-crafted with clear separation of concerns, thorough component reuse, and thoughtful UX design for keyboard-driven terminal use.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
flexn-io/renative ★ 1954 188 APPLICATION

ReNative (rnv) is a cross-platform development CLI tool and framework that enables building applications for mobile (iOS, Android), web, TV (Tizen, webOS, Fire TV, Android TV, tvOS), desktop (macOS, Windows, Linux, Electron), wearables, and consoles from a single codebase. The system uses a monorepo architecture with modular packages: a core library (`@rnv/core`) providing configuration merging, plugin management, template injection, and task orchestration; platform-specific engines (`@rnv/engine-rn`, `@rnv/engine-rn-electron`, `@rnv/engine-rn-next`, etc.) that define build logic and native project templates; SDK packages (`@rnv/sdk-android`, `@rnv/sdk-apple`, `@rnv/sdk-tizen`, etc.) for platform-specific tooling like device management and code generation; and a CLI entry point (`rnv`) that dispatches commands to registered tasks. The primary data flow involves reading hierarchical configuration files (`renative.json`, `appConfigs/`), merging them with plugin definitions and engine defaults, injecting placeholders into platform templates (e.g., AndroidManifest.xml, Xcode project files, Webpack configs), and then invoking native build tools (Gradle, Xcode, Webpack, etc.) to produce deployable artifacts. External dependencies include React Native, Electron, Next.js, Webpack, and platform SDKs (Android SDK, Xcode, Tizen SDK, webOS SDK). The framework also includes a telemetry module, Docker integration, and a build hooks system for custom pre/post-publish scripts.

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